Files
proton-bridge/tests/features/user/addressmode.feature
2022-12-13 10:28:59 +01:00

180 lines
10 KiB
Gherkin

Feature: Address mode
Background:
Given there exists an account with username "user" and password "password"
And the account "user" has additional address "alias@[domain]"
And the account "user" has the following custom mailboxes:
| name | type |
| one | folder |
| two | folder |
And the address "user@[domain]" of account "user" has the following messages in "one":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
And the address "alias@[domain]" of account "user" has the following messages in "two":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
And bridge starts
And the user logs in with username "user" and password "password"
And user "user" finishes syncing
Scenario: The user is in combined mode
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
Then IMAP client "1" sees the following messages in "Folders/one":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
And IMAP client "1" sees the following messages in "Folders/two":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
And IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
Then IMAP client "2" sees the following messages in "Folders/one":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
And IMAP client "2" sees the following messages in "Folders/two":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
And IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Scenario: The user is in split mode
Given the user sets the address mode of user "user" to "split"
And user "user" finishes syncing
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
Then IMAP client "1" sees the following messages in "Folders/one":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
And IMAP client "1" sees 0 messages in "Folders/two"
And IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
Then IMAP client "2" sees 0 messages in "Folders/one"
And IMAP client "2" sees the following messages in "Folders/two":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
And IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Scenario: The user switches from combined to split mode and back
Given the user sets the address mode of user "user" to "split"
And user "user" finishes syncing
And the user sets the address mode of user "user" to "combined"
And user "user" finishes syncing
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Scenario: The user adds an address while in combined mode
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Given the account "user" has additional address "other@[domain]"
And bridge sends an address created event for user "user"
When user "user" connects and authenticates IMAP client "3" with address "other@[domain]"
Then IMAP client "3" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Scenario: The user adds an address while in split mode
Given the user sets the address mode of user "user" to "split"
And user "user" finishes syncing
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
And IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
And IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Given the account "user" has additional address "other@[domain]"
And bridge sends an address created event for user "user"
When user "user" connects and authenticates IMAP client "3" with address "other@[domain]"
Then IMAP client "3" eventually sees 0 messages in "All Mail"
Scenario: The user deletes an address while in combined mode
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Given the account "user" no longer has additional address "alias@[domain]"
And bridge sends an address deleted event for user "user"
When user "user" connects IMAP client "3"
Then IMAP client "3" cannot authenticate with address "alias@[domain]"
Scenario: The user deletes an address while in split mode
Given the user sets the address mode of user "user" to "split"
And user "user" finishes syncing
When user "user" connects and authenticates IMAP client "1" with address "user@[domain]"
And IMAP client "1" sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
When user "user" connects and authenticates IMAP client "2" with address "alias@[domain]"
And IMAP client "2" sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
Given the account "user" no longer has additional address "alias@[domain]"
And bridge sends an address deleted event for user "user"
When user "user" connects IMAP client "3"
Then IMAP client "3" cannot authenticate with address "alias@[domain]"
Scenario: The user makes an alias the primary address while in combined mode
Scenario: The user makes an alias the primary address while in split mode