@Override protected ListenableFuture<Response> go(Request request) { thisLatch.countDown(); return GoHandlers.immediateFuture(okResponse()); } }.times(1)
@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(); }
@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( "Basic " + StringUtils.encodeBase64String(StringUtils.toUtf8("foo:bar")), request.getHeaders().get(HttpHeaders.Names.AUTHORIZATION) ); Assert.assertEquals( StringUtils.format( "%s\n%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)
@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()); }