mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-11 13:16:53 +00:00
There was a race condition internal to the go-smtp library. In order to fix it, a version bump was necessary. However, this significantly changed the library interface.
72 lines
2.2 KiB
Gherkin
72 lines
2.2 KiB
Gherkin
Feature: SMTP initiation
|
|
Background:
|
|
Given there exists an account with username "user@pm.me" and password "password"
|
|
And bridge starts
|
|
And the user logs in with username "user@pm.me" and password "password"
|
|
When user "user@pm.me" connects and authenticates SMTP client "1"
|
|
|
|
Scenario: Send without first announcing FROM and TO
|
|
When SMTP client "1" sends DATA:
|
|
"""
|
|
Subject: test
|
|
"""
|
|
Then it fails with error "Missing RCPT TO command"
|
|
|
|
Scenario: Reset is the same as without FROM and TO
|
|
When SMTP client "1" sends MAIL FROM "<user@pm.me>"
|
|
Then it succeeds
|
|
When SMTP client "1" sends RCPT TO "<user@pm.me>"
|
|
Then it succeeds
|
|
When SMTP client "1" sends RSET
|
|
Then it succeeds
|
|
When SMTP client "1" sends DATA:
|
|
"""
|
|
Subject: test
|
|
"""
|
|
Then it fails with error "Missing RCPT TO command"
|
|
|
|
Scenario: Send without FROM
|
|
When SMTP client "1" sends RCPT TO "<user@pm.me>"
|
|
Then it fails with error "Missing MAIL FROM command"
|
|
|
|
Scenario: Send without TO
|
|
When SMTP client "1" sends MAIL FROM "<user@pm.me>"
|
|
Then it succeeds
|
|
When SMTP client "1" sends DATA:
|
|
"""
|
|
Subject: test
|
|
"""
|
|
Then it fails with error "Missing RCPT TO command"
|
|
|
|
Scenario: Send with empty FROM
|
|
When SMTP client "1" sends the following message from "<>" to "bridgetest@protonmail.com":
|
|
"""
|
|
To: Internal Bridge <bridgetest@protonmail.com>
|
|
|
|
this should fail
|
|
"""
|
|
Then it fails
|
|
|
|
Scenario: Send with empty TO
|
|
When SMTP client "1" sends MAIL FROM "<user@pm.me>"
|
|
Then it succeeds
|
|
When SMTP client "1" sends RCPT TO "<>"
|
|
Then it succeeds
|
|
When SMTP client "1" sends DATA:
|
|
"""
|
|
Subject: test
|
|
"""
|
|
Then it fails with error "invalid recipient"
|
|
|
|
Scenario: Allow BODY parameter of MAIL FROM command
|
|
When SMTP client "1" sends MAIL FROM "<user@pm.me> BODY=7BIT"
|
|
Then it succeeds
|
|
|
|
Scenario: FROM not owned by user
|
|
When SMTP client "1" sends the following message from "other@pm.me" to "bridgetest@protonmail.com":
|
|
"""
|
|
From: Bridge Test <user@pm.me>
|
|
To: Internal Bridge <bridgetest@protonmail.com>
|
|
|
|
this should fail
|
|
""" |