/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jhydra.core.config.email; import jhydra.core.config.exceptions.InvalidEmailAddressException; import jhydra.core.exceptions.FatalException; import jhydra.core.properties.IProperties; import jhydra.core.properties.Properties; import org.junit.Assert; import org.junit.Test; import javax.mail.internet.InternetAddress; import java.io.File; import java.net.URI; /** * * @author jantic */ public class EmailSettingsTest { public EmailSettingsTest() { } /***Tests using correctly configured properties file****************************************/ @Test public void normalPropertiesFile_load_firstFailureRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getFailureRecipients().get(0); final String expected = "a@a.a"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void normalPropertiesFile_load_secondFailureRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getFailureRecipients().get(1); final String expected = "b@b.b"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void normalPropertiesFile_load_thirdFailureRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getFailureRecipients().get(2); final String expected = "c@c.c"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void normalPropertiesFile_load_firstSuccessRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getSuccessRecipients().get(0); final String expected = "d@d.d"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void normalPropertiesFile_load_secondSuccessRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getSuccessRecipients().get(1); final String expected = "e@e.e"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void normalPropertiesFile_load_getSender_CorrectValue() throws FatalException{ final InternetAddress address = getNormalPropertiesFileEmailSettings().getSender(); final String expected = "f@f.f"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } /***Tests using incorrectly configured properties file- invalid failure recipient address****************************************/ @Test public void invalidRecipientAddressPropertiesFile_load_firstFailureRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getInvalidRecipientAddressPropertiesFileEmailSettings().getFailureRecipients().get(0); final String expected = "a@a.a"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void invalidRecipientAddressPropertiesFile_load_secondFailureRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getInvalidRecipientAddressPropertiesFileEmailSettings().getFailureRecipients().get(1); final String expected = "c@c.c"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } /***Tests using incorrectly configured properties file- invalid success recipient address****************************************/ @Test public void invalidRecipientAddressPropertiesFile_load_firstSuccessRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getInvalidRecipientAddressPropertiesFileEmailSettings().getSuccessRecipients().get(0); final String expected = "d@d.d"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } @Test public void invalidRecipientAddressPropertiesFile_load_secondSuccessRecipient_getEmailAddress_CorrectValue() throws FatalException{ final InternetAddress address = getInvalidRecipientAddressPropertiesFileEmailSettings().getSuccessRecipients().get(1); final String expected = "f@f.f"; final String actual = address.getAddress(); Assert.assertEquals(expected, actual); } /***Tests using incorrectly configured properties file- invalid sender address****************************************/ @Test(expected = InvalidEmailAddressException.class) public void invalidSenderAddressPropertiesFile_load_InvalidEmailAddressException() throws FatalException{ getInvalidSenderAddressPropertiesFileEmailSettings(); } /***PRIVATE METHODS*******************************************************************************************/ private IEmailSettings getNormalPropertiesFileEmailSettings() throws FatalException{ final URI propertiesURI = new File("./test/test data/basic_project.properties").toURI(); final IProperties properties = new Properties(propertiesURI); return new EmailSettings(properties); } private IEmailSettings getInvalidRecipientAddressPropertiesFileEmailSettings() throws FatalException{ final URI propertiesURI = new File("./test/test data/invalidRecipientAddress_project.properties").toURI(); final IProperties properties = new Properties(propertiesURI); return new EmailSettings(properties); } private IEmailSettings getInvalidSenderAddressPropertiesFileEmailSettings() throws FatalException{ final URI propertiesURI = new File("./test/test data/invalidSenderAddress_project.properties").toURI(); final IProperties properties = new Properties(propertiesURI); return new EmailSettings(properties); } }