Commit bc96e099 authored by Madhura Bhave's avatar Madhura Bhave

Add additional test for reactive security auto-config

parent 45f6668d
...@@ -17,12 +17,16 @@ ...@@ -17,12 +17,16 @@
package org.springframework.boot.autoconfigure.security.reactive; package org.springframework.boot.autoconfigure.security.reactive;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import reactor.core.publisher.Flux;
import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.web.server.WebFilterChainProxy; import org.springframework.security.web.server.WebFilterChainProxy;
import org.springframework.web.reactive.config.WebFluxConfigurer;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
...@@ -51,6 +55,16 @@ class ReactiveSecurityAutoConfigurationTests { ...@@ -51,6 +55,16 @@ class ReactiveSecurityAutoConfigurationTests {
.run((context) -> assertThat(context).getBean(WebFilterChainProxy.class).isNotNull()); .run((context) -> assertThat(context).getBean(WebFilterChainProxy.class).isNotNull());
} }
@Test
void autoConfigurationIsConditionalOnClass() {
this.contextRunner
.withClassLoader(new FilteredClassLoader(Flux.class, EnableWebFluxSecurity.class,
WebFilterChainProxy.class, WebFluxConfigurer.class))
.withConfiguration(AutoConfigurations.of(ReactiveSecurityAutoConfiguration.class,
ReactiveUserDetailsServiceAutoConfiguration.class))
.run((context) -> assertThat(context).doesNotHaveBean(WebFilterChainProxy.class));
}
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
static class WebFilterChainProxyConfiguration { static class WebFilterChainProxyConfiguration {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment