Add no-parameter authorizeHttpRequests method

Closes gh-9498
This commit is contained in:
sdratler1
2021-04-12 20:08:09 +03:00
committed by Josh Cummings
parent 0080aeee94
commit 3820f0f3a3
2 changed files with 133 additions and 1 deletions

View File

@@ -72,6 +72,14 @@ public class AuthorizeHttpRequestsConfigurerTests {
"At least one mapping is required (for example, authorizeHttpRequests().anyRequest().authenticated())");
}
@Test
public void configureWhenAuthorizedHttpRequestsAndNoRequestsThenExceptionWithDefaultConfig() {
assertThatExceptionOfType(BeanCreationException.class)
.isThrownBy(() -> this.spring.register(NoRequestsConfigWithDefaultConfig.class).autowire())
.withMessageContaining(
"At least one mapping is required (for example, authorizeHttpRequests().anyRequest().authenticated())");
}
@Test
public void configureWhenAnyRequestIncompleteMappingThenException() {
assertThatExceptionOfType(BeanCreationException.class)
@@ -79,6 +87,14 @@ public class AuthorizeHttpRequestsConfigurerTests {
.withMessageContaining("An incomplete mapping was found for ");
}
@Test
public void configureWhenAnyRequestIncompleteMappingDefaultConfigThenException() {
assertThatExceptionOfType(BeanCreationException.class)
this.spring.register(IncompleteMappingConfigWithDefaultConfig.class, BasicController.class).autowire();
this.mvc.perform(get("/")).andExpect(status().isOk());
verify(CustomAuthorizationManagerConfig.authorizationManager).check(any(), any());
}
@Test
public void configureWhenMvcMatcherAfterAnyRequestThenException() {
assertThatExceptionOfType(BeanCreationException.class)
@@ -94,6 +110,14 @@ public class AuthorizeHttpRequestsConfigurerTests {
verify(CustomAuthorizationManagerConfig.authorizationManager).check(any(), any());
}
@Test
public void configureMvcMatcherAccessAuthorizationManagerOnDefault() throws Exception {
CustomAuthorizationManagerConfig.authorizationManager = mock(AuthorizationManager.class);
this.spring.register(IncompleteMappingConfigWithDefaultConfig.class).autowire();
this.mvc.perform(get("/")).andExpect(status().isUnauthorized());
verify(CustomAuthorizationManagerConfig.authorizationManager).check(any(), any());
}
@Test
public void configureMvcMatcherAccessAuthorizationManagerWhenNullThenException() {
CustomAuthorizationManagerConfig.authorizationManager = null;
@@ -370,6 +394,34 @@ public class AuthorizeHttpRequestsConfigurerTests {
}
@EnableWebSecurity
static class NoRequestsConfigWithDefaultConfig {
@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
// @formatter:off
return http
.authorizeHttpRequests()
.build();
// @formatter:on
}
}
@EnableWebSecurity
static class IncompleteMappingConfigWithDefaultConfig {
@Bean
FormLoginConfigurer<HttpSecurity> filterChain(HttpSecurity http) throws Exception {
// @formatter:off
return http
.authorizeHttpRequests()
.formLogin();
// @formatter:on
}
}
@EnableWebSecurity
static class IncompleteMappingConfig {