@Override
  public void describe(TaskApplicationDescriptor appDescriptor) {
    KafkaSystemDescriptor ksd = new KafkaSystemDescriptor(systemName);
    KafkaInputDescriptor<TestTableData.Profile> inputDescriptor = ksd.getInputDescriptor(inputTopic, new NoOpSerde<>());
    KafkaOutputDescriptor<TestTableData.EnrichedPageView> outputDescriptor = ksd.getOutputDescriptor(outputTopic, new NoOpSerde<>());
    appDescriptor.withInputStream(inputDescriptor)
                 .withOutputStream(outputDescriptor)
                 .withTaskFactory((AsyncStreamTaskFactory) () -> new TestTaskImpl());
  }
A test TaskApplication to use in test harnesses.
@param systemName test input/output system
@param inputTopic topic to consume
@param outputTopic topic to output
@param processedMessageLatch latch that counts down per message processed
@param shutdownLatch latch that counts down once during shutdown
@param processCallback optional callback called per message processed.
samza-test/src/test/java/org/apache/samza/test/processor/TestTaskApplication.java