@Override public void configureArgumentResolvers(ArgumentResolverConfigurer configurer) { this.delegates.forEach(delegate -> delegate.configureArgumentResolvers(configurer)); }
@Override public void addCorsMappings(CorsRegistry registry) { this.delegates.forEach(delegate -> delegate.addCorsMappings(registry)); }
@Override public void addFormatters(FormatterRegistry registry) { this.delegates.forEach(delegate -> delegate.addFormatters(registry)); }
@Test public void requestMappingHandlerAdapter() throws Exception { delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer)); ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) this.delegatingConfig.requestMappingHandlerAdapter().getWebBindingInitializer(); verify(webFluxConfigurer).configureHttpMessageCodecs(codecsConfigurer.capture()); verify(webFluxConfigurer).getValidator(); verify(webFluxConfigurer).getMessageCodesResolver(); verify(webFluxConfigurer).addFormatters(formatterRegistry.capture()); verify(webFluxConfigurer).configureArgumentResolvers(any()); assertNotNull(initializer); assertTrue(initializer.getValidator() instanceof LocalValidatorFactoryBean); assertSame(formatterRegistry.getValue(), initializer.getConversionService()); assertEquals(13, codecsConfigurer.getValue().getReaders().size()); }
@Test public void requestMappingHandlerMapping() throws Exception { delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer)); delegatingConfig.requestMappingHandlerMapping(); verify(webFluxConfigurer).configureContentTypeResolver(any(RequestedContentTypeResolverBuilder.class)); verify(webFluxConfigurer).addCorsMappings(any(CorsRegistry.class)); verify(webFluxConfigurer).configurePathMatching(any(PathMatchConfigurer.class)); }
@Test public void responseBodyResultHandler() throws Exception { delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer)); delegatingConfig.responseBodyResultHandler(); verify(webFluxConfigurer).configureHttpMessageCodecs(codecsConfigurer.capture()); verify(webFluxConfigurer).configureContentTypeResolver(any(RequestedContentTypeResolverBuilder.class)); }
@Test public void resourceHandlerMapping() throws Exception { delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer)); doAnswer(invocation -> { ResourceHandlerRegistry registry = invocation.getArgument(0); registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static"); return null; }).when(webFluxConfigurer).addResourceHandlers(any(ResourceHandlerRegistry.class)); delegatingConfig.resourceHandlerMapping(); verify(webFluxConfigurer).addResourceHandlers(any(ResourceHandlerRegistry.class)); verify(webFluxConfigurer).configurePathMatching(any(PathMatchConfigurer.class)); }
@Override public void configureViewResolvers(ViewResolverRegistry registry) { this.delegates.forEach(delegate -> delegate.configureViewResolvers(registry)); }
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { this.delegates.forEach(delegate -> delegate.addResourceHandlers(registry)); }
@Override public void configurePathMatching(PathMatchConfigurer configurer) { this.delegates.forEach(delegate -> delegate.configurePathMatching(configurer)); }
@Override public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) { this.delegates.forEach(delegate -> delegate.configureHttpMessageCodecs(configurer)); }
@Override public void configureContentTypeResolver(RequestedContentTypeResolverBuilder builder) { this.delegates.forEach(delegate -> delegate.configureContentTypeResolver(builder)); }
@Before public void setup() { MockitoAnnotations.initMocks(this); delegatingConfig = new DelegatingWebFluxConfiguration(); delegatingConfig.setApplicationContext(new StaticApplicationContext()); given(webFluxConfigurer.getValidator()).willReturn(null); given(webFluxConfigurer.getMessageCodesResolver()).willReturn(null); }
@Test public void viewResolutionResultHandler() throws Exception { delegatingConfig.setConfigurers(Collections.singletonList(webFluxConfigurer)); delegatingConfig.viewResolutionResultHandler(); verify(webFluxConfigurer).configureViewResolvers(any(ViewResolverRegistry.class)); }
@Override public void configureArgumentResolvers(ArgumentResolverConfigurer configurer) { WebFluxConfigurer.super.configureArgumentResolvers(configurer); configurer .addCustomResolver(context.getBean(ProxyExchangeArgumentResolver.class)); } }