/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.control.server.plugin; import net.codjo.agent.AclMessage; import net.codjo.agent.test.DummyAgent; import net.codjo.aspect.AspectManager; import net.codjo.control.common.loader.XmlMapperHelper; import net.codjo.control.common.message.ControlJobRequest; import net.codjo.control.common.message.SourceOfData; import net.codjo.database.common.api.DatabaseFactory; import net.codjo.database.common.api.structure.SqlTable; import net.codjo.sql.server.JdbcServiceUtil; import net.codjo.sql.server.JdbcServiceUtilMock; import net.codjo.test.common.LogString; import net.codjo.tokio.TokioFixture; import junit.framework.TestCase; /** * Classe de test de {@link DefaultControlerFactory}. */ public class DefaultControlerFactoryTest extends TestCase { private static final String MY_QUARANTINE = "MY_QUARANTINE"; private DefaultControlerFactory factory; private TokioFixture fixture = new TokioFixture(DefaultControlerFactoryTest.class); private LogString log = new LogString(); private static final DatabaseFactory DATABASE_FACTORY = new DatabaseFactory(); public void test_executeControl() throws Exception { fixture.getJdbcFixture().create(SqlTable.table(MY_QUARANTINE), "MY_FIELD_1 numeric null, " + "ERROR_TYPE numeric null, " + "ERROR_LOG varchar(255) null"); fixture.insertInputInDb("ImportDecisiv"); ControlJobRequest jobRequest = new ControlJobRequest(); jobRequest.setQuarantineTable(MY_QUARANTINE); jobRequest.setInitiatorLogin("gonnot"); jobRequest.setId("control-237"); jobRequest.addPath(SourceOfData.IMPORT); Controler controler = factory.createControler(); controler.execute(jobRequest); fixture.assertAllOutputs("ImportDecisiv"); } @Override protected void setUp() throws Exception { fixture.doSetUp(DATABASE_FACTORY.createJdbcFixture()); JdbcServiceUtil mock = new JdbcServiceUtilMock(log, fixture.getJdbcFixture()); XmlMapperHelper.initToLoadFromRessource("/META-INF/ApplicationIP.xml"); factory = new DefaultControlerFactory(mock, new ControlPreference(XmlMapperHelper.getApplicationIP(), new AspectManager())); factory.init(new DummyAgent(), new AclMessage(AclMessage.Performative.AGREE)); } @Override protected void tearDown() throws Exception { fixture.doTearDown(); } }