|
19 | 19 | import static io.rsocket.frame.FrameLengthCodec.FRAME_LENGTH_MASK;
|
20 | 20 | import static org.assertj.core.api.Assertions.assertThat;
|
21 | 21 | import static org.assertj.core.api.Assertions.assertThatNullPointerException;
|
| 22 | +import static org.mockito.ArgumentMatchers.any; |
22 | 23 |
|
23 | 24 | import java.net.InetSocketAddress;
|
24 | 25 | import java.util.Collections;
|
|
31 | 32 | import reactor.netty.http.server.HttpServer;
|
32 | 33 | import reactor.netty.http.server.HttpServerRequest;
|
33 | 34 | import reactor.netty.http.server.HttpServerResponse;
|
| 35 | +import reactor.netty.http.server.WebsocketServerSpec; |
34 | 36 | import reactor.test.StepVerifier;
|
35 | 37 |
|
36 | 38 | final class WebsocketServerTransportTest {
|
37 | 39 |
|
38 |
| - // @Test |
| 40 | + @Test |
39 | 41 | public void testThatSetupWithUnSpecifiedFrameSizeShouldSetMaxFrameSize() {
|
40 |
| - ArgumentCaptor<BiFunction> captor = ArgumentCaptor.forClass(BiFunction.class); |
41 |
| - HttpServer httpServer = Mockito.spy(HttpServer.create()); |
42 |
| - Mockito.doAnswer(a -> httpServer).when(httpServer).handle(captor.capture()); |
43 |
| - Mockito.doAnswer(a -> Mono.empty()).when(httpServer).bind(); |
44 |
| - |
45 |
| - WebsocketServerTransport serverTransport = WebsocketServerTransport.create(httpServer); |
| 42 | + ArgumentCaptor<BiFunction> httpHandlerCaptor = ArgumentCaptor.forClass(BiFunction.class); |
| 43 | + HttpServer server = Mockito.spy(HttpServer.create()); |
| 44 | + Mockito.doAnswer(a -> server).when(server).handle(httpHandlerCaptor.capture()); |
| 45 | + Mockito.doAnswer(a -> server).when(server).tcpConfiguration(any()); |
| 46 | + Mockito.doAnswer(a -> Mono.empty()).when(server).bind(); |
46 | 47 |
|
| 48 | + WebsocketServerTransport serverTransport = WebsocketServerTransport.create(server); |
47 | 49 | serverTransport.start(c -> Mono.empty()).subscribe();
|
48 | 50 |
|
49 | 51 | HttpServerRequest httpServerRequest = Mockito.mock(HttpServerRequest.class);
|
50 | 52 | HttpServerResponse httpServerResponse = Mockito.mock(HttpServerResponse.class);
|
51 | 53 |
|
52 |
| - captor.getValue().apply(httpServerRequest, httpServerResponse); |
| 54 | + httpHandlerCaptor.getValue().apply(httpServerRequest, httpServerResponse); |
| 55 | + |
| 56 | + ArgumentCaptor<BiFunction> handlerCaptor = ArgumentCaptor.forClass(BiFunction.class); |
| 57 | + ArgumentCaptor<WebsocketServerSpec> specCaptor = |
| 58 | + ArgumentCaptor.forClass(WebsocketServerSpec.class); |
| 59 | + |
| 60 | + Mockito.verify(httpServerResponse).sendWebsocket(handlerCaptor.capture(), specCaptor.capture()); |
53 | 61 |
|
54 |
| - Mockito.verify(httpServerResponse) |
55 |
| - .sendWebsocket( |
56 |
| - Mockito.nullable(String.class), Mockito.eq(FRAME_LENGTH_MASK), Mockito.any()); |
| 62 | + WebsocketServerSpec spec = specCaptor.getValue(); |
| 63 | + assertThat(spec.maxFramePayloadLength()).isEqualTo(FRAME_LENGTH_MASK); |
57 | 64 | }
|
58 | 65 |
|
59 | 66 | @DisplayName("creates server with BindAddress")
|
|
0 commit comments