/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.broadcast.server.plugin; import net.codjo.agent.ContainerConfigurationMock; import net.codjo.agent.test.AgentContainerFixture; import net.codjo.broadcast.common.Context; import static net.codjo.broadcast.common.message.BroadcastRequest.BROADCAST_JOB_TYPE; import net.codjo.broadcast.server.api.BroadcastContextBuilder; import net.codjo.broadcast.server.api.DefaultBroadcastContextBuilder; import net.codjo.test.common.LogString; import java.io.File; import java.util.Date; import junit.framework.TestCase; /** * Classe de test de {@link BroadcastServerPlugin}. */ public class BroadcastServerPluginTest extends TestCase { private BroadcastServerPlugin plugin; private LogString log = new LogString(); private AgentContainerFixture fixture = new AgentContainerFixture(); public void test_other() throws Exception { plugin.initContainer(new ContainerConfigurationMock(log)); plugin.stop(); log.assertContent(""); } public void test_start() throws Exception { plugin.start(fixture.getContainer()); fixture.assertNumberOfAgentWithService(2, BROADCAST_JOB_TYPE); fixture.assertAgentWithService(new String[]{"broadcast-drh-agent", "broadcast-job-agent"}, BROADCAST_JOB_TYPE); } public void test_configuration_broadcastContextBuilder() throws Exception { BroadcastContextBuilder builder = plugin.getConfiguration().getBroadcastContextBuilder(); assertNotNull(builder); DefaultBroadcastContextBuilder contextBuilder = new DefaultBroadcastContextBuilder() { @Override public Context buildContext() { log.call("buildContext"); return super.buildContext(); } }; plugin.getConfiguration().setBroadcastContextBuilder(contextBuilder); Context context = plugin.getPreferenceManager() .buildContext("oggy", "ooo.txt", new Date(0), new Date(1), new File("/bobo")); log.assertContent("buildContext()"); assertNotNull(context); assertEquals(0, contextBuilder.getGenerationDate().getTime()); assertEquals(1, contextBuilder.getBroadcastDate().getTime()); assertEquals("oggy", contextBuilder.getUser()); assertEquals("ooo.txt", contextBuilder.getFileName()); assertEquals(new File("/bobo"), contextBuilder.getOutFolder()); } @Override protected void setUp() throws Exception { fixture.doSetUp(); plugin = new BroadcastServerPlugin(); } @Override protected void tearDown() throws Exception { fixture.doTearDown(); } }