Fix IMAP: import failed after authenticating to Dovecot when a capability contained :, such as IMAPSIEVE=sieve://... (fixes #43)

This commit is contained in:
Maurus Decimus
2026-09-28 11:38:10 +02:00
parent 5dc92c7329
commit 70fa688d25
17 changed files with 617 additions and 461 deletions
+4 -4
View File
@@ -221,7 +221,7 @@ fn get_item_mixed_success_and_per_item_error() {
</m:GetItemResponseMessage>\
</m:ResponseMessages></m:GetItemResponse>"
));
let r = parse_response_messages(body.as_bytes(), b"GetItemResponseMessage").unwrap();
let r = parse_response_messages(body.as_bytes(), "GetItemResponseMessage").unwrap();
assert_eq!(r.len(), 2);
assert!(r[0].success);
assert!(r[0].inner_xml.contains("SGVsbG8="));
@@ -312,7 +312,7 @@ fn mime_content_round_trips_through_base64_decode() {
</t:Message></m:Items></m:GetItemResponseMessage>\
</m:ResponseMessages></m:GetItemResponse>"
));
let r = parse_response_messages(body.as_bytes(), b"GetItemResponseMessage").unwrap();
let r = parse_response_messages(body.as_bytes(), "GetItemResponseMessage").unwrap();
let item = vandelay::exchange_ews::parse::parse_message_item(&r[0].inner_xml).unwrap();
let s = item.mime_content.unwrap();
let bytes = LENIENT.decode(&s).unwrap();
@@ -890,7 +890,7 @@ fn warning_response_class_is_treated_as_success_in_mock() {
<m:Items><t:Message><t:ItemId Id=\"W1\" ChangeKey=\"K\"/></t:Message></m:Items>\
</m:GetItemResponseMessage></m:ResponseMessages></m:GetItemResponse>"
));
let r = parse_response_messages(body.as_bytes(), b"GetItemResponseMessage").unwrap();
let r = parse_response_messages(body.as_bytes(), "GetItemResponseMessage").unwrap();
assert!(r[0].success);
}
@@ -930,7 +930,7 @@ fn get_folder_messages_preserve_position_when_one_errors() {
</m:GetFolderResponseMessage>\
</m:ResponseMessages></m:GetFolderResponse>"
));
let msgs = parse_response_messages(body.as_bytes(), b"GetFolderResponseMessage").unwrap();
let msgs = parse_response_messages(body.as_bytes(), "GetFolderResponseMessage").unwrap();
assert_eq!(msgs.len(), 3, "all three messages must be present");
assert!(msgs[0].success);
assert!(!msgs[1].success);