Java Reference
In-Depth Information
final int seatNumber = 4;
final Deque<JsonObject> messages = new
ConcurrentLinkedDeque<>(); // [2]
final CountDownLatch messageLatch =new
CountDownLatch(1); // [3]
final MessageHandler.Whole<String> handler = // [4]
new MessageHandler.Whole<String>() {
@Override
public void onMessage(String message) {
messages.add(Json
.createReader(new StringReader(message))
.readObject());
messageLatch.countDown();
}
};
ContainerProvider.getWebSocketContainer() // [5]
.connectToServer(new Endpoint() {
@Override
public void onOpen(Session session,
EndpointConfig
endpointConfig) {
session.addMessageHandler(handler);
}
}, new URI(WEBSOCKET_URL));
// when
RestAssured.when()
.post(SEAT_RESOURCE_URL + "/" +
seatNumber)
.then().statusCode(200); // [6]
messageLatch.await(10, TimeUnit.SECONDS); // [7]
// then [8]
assertThat(messages.size(), equalTo(1));
final JsonObject message = messages.poll();
assertThat(message.getInt("id"),
equalTo(seatNumber));
Search WWH ::




Custom Search