IMAP: Fix shared folder double nesting (test suite credits to @ochnygosch) (fixes #2358 closes #2525)

This commit is contained in:
mdecimus
2025-12-18 16:04:06 +01:00
parent c59cc8c9d3
commit c5d357ca28
2 changed files with 55 additions and 3 deletions

View File

@@ -324,6 +324,53 @@ pub async fn test(mut imap: &mut ImapConnection, mut imap_check: &mut ImapConnec
// Restore Trash folder's original name
imap.send("RENAME \"Recycle Bin\" \"Deleted Items\"").await;
imap.assert_read(Type::Tagged, ResponseType::Ok).await;
// Shared folder creation tests
let mut imap_jane = ImapConnection::connect(b"_z ").await;
imap_jane
.authenticate("jane.smith@example.com", "secret")
.await;
imap_jane
.send("CREATE \"Shared Folders/support@example.com/INBOX/Test\"")
.await;
imap_jane.assert_read(Type::Tagged, ResponseType::Ok).await;
imap_jane
.send("CREATE \"Shared Folders/support@example.com/Test\"")
.await;
imap_jane.assert_read(Type::Tagged, ResponseType::Ok).await;
imap_jane
.send("CREATE \"Shared Folders/support@example.com/Test/TestSubfolder\"")
.await;
imap_jane.assert_read(Type::Tagged, ResponseType::Ok).await;
imap_jane.send("LIST \"\" \"*\"").await;
imap_jane
.assert_read(Type::Tagged, ResponseType::Ok)
.await
.assert_folders(
[
("INBOX", [""]),
("Deleted Items", [""]),
("Drafts", [""]),
("Junk Mail", [""]),
("Sent Items", [""]),
("Shared Folders", [""]),
("Shared Folders/support@example.com", [""]),
("Shared Folders/support@example.com/Deleted Items", [""]),
("Shared Folders/support@example.com/Drafts", [""]),
("Shared Folders/support@example.com/INBOX", [""]),
("Shared Folders/support@example.com/INBOX/Test", [""]),
("Shared Folders/support@example.com/Junk Mail", [""]),
("Shared Folders/support@example.com/Sent Items", [""]),
("Shared Folders/support@example.com/Test", [""]),
(
"Shared Folders/support@example.com/Test/TestSubfolder",
[""],
),
],
true,
);
}
fn mailbox_matches_pattern() {