HtmlEmail email = objectFactory.createHtmlEmail(); email.setHostName(smtpHost); email.setSmtpPort(smtpPort);
@Test public void badSmtpPort() throws Exception { doThrow(IllegalArgumentException.class).when(mailMock).setSmtpPort(-1); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); mailSender.smtpHost = "host"; mailSender.smtpPort = -1; mailSender.smtpEnabled = true; mailSender.init(); boolean result = mailSender.sendEMail("subject", "htmlBody", "textBody", Arrays.asList("one@example.com")); assertThat(result, is(false)); verify(objectFactoryMock).getSmtpTransport(); verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect(any(String.class), any(Integer.class), any(String.class), any(String.class)); verify(transportMock).close(); verify(mailMock).setHostName("host"); verify(mailMock).setSmtpPort(-1); verifyNoMoreInteractions(objectFactoryMock, transportMock, mailMock); }
@Test public void emptyRecipients() throws Exception { Session session = Session.getInstance(new Properties()); when(mailMock.getMailSession()).thenReturn(session); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); mailSender.defaultRecipientString = ""; mailSender.smtpHost = "host"; mailSender.smtpPort = 25; mailSender.smtpUser = "user"; mailSender.smtpPassword = "passwd"; mailSender.senderAddress = "sender@example.com"; mailSender.senderName = "Sender Name"; mailSender.smtpEnabled = true; mailSender.init(); boolean result = mailSender.sendEMail("subject", "htmlBody", "textBody", Collections.emptyList()); assertThat(result, is(false)); assertThat(mailSender.getServiceStatus(), is(ExternalServiceStatus.CONNECTED)); }
Session session = Session.getInstance(new Properties()); when(mailMock.getMailSession()).thenReturn(session); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); mailSender.defaultRecipientString = "one@example.com,two@example.com,invalid"; assertThat(mailSender.getServiceType(), is(ExternalServiceType.MAIL_SENDER)); verify(objectFactoryMock).getSmtpTransport(); verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect(any(String.class), any(Integer.class), any(String.class), any(String.class)); verify(transportMock).close();
Session session = Session.getInstance(new Properties()); when(mailMock.getMailSession()).thenReturn(session); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); mailSender.smtpHost = "host"; verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect(any(String.class), any(Integer.class), any(String.class), any(String.class)); verify(transportMock).close();
@Test public void badSenderAdress() throws Exception { when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); doThrow(EmailException.class).when(mailMock).setFrom(eq("invalid"), any(String.class)); mailSender.defaultRecipientString = "one@example.com,two@example.com,invalid"; mailSender.smtpPropertiesString = "key1=val1,key2=val2,=noKey,noVal=,=,invalid"; mailSender.smtpHost = "host"; mailSender.smtpPort = 25; mailSender.smtpUser = "user"; mailSender.smtpPassword = "passwd"; mailSender.senderAddress = "invalid"; mailSender.senderName = "Sender Name"; mailSender.smtpEnabled = true; mailSender.init(); boolean result = mailSender.sendEMail("subject", "htmlBody", "textBody", Arrays.asList("three@example.com")); assertThat(result, is(false)); verify(objectFactoryMock).getSmtpTransport(); verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect(any(String.class), any(Integer.class), any(String.class), any(String.class)); verify(transportMock).close(); verify(mailMock).setHostName("host"); verify(mailMock).setSmtpPort(25); verify(mailMock).setAuthentication("user", "passwd"); verify(mailMock).setFrom("invalid", "Sender Name"); verifyNoMoreInteractions(objectFactoryMock, transportMock, mailMock); }
@Test public void sendTestMail() throws Exception { when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); mailSender.smtpHost = "host"; mailSender.smtpPort = 25; verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect("host", 25, "user", "passwd"); verify(transportMock).close();
public void testMailThrowsException() throws Exception { when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock); when(objectFactoryMock.createHtmlEmail()).thenReturn(mailMock); when(mailMock.setTextMsg(any(String.class))).thenThrow(EmailException.class); mailSender.smtpHost = "host"; verify(objectFactoryMock).createHtmlEmail(); verify(transportMock).connect("host", 25, "user", "passwd"); verify(transportMock).close();