chore: merge branch release/perth_narrows to devel

This commit is contained in:
Jakub
2023-02-15 13:13:08 +01:00
126 changed files with 4339 additions and 1484 deletions

View File

@ -37,7 +37,7 @@ Feature: IMAP create mailbox
Then it succeeds
When IMAP client "1" creates "Labels/l3"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -65,7 +65,7 @@ Feature: IMAP create mailbox
Then it succeeds
When IMAP client "1" creates "Folders/f2/f22"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -89,7 +89,7 @@ Feature: IMAP create mailbox
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:
Then IMAP client "2" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -119,7 +119,7 @@ Feature: IMAP create mailbox
Then it succeeds
When IMAP client "1" creates "Folders/f2/f22"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -143,7 +143,7 @@ Feature: IMAP create mailbox
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:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -167,7 +167,7 @@ Feature: IMAP create mailbox
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:
Then IMAP client "2" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |

View File

@ -7,7 +7,7 @@ Feature: IMAP Hide All Mail
And user "[user:user]" connects and authenticates IMAP client "1"
Scenario: Hide All Mail Mailbox
Given IMAP client "1" sees the following mailbox info:
Given IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -20,7 +20,7 @@ Feature: IMAP Hide All Mail
| Folders |
| Labels |
When the user hides All Mail
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -32,7 +32,7 @@ Feature: IMAP Hide All Mail
| Folders |
| Labels |
When the user shows All Mail
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |

View File

@ -9,7 +9,7 @@ Feature: IMAP list mailboxes
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"
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name |
| INBOX |
| Drafts |
@ -36,4 +36,27 @@ Feature: IMAP list mailboxes
Then IMAP client "1" counts 20 mailboxes under "Folders"
And IMAP client "1" counts 60 mailboxes under "Labels"
Then IMAP client "2" counts 20 mailboxes under "Folders"
And IMAP client "2" counts 60 mailboxes under "Labels"
And IMAP client "2" counts 60 mailboxes under "Labels"
Scenario: List with scheduled mail
Given there exists an account with username "[user:user]" and password "password"
And the address "[user:user]@[domain]" of account "[user:user]" has the following messages in "Scheduled":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | sch | false |
When 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"
Then IMAP client "1" eventually sees the following mailbox info:
| name | total |
| INBOX | 0 |
| Drafts | 0 |
| Sent | 0 |
| Starred | 0 |
| Archive | 0 |
| Spam | 0 |
| Trash | 0 |
| All Mail | 1 |
| Folders | 0 |
| Labels | 0 |
| Scheduled | 1 |

View File

@ -17,22 +17,22 @@ Feature: IMAP copy messages
Scenario: Copy message to label
When IMAP client "1" copies the message with subject "foo" from "INBOX" to "Labels/label"
And it succeeds
Then IMAP client "1" sees the following messages in "INBOX":
Then IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "1" sees the following messages in "Labels/label":
And IMAP client "1" eventually sees the following messages in "Labels/label":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
Scenario: Copy all messages to label
When IMAP client "1" copies all messages from "INBOX" to "Labels/label"
And it succeeds
Then IMAP client "1" sees the following messages in "INBOX":
Then IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "1" sees the following messages in "Labels/label":
And IMAP client "1" eventually sees the following messages in "Labels/label":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
@ -43,14 +43,14 @@ Feature: IMAP copy messages
Then IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "1" sees the following messages in "Folders/mbox":
And IMAP client "1" eventually sees the following messages in "Folders/mbox":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
Scenario: Copy all messages to folder does move
When IMAP client "1" copies all messages from "INBOX" to "Folders/mbox"
And it succeeds
Then IMAP client "1" sees the following messages in "Folders/mbox":
Then IMAP client "1" eventually sees the following messages in "Folders/mbox":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
@ -66,7 +66,7 @@ Feature: IMAP copy messages
And IMAP client "1" eventually sees 0 messages in "Sent"
Scenario: Copy message from All mail moves from the original location
Given IMAP client "1" sees the following messages in "INBOX":
Given IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |

View File

@ -12,10 +12,10 @@ Feature: IMAP create messages
| from | to | subject | body |
| john.doe@email.com | [user:user]@[domain] | foo | bar |
Then it succeeds
And IMAP client "1" sees the following messages in "INBOX":
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | body |
| john.doe@email.com | [user:user]@[domain] | foo | bar |
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | body |
| john.doe@email.com | [user:user]@[domain] | foo | bar |
@ -37,10 +37,10 @@ Feature: IMAP create messages
| from | to | subject | body |
| [user:user]@[domain] | john.doe@email.com | foo | bar |
Then it succeeds
And IMAP client "1" sees the following messages in "Sent":
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| [user:user]@[domain] | john.doe@email.com | foo | bar |
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | body |
| [user:user]@[domain] | john.doe@email.com | foo | bar |
@ -49,10 +49,10 @@ Feature: IMAP create messages
| from | to | subject | body |
| [alias:alias]@[domain] | john.doe@email.com | foo | bar |
Then it succeeds
And IMAP client "1" sees the following messages in "Sent":
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| [alias:alias]@[domain] | john.doe@email.com | foo | bar |
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | body |
| [alias:alias]@[domain] | john.doe@email.com | foo | bar |
@ -61,10 +61,10 @@ Feature: IMAP create messages
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
Then it succeeds
And IMAP client "1" sees the following messages in "INBOX":
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
@ -73,10 +73,10 @@ Feature: IMAP create messages
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
Then it succeeds
And IMAP client "1" sees the following messages in "Sent":
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
@ -85,7 +85,7 @@ Feature: IMAP create messages
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
And it succeeds
And IMAP client "1" sees the following messages in "Sent":
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
And it succeeds
@ -93,7 +93,7 @@ Feature: IMAP create messages
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
And it succeeds
And IMAP client "1" sees the following messages in "Sent":
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| john.doe@email.com | john.doe2@[domain] | foo | bar |
| john.doe@email.com | john.doe2@[domain] | foo | bar |

View File

@ -6,6 +6,7 @@ Feature: IMAP remove messages from mailbox
| mbox | folder |
| label | label |
And the address "[user:user]@[domain]" of account "[user:user]" has 10 messages in "Folders/mbox"
And the address "[user:user]@[domain]" of account "[user:user]" has 1 messages in "Scheduled"
And bridge starts
And the user logs in with username "[user:user]" and password "password"
And user "[user:user]" finishes syncing
@ -18,14 +19,14 @@ Feature: IMAP remove messages from mailbox
Then IMAP client "1" sees that message 2 has the flag "\Deleted"
When IMAP client "1" expunges
And it succeeds
Then IMAP client "1" sees 9 messages in "Folders/mbox"
Then IMAP client "1" eventually sees 9 messages in "Folders/mbox"
Scenario: Mark all messages as deleted and EXPUNGE
When IMAP client "1" selects "Folders/mbox"
And IMAP client "1" marks all messages as deleted
And IMAP client "1" expunges
And it succeeds
Then IMAP client "1" sees 0 messages in "Folders/mbox"
Then IMAP client "1" eventually sees 0 messages in "Folders/mbox"
Scenario: Mark messages as undeleted and EXPUNGE
When IMAP client "1" selects "Folders/mbox"
@ -37,11 +38,18 @@ Feature: IMAP remove messages from mailbox
And it succeeds
When IMAP client "1" expunges
And it succeeds
Then IMAP client "1" sees 2 messages in "Folders/mbox"
Then IMAP client "1" eventually sees 2 messages in "Folders/mbox"
Scenario: Not possible to delete from All Mail and expunge does nothing
When IMAP client "1" selects "All Mail"
And IMAP client "1" marks message 2 as deleted
And it succeeds
And IMAP client "1" expunges
Then it fails
Then it fails
Scenario: Not possible to delete from Scheduled and expunge does nothing
When IMAP client "1" selects "Scheduled"
And IMAP client "1" marks message 1 as deleted
Then it succeeds
And IMAP client "1" expunges
Then it fails

View File

@ -20,14 +20,14 @@ Feature: IMAP remove messages from Trash
Then it succeeds
When IMAP client "1" marks the message with subject "foo" as deleted
Then it succeeds
And IMAP client "1" sees 2 messages in "Trash"
And IMAP client "1" sees 2 messages in "All Mail"
And IMAP client "1" sees 1 messages in "Labels/label"
And IMAP client "1" eventually sees 2 messages in "Trash"
And IMAP client "1" eventually sees 2 messages in "All Mail"
And IMAP client "1" eventually sees 1 messages in "Labels/label"
When IMAP client "1" expunges
Then it succeeds
And IMAP client "1" sees 1 messages in "Trash"
And IMAP client "1" sees 2 messages in "All Mail"
And IMAP client "1" sees 1 messages in "Labels/label"
And IMAP client "1" eventually sees 1 messages in "Trash"
And IMAP client "1" eventually sees 2 messages in "All Mail"
And IMAP client "1" eventually sees 1 messages in "Labels/label"
Scenario Outline: Message in Trash only is permanently deleted
Given the address "[user:user]@[domain]" of account "[user:user]" has the following messages in "Trash":
@ -41,9 +41,9 @@ Feature: IMAP remove messages from Trash
And IMAP client "1" selects "Trash"
When IMAP client "1" marks the message with subject "foo" as deleted
Then it succeeds
And IMAP client "1" sees 2 messages in "Trash"
And IMAP client "1" sees 2 messages in "All Mail"
And IMAP client "1" eventually sees 2 messages in "Trash"
And IMAP client "1" eventually sees 2 messages in "All Mail"
When IMAP client "1" expunges
Then it succeeds
And IMAP client "1" sees 1 messages in "Trash"
And IMAP client "1" eventually sees 1 messages in "Trash"
And IMAP client "1" eventually sees 1 messages in "All Mail"

View File

@ -15,7 +15,7 @@ Feature: IMAP Draft messages
Then IMAP client "1" eventually sees the following messages in "Drafts":
| body |
| This is a dra |
And IMAP client "1" sees 1 messages in "Drafts"
And IMAP client "1" eventually sees 1 messages in "Drafts"
Scenario: Draft edited locally
When IMAP client "1" marks message 1 as deleted
@ -33,7 +33,7 @@ Feature: IMAP Draft messages
And IMAP client "1" eventually sees the following messages in "Drafts":
| to | subject | body |
| someone@example.com | Basic Draft | This is a draft, but longer |
And IMAP client "1" sees 1 messages in "Drafts"
And IMAP client "1" eventually sees 1 messages in "Drafts"
Scenario: Draft edited remotely
When the following fields were changed in draft 1 for address "[user:user]@[domain]" of account "[user:user]":
@ -42,12 +42,12 @@ Feature: IMAP Draft messages
Then IMAP client "1" eventually sees the following messages in "Drafts":
| to | subject | body |
| someone@example.com | Basic Draft | This is a draft body, but longer |
And IMAP client "1" sees 1 messages in "Drafts"
And IMAP client "1" eventually sees 1 messages in "Drafts"
Scenario: Draft moved to trash remotely
When draft 1 for address "[user:user]@[domain]" of account "[user:user] was moved to trash
Then IMAP client "1" eventually sees the following messages in "Trash":
| body |
| This is a dra |
And IMAP client "1" sees 0 messages in "Drafts"
And IMAP client "1" eventually sees 0 messages in "Drafts"

View File

@ -13,7 +13,7 @@ Feature: IMAP Fetch
And user "[user:user]" connects and authenticates IMAP client "1"
Scenario: Fetch very old message
Given IMAP client "1" sees the following messages in "INBOX":
Given IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | date |
| john.doe@mail.com | [user:user]@[domain] | foo | 13 Aug 82 00:00 +0000 |
Then IMAP client "1" sees header "X-Original-Date: Sun, 13 Jul 1969 00:00:00 +0000" in message with subject "foo" in "INBOX"
@ -21,6 +21,6 @@ Feature: IMAP Fetch
Scenario: Fetch from deleted cache
When the user deletes the gluon cache
Then IMAP client "1" sees the following messages in "INBOX":
Then IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | date |
| john.doe@mail.com | [user:user]@[domain] | foo | 13 Aug 82 00:00 +0000 |

View File

@ -104,7 +104,7 @@ Feature: IMAP import messages
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| foo@example.com | bridgetest@pm.test | Hello | Hello |
And IMAP client "1" sees 0 messages in "Inbox"
And IMAP client "1" eventually sees 0 messages in "Inbox"
Scenario: Import non-received message to Inbox
When IMAP client "1" appends the following message to "Inbox":
@ -119,7 +119,7 @@ Feature: IMAP import messages
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | body |
| foo@example.com | bridgetest@pm.test | Hello | Hello |
And IMAP client "1" sees 0 messages in "Sent"
And IMAP client "1" eventually sees 0 messages in "Sent"
Scenario: Import non-received message to Sent
When IMAP client "1" appends the following message to "Sent":
@ -134,7 +134,7 @@ Feature: IMAP import messages
And IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | body |
| foo@example.com | bridgetest@pm.test | Hello | Hello |
And IMAP client "1" sees 0 messages in "Inbox"
And IMAP client "1" eventually sees 0 messages in "Inbox"
Scenario Outline: Import message without sender to <mailbox>
When IMAP client "1" appends the following message to "<mailbox>":

View File

@ -16,6 +16,9 @@ Feature: IMAP move messages
And the address "[user:user]@[domain]" of account "[user:user]" has the following messages in "Sent":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | bax | false |
And the address "[user:user]@[domain]" of account "[user:user]" has the following messages in "Scheduled":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | sch | false |
And bridge starts
And the user logs in with username "[user:user]" and password "password"
And user "[user:user]" finishes syncing
@ -24,11 +27,11 @@ Feature: IMAP move messages
Scenario: Move message from folder to label (keeps in folder)
When IMAP client "1" moves the message with subject "foo" from "INBOX" to "Labels/label"
And it succeeds
And IMAP client "1" sees the following messages in "INBOX":
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "1" sees the following messages in "Labels/label":
And IMAP client "1" eventually sees the following messages in "Labels/label":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
@ -41,28 +44,51 @@ Feature: IMAP move messages
And IMAP client "target" selects "Labels/label"
And IMAP clients "source" and "target" move message with subject "foo" of "[user:user]" to "Labels/label" by APPEND DELETE EXPUNGE
And it succeeds
Then IMAP client "source" sees the following messages in "INBOX":
Then IMAP client "source" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "target" sees the following messages in "Labels/label":
And IMAP client "target" eventually sees the following messages in "Labels/label":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
Scenario: Move message from label to folder
When IMAP client "1" moves the message with subject "baz" from "Labels/label2" to "Folders/mbox"
And it succeeds
And IMAP client "1" sees the following messages in "Folders/mbox":
And IMAP client "1" eventually sees the following messages in "Folders/mbox":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | baz | false |
And IMAP client "1" sees 0 messages in "Labels/label2"
And IMAP client "1" eventually sees 0 messages in "Labels/label2"
Scenario: Move message from label to label
When IMAP client "1" moves the message with subject "baz" from "Labels/label2" to "Labels/label"
And it succeeds
And IMAP client "1" sees the following messages in "Labels/label":
And IMAP client "1" eventually sees the following messages in "Labels/label":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | baz | false |
And IMAP client "1" sees 0 messages in "Labels/label2"
And IMAP client "1" eventually sees 0 messages in "Labels/label2"
Scenario: Move message from system label to system label
When IMAP client "1" moves the message with subject "foo" from "INBOX" to "Trash"
And it succeeds
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| jane.doe@mail.com | name@[domain] | bar | true |
And IMAP client "1" eventually sees the following messages in "Trash":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
Scenario: Move message from folder to system label
When IMAP client "1" moves the message with subject "baz" from "Labels/label2" to "Folders/mbox"
And it succeeds
And IMAP client "1" eventually sees the following messages in "Folders/mbox":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | baz | false |
When IMAP client "1" moves the message with subject "baz" from "Folders/mbox" to "Trash"
And it succeeds
And IMAP client "1" eventually sees 0 messages in "Folders/mbox"
And IMAP client "1" eventually sees the following messages in "Trash":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | baz | false |
Scenario: Move message from system label to system label
When IMAP client "1" moves the message with subject "foo" from "INBOX" to "Trash"
@ -90,14 +116,23 @@ Feature: IMAP move messages
Scenario: Move message from All Mail is not possible
When IMAP client "1" moves the message with subject "baz" from "All Mail" to "Folders/folder"
Then it fails
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |
| john.doe@mail.com | [user:user]@[domain] | baz | false |
| john.doe@mail.com | [user:user]@[domain] | bax | false |
| john.doe@mail.com | [user:user]@[domain] | sch | false |
Scenario: Move message from Inbox to Sent is not possible
Scenario: Move message from Scheduled is not possible
Given test skips reporter checks
When IMAP client "1" moves the message with subject "sch" from "Scheduled" to "Inbox"
Then it fails
And IMAP client "1" eventually sees the following messages in "Scheduled":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | sch | false |
Scenario: Move message from Inbox to Sent is not possible
Given test skips reporter checks
When IMAP client "1" moves the message with subject "bar" from "Inbox" to "Sent"
Then it fails
@ -105,4 +140,4 @@ Feature: IMAP move messages
Scenario: Move message from Sent to Inbox is not possible
Given test skips reporter checks
When IMAP client "1" moves the message with subject "bax" from "Sent" to "Inbox"
Then it fails
Then it fails

View File

@ -34,8 +34,8 @@ Feature: IMAP move messages by append and delete (without MOVE support, e.g., Ou
And IMAP client "source" selects "<srcMailbox>"
And IMAP client "target" selects "<dstMailbox>"
When IMAP clients "source" and "target" move message with subject "subj2" of "[user:user]" to "<dstMailbox>" by <order>
And IMAP client "source" sees 1 messages in "<srcMailbox>"
And IMAP client "source" sees the following messages in "<srcMailbox>":
And IMAP client "source" eventually sees 1 messages in "<srcMailbox>"
And IMAP client "source" eventually sees the following messages in "<srcMailbox>":
| from | to | subject |
| sndr1@[domain] | rcvr1@[domain] | subj1 |
And IMAP client "target" eventually sees 1 messages in "<dstMailbox>"

View File

@ -17,7 +17,7 @@ Feature: Bridge can fully sync an account
Scenario: The user changes the gluon path
When the user changes the gluon path
And user "[user:user]" connects and authenticates IMAP client "2"
Then IMAP client "2" sees the following messages in "INBOX":
Then IMAP client "2" eventually sees the following messages in "INBOX":
| from | to | subject | unread |
| john.doe@mail.com | [user:user]@[domain] | foo | false |
| jane.doe@mail.com | name@[domain] | bar | true |

View File

@ -45,6 +45,7 @@ Feature: SMTP with bcc
"""
@long-black
Scenario: Send message only to bcc
When SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:bcc]@[domain]":
"""

View File

@ -7,6 +7,7 @@ Feature: SMTP sending embedded message
And the user logs in with username "[user:to]" and password "password"
And user "[user:user]" connects and authenticates SMTP client "1"
@long-black
Scenario: Send it
When SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:to]@[domain]":
"""

View File

@ -6,6 +6,8 @@ Feature: SMTP sending two messages
And the user logs in with username "[user:user]" and password "password"
And the user logs in with username "[user:recp]" and password "password"
@long-black
Scenario: Send from one account to the other
When user "[user:user]" connects and authenticates SMTP client "1"
And SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:recp]@[domain]":
@ -60,6 +62,8 @@ Feature: SMTP sending two messages
| from | to | subject | body |
| [user:user]@[domain] | [user:recp]@[domain] | One account to the other | hello |
@long-black
Scenario: Send from one account to the other with attachments
When user "[user:user]" connects and authenticates SMTP client "1"
And SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:recp]@[domain]":

View File

@ -16,6 +16,7 @@ Feature: SMTP sending the same message twice
"""
And it succeeds
@long-black
Scenario: The exact same message is not sent twice
When SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:to]@[domain]":
"""
@ -36,6 +37,7 @@ Feature: SMTP sending the same message twice
| [user:user]@[domain] | [user:to]@[domain] | Hello | World |
@long-black
Scenario: Slight change means different message and is sent twice
When SMTP client "1" sends the following message from "[user:user]@[domain]" to "[user:to]@[domain]":
"""

View File

@ -0,0 +1,153 @@
Feature: SMTP send reply
Background:
Given there exists an account with username "[user:user1]" and password "password"
And there exists an account with username "[user:user2]" and password "password"
And bridge starts
And the user logs in with username "[user:user1]" and password "password"
And user "[user:user1]" connects and authenticates SMTP client "1"
And user "[user:user1]" connects and authenticates IMAP client "1"
And user "[user:user1]" finishes syncing
@long-black
Scenario: Reply with In-Reply-To but no References
# User1 send the initial message.
When SMTP client "1" sends the following message from "[user:user1]@[domain]" to "[user:user2]@[domain]":
"""
From: Bridge Test <[user:user1]@[domain]>
To: Internal Bridge <[user:user2]@[domain]>
Subject: Please Reply
Message-ID: <something@protonmail.ch>
hello
"""
Then it succeeds
Then IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | message-id |
| [user:user1]@[domain] | [user:user2]@[domain] | Please Reply | <something@protonmail.ch> |
# login user2.
And the user logs in with username "[user:user2]" and password "password"
And user "[user:user2]" connects and authenticates IMAP client "2"
And user "[user:user2]" connects and authenticates SMTP client "2"
And user "[user:user2]" finishes syncing
# User2 receive the message.
Then IMAP client "2" eventually sees the following messages in "INBOX":
| from | subject | message-id |
| [user:user1]@[domain] | Please Reply | <something@protonmail.ch> |
# User2 reply to it.
When SMTP client "2" sends the following message from "[user:user2]@[domain]" to "[user:user1]@[domain]":
"""
From: Internal Bridge <[user:user2]@[domain]>
To: Bridge Test <[user:user1]@[domain]>
Content-Type: text/plain
Subject: FW - Please Reply
In-Reply-To: <something@protonmail.ch>
Heya
"""
Then it succeeds
Then IMAP client "2" eventually sees the following messages in "Sent":
| from | to | subject | in-reply-to | references |
| [user:user2]@[domain] | [user:user1]@[domain] | FW - Please Reply | <something@protonmail.ch> | <something@protonmail.ch> |
# User1 receive the reply.|
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | subject | body | in-reply-to | references |
| [user:user2]@[domain] | FW - Please Reply | Heya | <something@protonmail.ch> | <something@protonmail.ch> |
@long-black
Scenario: Reply with References but no In-Reply-To
# User1 send the initial message.
When SMTP client "1" sends the following message from "[user:user1]@[domain]" to "[user:user2]@[domain]":
"""
From: Bridge Test <[user:user1]@[domain]>
To: Internal Bridge <[user:user2]@[domain]>
Subject: Please Reply
Message-ID: <something@protonmail.ch>
hello
"""
Then it succeeds
Then IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | message-id |
| [user:user1]@[domain] | [user:user2]@[domain] | Please Reply | <something@protonmail.ch> |
# login user2.
And the user logs in with username "[user:user2]" and password "password"
And user "[user:user2]" connects and authenticates IMAP client "2"
And user "[user:user2]" connects and authenticates SMTP client "2"
And user "[user:user2]" finishes syncing
# User2 receive the message.
Then IMAP client "2" eventually sees the following messages in "INBOX":
| from | subject | message-id |
| [user:user1]@[domain] | Please Reply | <something@protonmail.ch> |
# User2 reply to it.
When SMTP client "2" sends the following message from "[user:user2]@[domain]" to "[user:user1]@[domain]":
"""
From: Internal Bridge <[user:user2]@[domain]>
To: Bridge Test <[user:user1]@[domain]>
Content-Type: text/plain
Subject: FW - Please Reply
References: <something@protonmail.ch>
Heya
"""
Then it succeeds
Then IMAP client "2" eventually sees the following messages in "Sent":
| from | to | subject | in-reply-to | references |
| [user:user2]@[domain] | [user:user1]@[domain] | FW - Please Reply | <something@protonmail.ch> | <something@protonmail.ch> |
# User1 receive the reply.|
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | subject | body | in-reply-to | references |
| [user:user2]@[domain] | FW - Please Reply | Heya | <something@protonmail.ch> | <something@protonmail.ch> |
@long-black
Scenario: Reply with both References and In-Reply-To
# User1 send the initial message.
When SMTP client "1" sends the following message from "[user:user1]@[domain]" to "[user:user2]@[domain]":
"""
From: Bridge Test <[user:user1]@[domain]>
To: Internal Bridge <[user:user2]@[domain]>
Subject: Please Reply
Message-ID: <something@protonmail.ch>
hello
"""
Then it succeeds
Then IMAP client "1" eventually sees the following messages in "Sent":
| from | to | subject | message-id |
| [user:user1]@[domain] | [user:user2]@[domain] | Please Reply | <something@protonmail.ch> |
# login user2.
And the user logs in with username "[user:user2]" and password "password"
And user "[user:user2]" connects and authenticates IMAP client "2"
And user "[user:user2]" connects and authenticates SMTP client "2"
And user "[user:user2]" finishes syncing
# User2 receive the message.
Then IMAP client "2" eventually sees the following messages in "INBOX":
| from | subject | message-id |
| [user:user1]@[domain] | Please Reply | <something@protonmail.ch> |
# User2 reply to it.
When SMTP client "2" sends the following message from "[user:user2]@[domain]" to "[user:user1]@[domain]":
"""
From: Internal Bridge <[user:user2]@[domain]>
To: Bridge Test <[user:user1]@[domain]>
Content-Type: text/plain
Subject: FW - Please Reply
In-Reply-To: <something@protonmail.ch>
References: <something@protonmail.ch>
Heya
"""
Then it succeeds
Then IMAP client "2" eventually sees the following messages in "Sent":
| from | to | subject | in-reply-to | references |
| [user:user2]@[domain] | [user:user1]@[domain] | FW - Please Reply | <something@protonmail.ch> | <something@protonmail.ch> |
# User1 receive the reply.|
And IMAP client "1" eventually sees the following messages in "INBOX":
| from | subject | body | in-reply-to | references |
| [user:user2]@[domain] | FW - Please Reply | Heya | <something@protonmail.ch> | <something@protonmail.ch> |

View File

@ -20,30 +20,30 @@ Feature: Address mode
Scenario: The user is in combined mode
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
Then IMAP client "1" sees the following messages in "Folders/one":
Then IMAP client "1" eventually 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":
And IMAP client "1" eventually 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":
And IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
Then IMAP client "2" sees the following messages in "Folders/one":
Then IMAP client "2" eventually 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":
And IMAP client "2" eventually 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":
And IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
@ -54,22 +54,22 @@ Feature: Address mode
Given the user sets the address mode of user "[user:user]" to "split"
And user "[user:user]" finishes syncing
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
Then IMAP client "1" sees the following messages in "Folders/one":
Then IMAP client "1" eventually 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":
And IMAP client "1" eventually sees 0 messages in "Folders/two"
And IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
Then IMAP client "2" sees 0 messages in "Folders/one"
And IMAP client "2" sees the following messages in "Folders/two":
Then IMAP client "2" eventually sees 0 messages in "Folders/one"
And IMAP client "2" eventually 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":
And IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
@ -80,14 +80,14 @@ Feature: Address mode
And the user sets the address mode of user "[user:user]" to "combined"
And user "[user:user]" finishes syncing
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
Then IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
Then IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
@ -96,14 +96,14 @@ Feature: Address mode
Scenario: The user adds an address while in combined mode
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
Then IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
Then IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
@ -112,7 +112,7 @@ Feature: Address mode
Given the account "[user:user]" has additional address "other@[domain]"
And bridge sends an address created event for user "[user:user]"
When user "[user:user]" connects and authenticates IMAP client "3" with address "other@[domain]"
Then IMAP client "3" sees the following messages in "All Mail":
Then IMAP client "3" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
@ -123,12 +123,12 @@ Feature: Address mode
Given the user sets the address mode of user "[user:user]" to "split"
And user "[user:user]" finishes syncing
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
And IMAP client "2" sees the following messages in "All Mail":
And IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |
@ -139,14 +139,14 @@ Feature: Address mode
Scenario: The user deletes an address while in combined mode
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
Then IMAP client "1" sees the following messages in "All Mail":
Then IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
Then IMAP client "2" sees the following messages in "All Mail":
Then IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| a@[domain] | a@[domain] | one | true |
| b@[domain] | b@[domain] | two | false |
@ -161,12 +161,12 @@ Feature: Address mode
Given the user sets the address mode of user "[user:user]" to "split"
And user "[user:user]" finishes syncing
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
And IMAP client "1" sees the following messages in "All Mail":
And IMAP client "1" eventually 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:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
And IMAP client "2" sees the following messages in "All Mail":
And IMAP client "2" eventually sees the following messages in "All Mail":
| from | to | subject | unread |
| c@[domain] | c@[domain] | three | true |
| d@[domain] | d@[domain] | four | false |

View File

@ -7,15 +7,15 @@ Feature: A user can login
Scenario: Login to account
When the user logs in with username "[user:user]" and password "password"
Then user "[user:user]" is listed and connected
Then user "[user:user]" is eventually listed and connected
Scenario: Login to account with wrong password
When the user logs in with username "[user:user]" and password "wrong"
Then user "[user:user]" is not listed
Scenario: Login to nonexistent account
When the user logs in with username "[user:other]" and password "unknown"
Then user "[user:other]" is not listed
When the user logs in with username "nonexistent" and password "unknown"
Then user "nonexistent" is not listed
Scenario: Login to account without internet
Given the internet is turned off
@ -24,11 +24,11 @@ Feature: A user can login
Scenario: Login to account with caps
When the user logs in with username "[user:MixedCaps]" and password "password"
Then user "[user:MixedCaps]" is listed and connected
Then user "[user:MixedCaps]" is eventually listed and connected
Scenario: Login to account with disabled primary
When the user logs in with username "[user:disabled]" and password "password"
Then user "[user:disabled]" is listed and connected
Then user "[user:disabled]" is eventually listed and connected
Scenario: Login to account without internet but the connection is later restored
When the user logs in with username "[user:user]" and password "password"
@ -42,5 +42,5 @@ Feature: A user can login
Given there exists an account with username "[user:additional]" and password "password"
When the user logs in with username "[user:user]" and password "password"
And the user logs in with username "[user:additional]" and password "password"
Then user "[user:user]" is listed and connected
And user "[user:additional]" is listed and connected
Then user "[user:user]" is eventually listed and connected
And user "[user:additional]" is eventually listed and connected

View File

@ -8,7 +8,7 @@ Feature: A logged out user can login again
When user "[user:user]" logs out
And bridge restarts
And the user logs in with username "[user:user]" and password "password"
Then user "[user:user]" is listed and connected
Then user "[user:user]" is eventually listed and connected
Scenario: Cannot login to removed account
When user "[user:user]" is deleted

View File

@ -21,7 +21,7 @@ Feature: Bridge can fully sync an account
Then bridge sends sync started and finished events for user "[user:user]"
When bridge restarts
And user "[user:user]" connects and authenticates IMAP client "1"
Then IMAP client "1" sees the following mailbox info:
Then IMAP client "1" eventually sees the following mailbox info:
| name | total | unread |
| INBOX | 0 | 0 |
| Drafts | 0 | 0 |