GODT-965 MOVE command should end with error for All Mail

This commit is contained in:
Xavier Michelon
2021-09-23 16:14:28 +02:00
committed by Jakub Cuth
parent a4a29cbf82
commit 8d6e55ba54
2 changed files with 6 additions and 6 deletions

View File

@ -266,6 +266,10 @@ func (im *imapMailbox) labelMessages(uid bool, seqSet *imap.SeqSet, targetLabel
} }
return errors.New("move from Sent to Inbox is not allowed") return errors.New("move from Sent to Inbox is not allowed")
} }
// Moving from All Mail is not allowed.
if im.storeMailbox.LabelID() == pmapi.AllMailLabel {
return errors.New("move from All Mail is not allowed")
}
deletedIDs := []string{} deletedIDs := []string{}
allDeletedIDs, err := im.storeMailbox.GetDeletedAPIIDs() allDeletedIDs, err := im.storeMailbox.GetDeletedAPIIDs()

View File

@ -80,16 +80,12 @@ Feature: IMAP move messages
Scenario: Move message from All Mail is not possible Scenario: Move message from All Mail is not possible
Given there is IMAP client selected in "All Mail" Given there is IMAP client selected in "All Mail"
When IMAP client moves message seq "1" to "Folders/folder" When IMAP client moves message seq "1" to "Folders/folder"
Then IMAP response is "OK" Then IMAP response is "NO move from All Mail is not allowed"
And mailbox "All Mail" for "user" has messages And mailbox "All Mail" for "user" has messages
| from | to | subject | | from | to | subject |
| john.doe@mail.com | user@pm.me | foo | | john.doe@mail.com | user@pm.me | foo |
| jane.doe@mail.com | name@pm.me | bar | | jane.doe@mail.com | name@pm.me | bar |
And mailbox "Folders/folder" for "user" has messages And mailbox "Folders/folder" for "user" has 0 messages
| from | to | subject |
| john.doe@mail.com | user@pm.me | baz |
And API endpoint "PUT /mail/v4/messages/label" is called
And API endpoint "PUT /mail/v4/messages/unlabel" is not called
Scenario: Move message from Inbox to Sent is not possible Scenario: Move message from Inbox to Sent is not possible
Given there is IMAP client selected in "INBOX" Given there is IMAP client selected in "INBOX"