mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-12 13:46:43 +00:00
GODT-1650: sending with multiple addresses
This commit is contained in:
@ -24,13 +24,24 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/ProtonMail/proton-bridge/v2/internal/certs"
|
||||||
"github.com/ProtonMail/proton-bridge/v2/internal/user"
|
"github.com/ProtonMail/proton-bridge/v2/internal/user"
|
||||||
"github.com/cucumber/godog"
|
"github.com/cucumber/godog"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"gitlab.protontech.ch/go/liteapi/server/account"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
// Use the fast key generation for tests.
|
||||||
|
account.GenerateKey = FastGenerateKey
|
||||||
|
|
||||||
|
// Use the fast cert generation for tests.
|
||||||
|
certs.GenerateCert = FastGenerateCert
|
||||||
|
|
||||||
|
// Set the event period to 100 milliseconds for more responsive tests.
|
||||||
user.DefaultEventPeriod = 100 * time.Millisecond
|
user.DefaultEventPeriod = 100 * time.Millisecond
|
||||||
|
|
||||||
|
// Don't use jitter during tests.
|
||||||
user.DefaultEventJitter = 0
|
user.DefaultEventJitter = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ Feature: SMTP sending of plain messages
|
|||||||
Background:
|
Background:
|
||||||
Given there exists an account with username "user@pm.me" and password "password"
|
Given there exists an account with username "user@pm.me" and password "password"
|
||||||
And there exists an account with username "bridgetest@protonmail.com" and password "password"
|
And there exists an account with username "bridgetest@protonmail.com" and password "password"
|
||||||
And there exists an account with username "bridgetest2@protonmail.com" and password "password"
|
|
||||||
And bridge starts
|
And bridge starts
|
||||||
And the user logs in with username "user@pm.me" and password "password"
|
And the user logs in with username "user@pm.me" and password "password"
|
||||||
And user "user@pm.me" connects and authenticates SMTP client "1"
|
And user "user@pm.me" connects and authenticates SMTP client "1"
|
||||||
|
|||||||
@ -2,7 +2,6 @@ Feature: SMTP sending of plain messages
|
|||||||
Background:
|
Background:
|
||||||
Given there exists an account with username "user@pm.me" and password "password"
|
Given there exists an account with username "user@pm.me" and password "password"
|
||||||
And there exists an account with username "bridgetest@protonmail.com" and password "password"
|
And there exists an account with username "bridgetest@protonmail.com" and password "password"
|
||||||
And there exists an account with username "bridgetest2@protonmail.com" and password "password"
|
|
||||||
And bridge starts
|
And bridge starts
|
||||||
And the user logs in with username "user@pm.me" and password "password"
|
And the user logs in with username "user@pm.me" and password "password"
|
||||||
And user "user@pm.me" connects and authenticates SMTP client "1"
|
And user "user@pm.me" connects and authenticates SMTP client "1"
|
||||||
|
|||||||
75
tests/features/smtp/send/two_messages.feature
Normal file
75
tests/features/smtp/send/two_messages.feature
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
Feature: SMTP sending two messages
|
||||||
|
Background:
|
||||||
|
Given there exists an account with username "user@pm.me" and password "password"
|
||||||
|
And there exists an account with username "user-multi@pm.me" and password "password"
|
||||||
|
And the account "user-multi@pm.me" has additional address "user-multi-alias@pm.me"
|
||||||
|
And there exists an account with username "bridgetest@protonmail.com" and password "password"
|
||||||
|
And bridge starts
|
||||||
|
And the user logs in with username "user@pm.me" and password "password"
|
||||||
|
And the user logs in with username "user-multi@pm.me" and password "password"
|
||||||
|
And the user sets the address mode of "user-multi@pm.me" to "split"
|
||||||
|
|
||||||
|
Scenario: Send two messages in one connection
|
||||||
|
When user "user@pm.me" connects and authenticates SMTP client "1"
|
||||||
|
And SMTP client "1" sends the following message from "user@pm.me" to "bridgetest@protonmail.com":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
hello
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
|
When SMTP client "1" sends the following message from "user@pm.me" to "bridgetest@protonmail.com":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
world
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
|
|
||||||
|
Scenario: Send with two addresses of the same user in split mode
|
||||||
|
When user "user-multi@pm.me" connects and authenticates SMTP client "1" with address "user-multi@pm.me"
|
||||||
|
And user "user-multi@pm.me" connects and authenticates SMTP client "2" with address "user-multi-alias@pm.me"
|
||||||
|
And SMTP client "1" sends the following message from "user-multi@pm.me" to "bridgetest@protonmail.com>":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user-multi@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
hello
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
|
When SMTP client "2" sends the following message from "user-multi@pm.me" to "bridgetest@protonmail.com>":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user-multi@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
world
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
|
|
||||||
|
Scenario: Send with two separate users
|
||||||
|
When user "user@pm.me" connects and authenticates SMTP client "1"
|
||||||
|
And user "user-multi@pm.me" connects and authenticates SMTP client "2"
|
||||||
|
When SMTP client "1" sends the following message from "user@pm.me" to "bridgetest@protonmail.com>":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
hello
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
|
When SMTP client "2" sends the following message from "user-multi@pm.me" to "bridgetest@protonmail.com>":
|
||||||
|
"""
|
||||||
|
From: Bridge Test <user-multi@pm.me>
|
||||||
|
To: Internal Bridge <bridgetest@protonmail.com>
|
||||||
|
|
||||||
|
world
|
||||||
|
|
||||||
|
"""
|
||||||
|
Then it succeeds
|
||||||
@ -1,14 +0,0 @@
|
|||||||
package tests
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/ProtonMail/proton-bridge/v2/internal/certs"
|
|
||||||
"gitlab.protontech.ch/go/liteapi/server/account"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Use the fast key generation for tests.
|
|
||||||
account.GenerateKey = FastGenerateKey
|
|
||||||
|
|
||||||
// Use the fast cert generation for tests.
|
|
||||||
certs.GenerateCert = FastGenerateCert
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user