From f41b7916efad3cf09faa412f517fa2a21d80f518 Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Tue, 21 Jun 2016 17:41:51 -0400 Subject: [PATCH] Adding more testing for EXPUNGE, SUBSCRIBE, and UNSUBSCRIBE --- src/client.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/client.rs b/src/client.rs index d3e80c4..0c804ef 100644 --- a/src/client.rs +++ b/src/client.rs @@ -380,6 +380,40 @@ mod tests { assert!(command2 == expected_command2, "expected command doesn't equal actual command"); } + #[test] + fn subscribe() { + // TODO Make sure the response was read correctly + let response = b"a1 OK SUBSCRIBE completed\r\n".to_vec(); + let mailbox = "INBOX"; + let command = format!("a1 SUBSCRIBE {}\r\n", mailbox); + let mock_stream = MockStream::new(response); + let mut client = create_client_with_mock_stream(mock_stream); + client.subscribe(mailbox).unwrap(); + assert!(client.stream.written_buf == command.as_bytes().to_vec(), "Invalid subscribe command"); + } + + #[test] + fn unsubscribe() { + // TODO Make sure the response was read correctly + let response = b"a1 OK UNSUBSCRIBE completed\r\n".to_vec(); + let mailbox = "INBOX"; + let command = format!("a1 UNSUBSCRIBE {}\r\n", mailbox); + let mock_stream = MockStream::new(response); + let mut client = create_client_with_mock_stream(mock_stream); + client.unsubscribe(mailbox).unwrap(); + assert!(client.stream.written_buf == command.as_bytes().to_vec(), "Invalid unsubscribe command"); + } + + #[test] + fn expunge() { + // TODO Make sure the response was read correctly + let response = b"a1 OK EXPUNGE completed\r\n".to_vec(); + let mock_stream = MockStream::new(response); + let mut client = create_client_with_mock_stream(mock_stream); + client.expunge().unwrap(); + assert!(client.stream.written_buf == b"a1 EXPUNGE\r\n".to_vec(), "Invalid expunge command"); + } + #[test] fn check() { // TODO Make sure the response was read correctly