forked from Silverfish/proton-bridge
79 lines
3.6 KiB
Gherkin
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 | |