@Test
public void testWSHttpCall() throws Exception {
AsyncHttpClient c = createAsyncHttpSSLClient();
WebSocket websocket = c.prepareGet("wss://127.0.0.1:" + port + "/test").execute(
new WebSocketUpgradeHandler.Builder()
.addWebSocketListener(new WebSocketTextListener() {
@Override
public void onMessage(String message) {
received.add(message);
log.info("received --> " + message);
latch.countDown();
}
@Override
public void onFragment(String fragment, boolean last) {
}
@Override
public void onOpen(WebSocket websocket) {
}
@Override
public void onClose(WebSocket websocket) {
}
@Override
public void onError(Throwable t) {
t.printStackTrace();
}
}).build()).get();
getMockEndpoint("mock:client").expectedBodiesReceived("Hello from WS client");
websocket.sendTextMessage("Hello from WS client");
assertTrue(latch.await(10, TimeUnit.SECONDS));
assertMockEndpointsSatisfied();
assertEquals(10, received.size());
for (int i = 0; i < 10; i++) {
assertEquals(">> Welcome on board!", received.get(i));
}
websocket.close();
c.close();
}