use of com.fsck.k9.mail.transport.mockServer.MockSmtpServer in project k-9 by k9mail.
the class SmtpTransportTest method sendMessage_withMessageTooLarge_shouldThrow.
@Test
public void sendMessage_withMessageTooLarge_shouldThrow() throws Exception {
Message message = getDefaultMessageBuilder().setHasAttachments(true).messageSize(1234L).build();
MockSmtpServer server = createServerAndSetupForPlainAuthentication("SIZE 1000");
SmtpTransport transport = startServerAndCreateSmtpTransport(server);
try {
transport.sendMessage(message);
fail("Expected message too large error");
} catch (MessagingException e) {
assertTrue(e.isPermanentFailure());
assertEquals("Message too large for server", e.getMessage());
}
//FIXME: Make sure connection was closed
//server.verifyConnectionClosed();
}
use of com.fsck.k9.mail.transport.mockServer.MockSmtpServer in project k-9 by k9mail.
the class SmtpTransportTest method open_withXoauth2Extension_shouldThrowOn401Response.
@Test
public void open_withXoauth2Extension_shouldThrowOn401Response() throws Exception {
MockSmtpServer server = new MockSmtpServer();
server.output("220 localhost Simple Mail Transfer Service Ready");
server.expect("EHLO localhost");
server.output("250-localhost Hello client.localhost");
server.output("250 AUTH XOAUTH2");
server.expect("AUTH XOAUTH2 dXNlcj11c2VyAWF1dGg9QmVhcmVyIG9sZFRva2VuAQE=");
server.output("334 " + XOAuth2ChallengeParserTest.STATUS_401_RESPONSE);
server.expect("");
server.output("535-5.7.1 Username and Password not accepted. Learn more at");
server.output("535 5.7.1 http://support.google.com/mail/bin/answer.py?answer=14257 hx9sm5317360pbc.68");
server.expect("QUIT");
server.output("221 BYE");
SmtpTransport transport = startServerAndCreateSmtpTransport(server, AuthType.XOAUTH2, ConnectionSecurity.NONE);
try {
transport.open();
fail("Exception expected");
} catch (AuthenticationFailedException e) {
assertEquals("5.7.1 Username and Password not accepted. Learn more at " + "5.7.1 http://support.google.com/mail/bin/answer.py?answer=14257 hx9sm5317360pbc.68", e.getMessage());
}
InOrder inOrder = inOrder(oAuth2TokenProvider);
inOrder.verify(oAuth2TokenProvider).getToken(eq(USERNAME), anyInt());
inOrder.verify(oAuth2TokenProvider).invalidateToken(USERNAME);
server.verifyConnectionClosed();
server.verifyInteractionCompleted();
}
use of com.fsck.k9.mail.transport.mockServer.MockSmtpServer in project k-9 by k9mail.
the class SmtpTransportTest method createServerAndSetupForPlainAuthentication.
private MockSmtpServer createServerAndSetupForPlainAuthentication(String... extensions) {
MockSmtpServer server = new MockSmtpServer();
server.output("220 localhost Simple Mail Transfer Service Ready");
server.expect("EHLO localhost");
server.output("250-localhost Hello client.localhost");
for (String extension : extensions) {
server.output("250-" + extension);
}
server.output("250 AUTH LOGIN PLAIN CRAM-MD5");
server.expect("AUTH PLAIN AHVzZXIAcGFzc3dvcmQ=");
server.output("235 2.7.0 Authentication successful");
return server;
}
use of com.fsck.k9.mail.transport.mockServer.MockSmtpServer in project k-9 by k9mail.
the class SmtpTransportTest method open_withManyExtensions_shouldParseAll.
@Test
public void open_withManyExtensions_shouldParseAll() throws Exception {
MockSmtpServer server = new MockSmtpServer();
server.output("220 smtp.gmail.com ESMTP x25sm19117693wrx.27 - gsmtp");
server.expect("EHLO localhost");
server.output("250-smtp.gmail.com at your service, [86.147.34.216]");
server.output("250-SIZE 35882577");
server.output("250-8BITMIME");
server.output("250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH");
server.output("250-ENHANCEDSTATUSCODES");
server.output("250-PIPELINING");
server.output("250-CHUNKING");
server.output("250 SMTPUTF8");
server.expect("AUTH XOAUTH2 dXNlcj11c2VyAWF1dGg9QmVhcmVyIG9sZFRva2VuAQE=");
server.output("235 2.7.0 Authentication successful");
SmtpTransport transport = startServerAndCreateSmtpTransport(server, AuthType.XOAUTH2, ConnectionSecurity.NONE);
transport.open();
server.verifyConnectionStillOpen();
server.verifyInteractionCompleted();
}
use of com.fsck.k9.mail.transport.mockServer.MockSmtpServer in project k-9 by k9mail.
the class SmtpTransportTest method open_withoutXoauth2Extension_shouldThrow.
@Test
public void open_withoutXoauth2Extension_shouldThrow() throws Exception {
MockSmtpServer server = new MockSmtpServer();
server.output("220 localhost Simple Mail Transfer Service Ready");
server.expect("EHLO localhost");
server.output("250-localhost Hello client.localhost");
server.output("250 AUTH PLAIN LOGIN");
server.expect("QUIT");
server.output("221 BYE");
SmtpTransport transport = startServerAndCreateSmtpTransport(server, AuthType.XOAUTH2, ConnectionSecurity.NONE);
try {
transport.open();
fail("Exception expected");
} catch (MessagingException e) {
assertEquals("Authentication method XOAUTH2 is unavailable.", e.getMessage());
}
server.verifyConnectionClosed();
server.verifyInteractionCompleted();
}
Aggregations