package de.superx.kettle; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.junit.function.ThrowingRunnable; import de.superx.BaseDbTest; import de.superx.bin.fm.EtlStarter; @SuppressWarnings("static-method") public class EtlStarterTest extends BaseDbTest { @Test public void testInit() { EtlStarter starter = new EtlStarter(null); assertNotNull(starter); } @Test public void testExecuteBasic() { EtlStarter starter = new EtlStarter(null); StringBuffer out = starter.kettleCallEmbedded("test/resources/kettle/Test-Job.kjb", null, true); System.out.println(out.toString()); } @Test public void testExecuteLoop() { EtlStarter starter = new EtlStarter(null); RuntimeException ex = assertThrows(RuntimeException.class, new ThrowingRunnable() { @Override public void run() { starter.kettleCallEmbedded("test/resources/kettle/Test-Job Loop.kjb", null, true); }}); assertTrue("Correct RuntimeException thrown", ex.getMessage().contains("Job creating too many job entries of Test-Job Loop_Simple evaluation")); } @Test public void testManySubjobs() { EtlStarter starter = new EtlStarter(null); StringBuffer out = starter.kettleCallEmbedded("test/resources/kettle/SubJob.kjb", null, true); System.out.println(out.toString()); } }