@Test
public void successfully() throws Exception {
when(objectFactoryMock.getSmtpTransport()).thenReturn(transportMock);
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.smtpEnabled = true;
mailSender.init();
verify(objectFactoryMock).getSmtpTransport();
verifyNoMoreInteractions(objectFactoryMock);
verify(transportMock).connect("host", 25, "user", "passwd");
verify(transportMock).close();
verifyNoMoreInteractions(transportMock);
assertThat(mailSender.isConnected(), is(true));
assertThat(getAdditionalProperties().entrySet(), hasSize(2));
assertThat(getAdditionalProperties(), hasEntry((Object) "key1", (Object) "val1"));
assertThat(getAdditionalProperties(), hasEntry((Object) "key2", (Object) "val2"));
assertThat(getDefaultRecipients(), hasSize(2));
assertThat(getDefaultRecipients(), hasItems("one@example.com", "two@example.com"));
}