@Override protected ListenableFuture<Response> go(Request request) { thisLatch.countDown(); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Test public void testSizeBasedEmission() throws Exception { emitter = sizeBasedEmitter(3); httpClient.setGoHandler(GoHandlers.failingHandler()); emitter.emit(new UnitEvent("test", 1)); emitter.emit(new UnitEvent("test", 2)); httpClient.setGoHandler(GoHandlers.passingHandler(okResponse()).times(1)); emitter.emit(new UnitEvent("test", 3)); waitForEmission(emitter, 1); httpClient.setGoHandler(GoHandlers.failingHandler()); emitter.emit(new UnitEvent("test", 4)); emitter.emit(new UnitEvent("test", 5)); closeAndExpectFlush(emitter); Assert.assertTrue(httpClient.succeeded()); }
new UnitEvent("test", 2) ); emitter = sizeBasedEmitter(2); emitter.emit(event); waitForEmission(emitter, 1); closeNoFlush(emitter); Assert.assertTrue(httpClient.succeeded());
new UnitEvent("test", 2) ); emitter = sizeBasedEmitterGeneralizedCreation(2); emitter.emit(event); waitForEmission(emitter, 1); closeNoFlush(emitter); Assert.assertTrue(httpClient.succeeded());
emitter = timeBasedEmitter(timeBetweenEmissions); ); waitForEmission(emitter, 1); ); waitForEmission(emitter, 2); closeNoFlush(emitter); Assert.assertTrue("httpClient.succeeded()", httpClient.succeeded());
); emitter = sizeBasedEmitterWithContentEncoding(2, ContentEncoding.GZIP); emitter.emit(event); waitForEmission(emitter, 1); closeNoFlush(emitter); Assert.assertTrue(httpClient.succeeded());
new UnitEvent("test", 2) ); emitter = manualFlushEmitterWithBasicAuthenticationAndNewlineSeparating("foo:bar"); waitForEmission(emitter, 1); closeNoFlush(emitter); Assert.assertTrue(httpClient.succeeded());
); final AtomicInteger counter = new AtomicInteger(); emitter = manualFlushEmitterWithBatchSize(1024 * 1024); Assert.assertEquals(0, emitter.getTotalEmittedEvents()); Assert.assertEquals(0, emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount()); emitter.emit(event); waitForEmission(emitter, 1); Assert.assertEquals(2, emitter.getTotalEmittedEvents()); Assert.assertTrue(emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount() > 0); waitForEmission(emitter, 2); Assert.assertEquals(4, emitter.getTotalEmittedEvents()); Assert.assertTrue(emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount() > 0); Assert.assertEquals(0, emitter.getFailedSendingTimeCounter().getTimeSumAndCount()); closeNoFlush(emitter); Assert.assertTrue(httpClient.succeeded());
emitter = sizeBasedEmitter(1); Assert.assertEquals(0, emitter.getTotalEmittedEvents()); Assert.assertEquals(0, emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount()); emitter.emit(event1); emitter.flush(); waitForEmission(emitter, 1); Assert.assertTrue(httpClient.succeeded()); waitForEmission(emitter, 2); closeNoFlush(emitter);
@Override protected ListenableFuture<Response> go(Request request) { latch.countDown(); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Override protected ListenableFuture<Response> go(Request request) { return GoHandlers.immediateFuture(okResponse()); } }.times(2)
@Override protected ListenableFuture<Response> go(Request request) { results.put( request.getUrl(), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(2)
@Override protected ListenableFuture<Response> go(Request request) { int timeout = request.getRequestTimeout(); timeoutUsed.set(timeout); return GoHandlers.immediateFuture(EmitterTest.okResponse()); } });
@Override protected ListenableFuture<Response> go(Request request) throws JsonProcessingException { Assert.assertEquals("http://example.com/val1/val2", request.getUrl()); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(0)), jsonMapper.writeValueAsString(events.get(1)) ), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Override public ListenableFuture<Response> go(Request request) throws JsonProcessingException { Assert.assertEquals("http://example.com/test", request.getUrl()); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(0)), jsonMapper.writeValueAsString(events.get(1)) ), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Override protected ListenableFuture<Response> go(Request request) throws JsonProcessingException { Assert.assertEquals(TARGET_URL, request.getUrl()); Assert.assertEquals( "application/json", request.getHeaders().get(HttpHeaders.Names.CONTENT_TYPE) ); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(counter.getAndIncrement())), jsonMapper.writeValueAsString(events.get(counter.getAndIncrement())) ), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(3)
@Override protected ListenableFuture<Response> go(Request request) throws JsonProcessingException { Assert.assertEquals(TARGET_URL, request.getUrl()); Assert.assertEquals( "application/json", request.getHeaders().get(HttpHeaders.Names.CONTENT_TYPE) ); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(0)), jsonMapper.writeValueAsString(events.get(1)) ), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Override protected ListenableFuture<Response> go(Request request) throws JsonProcessingException { Assert.assertEquals(TARGET_URL, request.getUrl()); Assert.assertEquals( "application/json", request.getHeaders().get(HttpHeaders.Names.CONTENT_TYPE) ); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(0)), jsonMapper.writeValueAsString(events.get(1)) ), StandardCharsets.UTF_8.decode(request.getByteBufferData().slice()).toString() ); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@Override protected ListenableFuture<Response> go(Request request) throws IOException { Assert.assertEquals(TARGET_URL, request.getUrl()); Assert.assertEquals( "application/json", request.getHeaders().get(HttpHeaders.Names.CONTENT_TYPE) ); Assert.assertEquals( HttpHeaders.Values.GZIP, request.getHeaders().get(HttpHeaders.Names.CONTENT_ENCODING) ); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteBuffer data = request.getByteBufferData().slice(); byte[] dataArray = new byte[data.remaining()]; data.get(dataArray); CompressionUtils.gunzip(new ByteArrayInputStream(dataArray), baos); Assert.assertEquals( StringUtils.format( "[%s,%s]\n", jsonMapper.writeValueAsString(events.get(0)), jsonMapper.writeValueAsString(events.get(1)) ), baos.toString(StandardCharsets.UTF_8.name()) ); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
private void closeAndExpectFlush(Emitter emitter) throws IOException { httpClient.setGoHandler(GoHandlers.passingHandler(okResponse()).times(1)); emitter.close(); }