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

79 lines
3.6 KiB
Gherkin

Feature: Bridge can fully sync an account
Background:
Given there exists an account with username "user" and password "password"
And the account "user" has the following custom mailboxes:
| name | type |
| one | folder |
| two | folder |
| three | label |
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 "user@[domain]" of account "user" has the following messages in "two":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
And bridge starts
Scenario: The account is synced when the user logs in and persists across bridge restarts
When the user logs in with username "user" and password "password"
Then bridge sends sync started and finished events for user "user"
When bridge restarts
And user "user" connects and authenticates IMAP client "1"
Then IMAP client "1" sees the following mailbox info:
| name | total | unread |
| INBOX | 0 | 0 |
| Drafts | 0 | 0 |
| Sent | 0 | 0 |
| Starred | 0 | 0 |
| Archive | 0 | 0 |
| Spam | 0 | 0 |
| Trash | 0 | 0 |
| All Mail | 4 | 2 |
| Folders | 0 | 0 |
| Folders/one | 2 | 1 |
| Folders/two | 2 | 1 |
| Labels | 0 | 0 |
| Labels/three | 0 | 0 |
Scenario: If the gluon files are deleted, the account is synced again
Given the user logs in with username "user" and password "password"
And user "user" finishes syncing
And bridge stops
And the user deletes the gluon files
And bridge starts
When user "user" connects and authenticates IMAP client "1"
Then IMAP client "1" eventually sees the following mailbox info:
| name | total | unread |
| INBOX | 0 | 0 |
| Drafts | 0 | 0 |
| Sent | 0 | 0 |
| Starred | 0 | 0 |
| Archive | 0 | 0 |
| Spam | 0 | 0 |
| Trash | 0 | 0 |
| All Mail | 4 | 2 |
| Folders | 0 | 0 |
| Folders/one | 2 | 1 |
| Folders/two | 2 | 1 |
| Labels | 0 | 0 |
| Labels/three | 0 | 0 |
Scenario: If an address has no keys, the account is still synced
Given the account "user" has additional address "alias@[domain]"
And the account "user" has the following custom mailboxes:
| name | type |
| encrypted | folder |
And the address "alias@[domain]" of account "user" has the following messages in "encrypted":
| from | to | subject |
| a@[domain] | a@[domain] | no key |
| b@[domain] | b@[domain] | no key |
And the address "alias@[domain]" of account "user" has no keys
When the user logs in with username "user" and password "password"
And user "user" finishes syncing
When user "user" connects and authenticates IMAP client "1"
Then IMAP client "1" eventually sees the following messages in "Folders/encrypted":
| from | to | subject | mime-type |
| a@[domain] | a@[domain] | no key | multipart/encrypted |
| b@[domain] | b@[domain] | no key | multipart/encrypted |