@Test public void testCloseNegotiation() { HandlerEmbedder handler = new HandlerEmbedder( false, new WebSocketDisconnectionNegotiator() ); Channel channel = handler.getChannel(); assertNull( handler.poll() ); channel.close(); WebSocketFrame webSocketCloseFrame = (WebSocketFrame) handler.poll(); assertNotNull( webSocketCloseFrame ); assertNull( handler.poll() ); handler.sendUpstream( webSocketCloseFrame ); DownstreamChannelStateEvent finalCloseEvent = (DownstreamChannelStateEvent) handler.poll(); assertNotNull( finalCloseEvent ); assertEquals( ChannelState.OPEN, finalCloseEvent.getState() ); assertFalse( Boolean.TRUE.equals( finalCloseEvent.getValue() ) ); }