public void testCallBack() throws Exception { client.start(); Sys.sleep(1000); sum.set(0); final ServiceMockClientInterface mockService = client.createProxy(ServiceMockClientInterface.class, "serviceMock"); mockService.add(1, 2); mockService.sum(integer -> sum.set(integer)); client.flush(); serviceBundle.flushSends(); serviceBundle.flush(); Sys.sleep(1000); ((ClientProxy) mockService).clientProxyFlush(); client.flush(); serviceBundle.flushSends(); serviceBundle.flush(); Sys.sleep(1000); waitForTrigger(20, o -> httpSendWebSocketCalled.get()); ok = httpSendWebSocketCalled.get() || die(); waitForTrigger(20, o -> sum.get() == 3); Sys.sleep(1000); assertEquals(3, sum.get()); }
server.serviceBundle().flushSends(); Sys.sleep(100); server.flush();
server.serviceBundle().flushSends(); Sys.sleep(100); Sys.sleep(100);
@Test public void testNoMethodCallFound() { ProtocolEncoder encoder = QBit.factory().createEncoder(); MockHttpServer httpServer = new MockHttpServer(); final ServiceBundle serviceBundle = new ServiceBundleBuilder().setAddress("/root").build(); JsonMapper mapper = new BoonJsonMapper(); ServiceEndpointServerImpl server = new ServiceEndpointServerImpl( httpServer, encoder, QBit.factory().createProtocolParser(), serviceBundle, mapper, 1, 100, 30, 10, null, null, null, null, null, "localhost", 8080, 0, null, null, 50, 2, 2); server.initServices(new TodoService()); server.start(); final AtomicBoolean resultsWorked = new AtomicBoolean(); resultsWorked.set(false); httpServer.sendHttpGet("/services/todo-manager/testNoMethodCallFound", null, (code, mimeType, body) -> { if (code == 404) { resultsWorked.set(true); } }); server.serviceBundle().flushSends(); Sys.sleep(100); Sys.sleep(100); server.flush(); Sys.sleep(100); waitForTrigger(20, o -> resultsWorked.get()); if (!resultsWorked.get()) { die(" we did not get timeout"); } resultsWorked.set(false); }
public static void main(String... args) { ServiceEndpointServer server = startStatService(11500); final ServiceBundle serviceBundle = server.serviceBundle(); final StatService statService = serviceBundle.createLocalProxy(StatService.class, "stat-service"); for (int index = 0; index < 100; index++) { statService.recordCount("abc.count", index); statService.recordLevel("abc.level", index); Sys.sleep(1000); serviceBundle.flushSends(); statService.lastTenSecondCount(new Callback<Long>() { @Override public void accept(Long integer) { puts("Last ten second count for abc.count", integer); } }, "abc.count"); statService.averageLastLevel(new Callback<Long>() { @Override public void accept(Long integer) { puts("Average level second count for abc.level", integer); } }, "abc.level", 10); } }
@Test public void testResponses() throws Exception { call = MethodCallBuilder.methodCallBuilder().setAddress("/foo/adder").setName("add").setBody(Lists.list(1, 2)).build(); serviceBundle.addServiceObject("/adder", adderService); serviceBundle.call(call); serviceBundle.flushSends(); Sys.sleep(1000); responseReceiveQueue = serviceBundle.responses().receiveQueue(); serviceBundle.flush(); Sys.sleep(200); response = responseReceiveQueue.pollWait(); responseBody = response.body(); int sum = Conversions.toInt(responseBody); Assert.assertEquals("Sum should be 3", 3, sum); serviceBundle.stop(); }