mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
190 lines
5.8 KiB
Gherkin
190 lines
5.8 KiB
Gherkin
Feature: IMAP create mailbox
|
|
Background:
|
|
Given there exists an account with username "[user:user]" and password "password"
|
|
And the account "[user:user]" has the following custom mailboxes:
|
|
| name | type |
|
|
| f1 | folder |
|
|
| f2 | folder |
|
|
| l1 | label |
|
|
| l2 | label |
|
|
And bridge starts
|
|
And the user logs in with username "[user:user]" and password "password"
|
|
And user "[user:user]" finishes syncing
|
|
And user "[user:user]" connects and authenticates IMAP client "1"
|
|
|
|
Scenario: Create folder
|
|
When IMAP client "1" creates "Folders/mbox"
|
|
Then IMAP client "1" sees "Folders/mbox"
|
|
|
|
Scenario: Create label
|
|
When IMAP client "1" creates "Labels/mbox"
|
|
Then IMAP client "1" sees "Labels/mbox"
|
|
|
|
Scenario: Creating folder or label with existing name is not possible
|
|
When IMAP client "1" creates "Folders/f1"
|
|
Then it fails
|
|
And bridge reports a message with "Failed to create mailbox"
|
|
When IMAP client "1" creates "Folders/f2"
|
|
Then it fails
|
|
And bridge reports a message with "Failed to create mailbox"
|
|
When IMAP client "1" creates "Labels/l1"
|
|
Then it fails
|
|
And bridge reports a message with "Failed to create mailbox"
|
|
When IMAP client "1" creates "Labels/l2"
|
|
Then it fails
|
|
And bridge reports a message with "Failed to create mailbox"
|
|
When IMAP client "1" creates "Folders/f3"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Labels/l3"
|
|
Then it succeeds
|
|
Then IMAP client "1" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f2 |
|
|
| Folders/f3 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|
|
| Labels/l3 |
|
|
|
|
Scenario: Creating subfolders is possible and they persist after resync
|
|
When IMAP client "1" creates "Folders/f1/f11"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f1/f12"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f2/f21"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f2/f22"
|
|
Then it succeeds
|
|
Then IMAP client "1" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f1/f11 |
|
|
| Folders/f1/f12 |
|
|
| Folders/f2 |
|
|
| Folders/f2/f21 |
|
|
| Folders/f2/f22 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|
|
When user "[user:user]" is deleted
|
|
And the user logs in with username "[user:user]" and password "password"
|
|
And user "[user:user]" finishes syncing
|
|
And user "[user:user]" connects and authenticates IMAP client "2"
|
|
Then IMAP client "2" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f1/f11 |
|
|
| Folders/f1/f12 |
|
|
| Folders/f2 |
|
|
| Folders/f2/f21 |
|
|
| Folders/f2/f22 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|
|
|
|
Scenario: Changing folder parent is possible and it persists after resync
|
|
When IMAP client "1" creates "Folders/f1/f11"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f1/f12"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f2/f21"
|
|
Then it succeeds
|
|
When IMAP client "1" creates "Folders/f2/f22"
|
|
Then it succeeds
|
|
Then IMAP client "1" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f1/f11 |
|
|
| Folders/f1/f12 |
|
|
| Folders/f2 |
|
|
| Folders/f2/f21 |
|
|
| Folders/f2/f22 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|
|
When IMAP client "1" renames "Folders/f1/f11" to "Folders/f2/f11"
|
|
Then it succeeds
|
|
When IMAP client "1" renames "Folders/f1/f12" to "Folders/f2/f12"
|
|
Then it succeeds
|
|
Then IMAP client "1" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f2 |
|
|
| Folders/f2/f11 |
|
|
| Folders/f2/f12 |
|
|
| Folders/f2/f21 |
|
|
| Folders/f2/f22 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|
|
When user "[user:user]" is deleted
|
|
And the user logs in with username "[user:user]" and password "password"
|
|
And user "[user:user]" finishes syncing
|
|
And user "[user:user]" connects and authenticates IMAP client "2"
|
|
Then IMAP client "2" sees the following mailbox info:
|
|
| name |
|
|
| INBOX |
|
|
| Drafts |
|
|
| Sent |
|
|
| Starred |
|
|
| Archive |
|
|
| Spam |
|
|
| Trash |
|
|
| All Mail |
|
|
| Folders |
|
|
| Folders/f1 |
|
|
| Folders/f2 |
|
|
| Folders/f2/f11 |
|
|
| Folders/f2/f12 |
|
|
| Folders/f2/f21 |
|
|
| Folders/f2/f22 |
|
|
| Labels |
|
|
| Labels/l1 |
|
|
| Labels/l2 |
|