/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando software.
* Entando is a free software;
* You can redistribute it and/or modify it
* under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2.
*
* See the file License for the specific language governing permissions
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpmail.aps.system.services.mail;
import java.util.Iterator;
import com.agiletec.plugins.jpmail.aps.ApsPluginBaseTestCase;
import com.agiletec.plugins.jpmail.util.JpmailTestHelper;
import com.agiletec.aps.system.SystemConstants;
import com.agiletec.aps.system.services.baseconfig.ConfigInterface;
import com.agiletec.plugins.jpmail.aps.services.JpmailSystemConstants;
import com.agiletec.plugins.jpmail.aps.services.mail.IMailManager;
import com.agiletec.plugins.jpmail.aps.services.mail.MailConfig;
/**
* Abstract base class for Mail Configuration testing.
* @version 1.0
* @author E.Mezzano
*
*/
public abstract class AbstractMailConfigTestCase extends ApsPluginBaseTestCase {
protected void setUp() throws Exception {
super.setUp();
this.init();
}
@Override
protected void tearDown() throws Exception {
this._helper.resetConfig();
super.tearDown();
}
protected MailConfig createMailConfig() {
MailConfig config = new MailConfig();
config.addSender("c1", "aaa@aaa.aaa");
config.addSender("c2", "bbb@bbb.bbb");
config.addSender("c3", "ccc@ccc.ccc");
config.setDebug(false);
config.setSmtpHost("smtp.qwerty.it");
config.setSmtpPort(new Integer(2525));
config.setSmtpTimeout(new Integer(100));
config.setSmtpUserName("ciccio");
config.setSmtpPassword("cicci");
config.setSmtpProtocol(new Integer(2));
return config;
}
protected void compareConfigs(MailConfig conf1, MailConfig conf2) {
assertEquals(conf1.getSenders().size(), conf2.getSenders().size());
Iterator senderCodes = conf1.getSenders().keySet().iterator();
while (senderCodes.hasNext()) {
String code = (String) senderCodes.next();
assertEquals(conf1.getSender(code), conf2.getSender(code));
}
assertEquals(conf1.getSmtpHost(), conf2.getSmtpHost());
assertEquals(conf1.getSmtpPort(), conf2.getSmtpPort());
assertEquals(conf1.getSmtpTimeout(), conf2.getSmtpTimeout());
assertEquals(conf1.hasAnonimousAuth(), conf2.hasAnonimousAuth());
assertEquals(conf1.getSmtpUserName(), conf2.getSmtpUserName());
assertEquals(conf1.getSmtpPassword(), conf2.getSmtpPassword());
assertEquals(conf1.getSmtpProtocol(), conf2.getSmtpProtocol());
}
protected void checkOriginaryConfig(MailConfig mailConfig) {
assertEquals(2, mailConfig.getSenders().size());
assertEquals("EMAIL1@EMAIL.COM", mailConfig.getSender("CODE1"));
assertEquals("EMAIL2@EMAIL.COM", mailConfig.getSender("CODE2"));
assertEquals(true, mailConfig.isDebug());
assertTrue(mailConfig.getSmtpHost().length()>0);
assertEquals("25000", mailConfig.getSmtpPort().toString());
assertNull(mailConfig.getSmtpTimeout());
assertNotNull(mailConfig.getSmtpUserName());
assertNotNull(mailConfig.getSmtpPassword());
}
protected void init() throws Exception {
try {
ConfigInterface configManager = (ConfigInterface) this.getService(SystemConstants.BASE_CONFIG_MANAGER);
this._mailManager = (IMailManager) this.getService(JpmailSystemConstants.MAIL_MANAGER);
this._helper = new JpmailTestHelper(configManager, this._mailManager);
} catch (Exception e) {
throw e;
}
}
protected JpmailTestHelper _helper;
protected IMailManager _mailManager;
}