@Test public void test() throws Exception { MockKafkaStream mockKafkaStream = new MockKafkaStream(5); MockedHighLevelConsumer consumer = new MockedHighLevelConsumer(getSimpleConfig(Optional.<String>absent()), 5, mockKafkaStream); consumer.startAsync(); consumer.awaitRunning(); Assert.assertTrue(consumer.getMessages().isEmpty()); mockKafkaStream.pushToStream("message"); consumer.awaitAtLeastNMessages(1); Assert.assertEquals(consumer.getMessages().get(0), "message"); mockKafkaStream.pushToStream("message2"); consumer.awaitAtLeastNMessages(2); Assert.assertEquals(consumer.getMessages().get(1), "message2"); consumer.shutDown(); mockKafkaStream.pushToStream("message3"); try { consumer.awaitAtLeastNMessages(3); Assert.fail(); } catch (TimeoutException ie) { // should throw this } } }
monitor.startAsync(); monitor.getMockKafkaStream().pushToStream("job1:1"); monitor.awaitExactlyNSpecs(1); Assert.assertTrue(monitor.getJobSpecs().containsKey(new URI("job1"))); Assert.assertEquals(monitor.getJobSpecs().get(new URI("job1")).getVersion(), "1"); monitor.getMockKafkaStream().pushToStream("job2:1"); monitor.awaitExactlyNSpecs(2); Assert.assertTrue(monitor.getJobSpecs().containsKey(new URI("job2"))); Assert.assertEquals(monitor.getJobSpecs().get(new URI("job2")).getVersion(), "1"); monitor.getMockKafkaStream().pushToStream(MockedKafkaJobMonitor.REMOVE + ":job1"); monitor.awaitExactlyNSpecs(1); Assert.assertFalse(monitor.getJobSpecs().containsKey(new URI("job1"))); Assert.assertTrue(monitor.getJobSpecs().containsKey(new URI("job2"))); monitor.getMockKafkaStream().pushToStream("job2:2,job1:2"); monitor.awaitExactlyNSpecs(2); Assert.assertTrue(monitor.getJobSpecs().containsKey(new URI("job1")));