@Test
public void testControlMessages() throws Exception {
MyExtractor extractor = new MyExtractor(new StreamEntity[]{new RecordEnvelope<>("a"),
new BasicTestControlMessage("1"), new RecordEnvelope<>("b"), new BasicTestControlMessage("2")});
MyConverter converter = new MyConverter();
MyDataWriter writer = new MyDataWriter();
Task task = setupTask(extractor, writer, converter);
task.run();
task.commit();
Assert.assertEquals(task.getTaskState().getWorkingState(), WorkUnitState.WorkingState.SUCCESSFUL);
Assert.assertEquals(converter.records, Lists.newArrayList("a", "b"));
Assert.assertEquals(converter.messages, Lists.newArrayList(new BasicTestControlMessage("1"), new BasicTestControlMessage("2")));
Assert.assertEquals(writer.records, Lists.newArrayList("a", "b"));
Assert.assertEquals(writer.messages, Lists.newArrayList(new BasicTestControlMessage("1"), new BasicTestControlMessage("2")));
}