Add test for MULTIAPPEND UIDPLUS response
This commit is contained in:
parent
213887bf27
commit
1732482a4f
1 changed files with 22 additions and 0 deletions
22
src/parse.rs
22
src/parse.rs
|
|
@ -754,4 +754,26 @@ mod tests {
|
||||||
None => panic!("Missing UIDs in APPEND response"),
|
None => panic!("Missing UIDs in APPEND response"),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn parse_multiappend_uid() {
|
||||||
|
// If the user has enabled UIDPLUS (RFC 4315), the response contains an APPENDUID
|
||||||
|
// response code followed by the UIDVALIDITY of the destination mailbox and the
|
||||||
|
// UID assigned to the appended message in the destination mailbox.
|
||||||
|
// If the MULTIAPPEND extension is also used, there can be multiple UIDs.
|
||||||
|
let lines = b"A003 OK [APPENDUID 38505 3955:3957] APPEND completed\r\n";
|
||||||
|
let (mut send, recv) = mpsc::channel();
|
||||||
|
let resp = parse_append(lines, &mut send).unwrap();
|
||||||
|
|
||||||
|
assert!(recv.try_recv().is_err());
|
||||||
|
assert_eq!(resp.uid_validity, Some(38505));
|
||||||
|
match resp.uids {
|
||||||
|
Some(uid_list) => {
|
||||||
|
let mut it = uid_list.iter();
|
||||||
|
assert_eq!(it.next(), Some(&UidSetMember::UidRange(3955..=3957)));
|
||||||
|
assert_eq!(it.next(), None);
|
||||||
|
}
|
||||||
|
None => panic!("Missing UIDs in APPEND response"),
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue