@Override public List<Publisher> getPublishers(int n) { if (context == QUERY_SUBMISSION) { return getPubscribers(n).stream().map(p -> (Publisher) p).collect(Collectors.toList()); } return IntStream.range(0, n).mapToObj(i -> new DRPCResultPublisher(config)).collect(Collectors.toList()); }
@BeforeMethod public void setup() { DRPCConfig config = new DRPCConfig("src/test/resources/test_drpc_config.yaml"); Map stormConfig = new Config("src/test/resources/test_storm_config.yaml").getAll(Optional.empty()); config.set(DRPCConfig.STORM_CONFIG, stormConfig); publisher = new DRPCResultPublisher(config); collector = publisher.getCollector(); // Override the ReturnResults with our own that uses our collector and fails every two tuples injectedMockBolt = new MockReturnResults(collector, 5); publisher.setBolt(injectedMockBolt); }
@Test(expectedExceptions = PubSubException.class) public void testFailing() throws Exception { injectedMockBolt.setFailNumber(1); Assert.assertEquals(injectedMockBolt.getCount(), 0); PubSubMessage message = new PubSubMessage("foo", "{}", new Metadata(null, makeReturnInfo("a", "testHost", 80))); publisher.send(message); }
@Test public void testCleaningUp() { Assert.assertFalse(injectedMockBolt.isCleanedUp()); publisher.close(); Assert.assertTrue(injectedMockBolt.isCleanedUp()); } }
@Test public void testSending() throws Exception { Assert.assertEquals(injectedMockBolt.getCount(), 0); PubSubMessage message = new PubSubMessage("foo", "{}", new Metadata(null, makeReturnInfo("a", "testHost", 80))); publisher.send(message); Assert.assertEquals(injectedMockBolt.getCount(), 1); Assert.assertTrue(collector.isAcked()); Assert.assertFalse(collector.isFailed()); // Output is no longer present Assert.assertFalse(collector.haveOutput()); Assert.assertNull(collector.reset()); message = new PubSubMessage("bar", "{}", new Metadata(null, makeReturnInfo("b", "testHost", 80))); publisher.send(message); Assert.assertEquals(injectedMockBolt.getCount(), 2); Assert.assertTrue(collector.isAcked()); Assert.assertFalse(collector.isFailed()); Assert.assertFalse(collector.haveOutput()); Assert.assertNull(collector.reset()); }
@Override public List<Publisher> getPublishers(int n) { if (context == QUERY_SUBMISSION) { return getPubscribers(n).stream().map(p -> (Publisher) p).collect(Collectors.toList()); } return IntStream.range(0, n).mapToObj(i -> new DRPCResultPublisher(config)).collect(Collectors.toList()); }
@Override public Publisher getPublisher() { return context == QUERY_SUBMISSION ? getPubscriber() : new DRPCResultPublisher(config); }
@Override public Publisher getPublisher() { return context == QUERY_SUBMISSION ? getPubscriber() : new DRPCResultPublisher(config); }