package org.kaleidofoundry.mail.session; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.kaleidofoundry.core.config.NamedConfiguration; import org.kaleidofoundry.core.launcher.KaleidoJunit4ClassRunner; import org.kaleidofoundry.mail.session.LocalMailSessionService; import org.kaleidofoundry.mail.session.MailSessionFactory; import org.kaleidofoundry.mail.session.MailSessionService; import static org.junit.Assert.*; @RunWith(KaleidoJunit4ClassRunner.class) @NamedConfiguration(name = "local-testing", uri = "classpath:/mailing/localSession.yaml") public class LocalMailSessionServiceTest { private MailSessionService mailSessionService; @Before public void setup() { mailSessionService = MailSessionFactory.provides("mySession-ssl"); } @Test public void provideLocalSession() { assertNotNull(mailSessionService); assertTrue(mailSessionService instanceof LocalMailSessionService); LocalMailSessionService localMailSession = ((LocalMailSessionService) mailSessionService); assertEquals("smtp.gmail.com", localMailSession.context.getString("smtp.host")); assertEquals(Integer.valueOf(465), localMailSession.context.getInteger("smtp.port")); assertEquals(true, localMailSession.context.getBoolean("smtp.auth.enable")); assertEquals(true, localMailSession.context.getBoolean("smtp.ssl")); assertEquals("javax.net.ssl.SSLSocketFactory", localMailSession.context.getString("smtp.socketFactory.class")); assertEquals(Integer.valueOf(465), localMailSession.context.getInteger("smtp.socketFactory.port")); } }