@EnableWebFlux setup supports WebSocketHandler

Closes gh-22587
This commit is contained in:
Rossen Stoyanchev
2020-08-31 04:27:37 +01:00
parent 8f369ffed5
commit 591ab8a00a
8 changed files with 183 additions and 18 deletions

View File

@@ -37,11 +37,14 @@ import org.springframework.validation.Validator;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.reactive.accept.RequestedContentTypeResolverBuilder;
import org.springframework.web.reactive.socket.server.WebSocketService;
import org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
/**
@@ -73,6 +76,7 @@ public class DelegatingWebFluxConfigurationTests {
delegatingConfig.setApplicationContext(new StaticApplicationContext());
given(webFluxConfigurer.getValidator()).willReturn(null);
given(webFluxConfigurer.getMessageCodesResolver()).willReturn(null);
given(webFluxConfigurer.getWebSocketService()).willReturn(null);
}
@@ -125,6 +129,17 @@ public class DelegatingWebFluxConfigurationTests {
verify(webFluxConfigurer).configurePathMatching(any(PathMatchConfigurer.class));
}
@Test
void webSocketService() {
WebSocketService service = mock(WebSocketService.class);
given(webFluxConfigurer.getWebSocketService()).willReturn(service);
delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer));
WebSocketHandlerAdapter adapter = delegatingConfig.webFluxWebSocketHandlerAdapter();
assertThat(adapter.getWebSocketService()).isSameAs(service);
}
@Test
public void responseBodyResultHandler() {
delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer));