Files
proton-bridge/tests/features/user/sync.feature
James Houlahan d066e32719 GODT-1986: Handle case where an address has no decryption entities
It's possible (but very rare, I don't think proton still allows it)
for an address to have no keys. If we try to load the address keyring
for such an address, this change logs a warning that no decryption
entities were found in the unlocked keyring.

It bumps liteapi to a version that does not return an error when no
keys could be unlocked.
2022-11-16 13:48:30 +01:00

79 lines
3.7 KiB
Gherkin

Feature: Bridge can fully sync an account
Background:
Given there exists an account with username "user@pm.me" and password "password"
And the account "user@pm.me" has the following custom mailboxes:
| name | type |
| one | folder |
| two | folder |
| three | label |
And the address "user@pm.me" of account "user@pm.me" has the following messages in "one":
| from | to | subject | unread |
| a@pm.me | a@pm.me | one | true |
| b@pm.me | b@pm.me | two | false |
And the address "user@pm.me" of account "user@pm.me" has the following messages in "two":
| from | to | subject | unread |
| a@pm.me | a@pm.me | one | true |
| b@pm.me | b@pm.me | 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@pm.me" and password "password"
Then bridge sends sync started and finished events for user "user@pm.me"
When bridge restarts
And user "user@pm.me" 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@pm.me" and password "password"
And user "user@pm.me" finishes syncing
And bridge stops
And the user deletes the gluon files
And bridge starts
When user "user@pm.me" 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@pm.me" has additional address "alias@pm.me"
And the account "user@pm.me" has the following custom mailboxes:
| name | type |
| encrypted | folder |
And the address "alias@pm.me" of account "user@pm.me" has the following messages in "encrypted":
| from | to | subject |
| a@pm.me | a@pm.me | no key |
| b@pm.me | b@pm.me | no key |
And the address "alias@pm.me" of account "user@pm.me" has no keys
When the user logs in with username "user@pm.me" and password "password"
And user "user@pm.me" finishes syncing
When user "user@pm.me" connects and authenticates IMAP client "1"
Then IMAP client "1" eventually sees the following messages in "Folders/encrypted":
| from | to | subject | mime-type |
| a@pm.me | a@pm.me | no key | multipart/encrypted |
| b@pm.me | b@pm.me | no key | multipart/encrypted |