@Override protected List<KafkaStream<byte[], byte[]>> createStreams() { return this.mockKafkaStream.getMockStreams(); }
@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 } } }
@Override public void shutDown() { this.mockKafkaStream.shutdown(); super.shutDown(); }
private MockedKafkaJobMonitor(Config config, Map<URI, JobSpec> jobSpecs) { super("topic", createMockCatalog(jobSpecs), config); this.jobSpecs = jobSpecs; this.mockKafkaStream = new MockKafkaStream(1); }
public MockKafkaStream(int numStreams) { this.queues = Lists.newArrayList(); this.mockStreams = Lists.newArrayList(); this.offsets = Lists.newArrayList(); for (int i = 0; i < numStreams; i++) { BlockingQueue<FetchedDataChunk> queue = Queues.newLinkedBlockingQueue(); this.queues.add(queue); this.mockStreams.add(createMockStream(queue)); this.offsets.add(new AtomicLong(0)); } this.nextStream = new AtomicLong(-1); }
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")));
@Override public void shutDown() { this.mockKafkaStream.shutdown(); super.shutDown(); } }
@Override protected List<KafkaStream<byte[], byte[]>> createStreams() { return this.mockKafkaStream.getMockStreams(); }