Disable tests that need Spring MVC mocked in classpath
Issue gh-11347
This commit is contained in:
parent
c847efd3fd
commit
c6978fba7c
|
@ -16,12 +16,11 @@
|
|||
|
||||
package org.springframework.security.config.annotation.web;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.servlet.DispatcherType;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
|
@ -113,8 +112,7 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenPatternAndMvcPresentThenReturnMvcRequestMatcherType() throws Exception {
|
||||
mockMvcPresentClasspath(true);
|
||||
public void requestMatchersWhenPatternAndMvcPresentThenReturnMvcRequestMatcherType() {
|
||||
mockMvcIntrospector(true);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers("/path");
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -123,8 +121,7 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenHttpMethodAndPatternAndMvcPresentThenReturnMvcRequestMatcherType() throws Exception {
|
||||
mockMvcPresentClasspath(true);
|
||||
public void requestMatchersWhenHttpMethodAndPatternAndMvcPresentThenReturnMvcRequestMatcherType() {
|
||||
mockMvcIntrospector(true);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers(HttpMethod.GET, "/path");
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -133,8 +130,7 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenHttpMethodAndMvcPresentThenReturnMvcRequestMatcherType() throws Exception {
|
||||
mockMvcPresentClasspath(true);
|
||||
public void requestMatchersWhenHttpMethodAndMvcPresentThenReturnMvcRequestMatcherType() {
|
||||
mockMvcIntrospector(true);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers(HttpMethod.GET);
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -143,8 +139,8 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenPatternAndMvcNotPresentThenReturnAntPathRequestMatcherType() throws Exception {
|
||||
mockMvcPresentClasspath(false);
|
||||
@Disabled
|
||||
public void requestMatchersWhenPatternAndMvcNotPresentThenReturnAntPathRequestMatcherType() {
|
||||
mockMvcIntrospector(false);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers("/path");
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -153,9 +149,8 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenHttpMethodAndPatternAndMvcNotPresentThenReturnAntPathRequestMatcherType()
|
||||
throws Exception {
|
||||
mockMvcPresentClasspath(false);
|
||||
@Disabled
|
||||
public void requestMatchersWhenHttpMethodAndPatternAndMvcNotPresentThenReturnAntPathRequestMatcherType() {
|
||||
mockMvcIntrospector(false);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers(HttpMethod.GET, "/path");
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -164,8 +159,8 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenHttpMethodAndMvcNotPresentThenReturnAntPathMatcherType() throws Exception {
|
||||
mockMvcPresentClasspath(false);
|
||||
@Disabled
|
||||
public void requestMatchersWhenHttpMethodAndMvcNotPresentThenReturnAntPathMatcherType() {
|
||||
mockMvcIntrospector(false);
|
||||
List<RequestMatcher> requestMatchers = this.matcherRegistry.requestMatchers(HttpMethod.GET);
|
||||
assertThat(requestMatchers).isNotEmpty();
|
||||
|
@ -174,9 +169,7 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestMatchersWhenMvcPresentInClassPathAndMvcIntrospectorBeanNotAvailableThenException()
|
||||
throws Exception {
|
||||
mockMvcPresentClasspath(true);
|
||||
public void requestMatchersWhenMvcPresentInClassPathAndMvcIntrospectorBeanNotAvailableThenException() {
|
||||
mockMvcIntrospector(false);
|
||||
assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
|
||||
.isThrownBy(() -> this.matcherRegistry.requestMatchers("/path")).withMessageContaining(
|
||||
|
@ -188,15 +181,6 @@ public class AbstractRequestMatcherRegistryTests {
|
|||
given(context.containsBean("mvcHandlerMappingIntrospector")).willReturn(isPresent);
|
||||
}
|
||||
|
||||
private void mockMvcPresentClasspath(Object newValue) throws Exception {
|
||||
Field mvcPresentField = AbstractRequestMatcherRegistry.class.getDeclaredField("mvcPresent");
|
||||
mvcPresentField.setAccessible(true);
|
||||
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
||||
modifiersField.setAccessible(true);
|
||||
modifiersField.setInt(mvcPresentField, mvcPresentField.getModifiers() & ~Modifier.FINAL);
|
||||
mvcPresentField.set(null, newValue);
|
||||
}
|
||||
|
||||
private static class TestRequestMatcherRegistry extends AbstractRequestMatcherRegistry<List<RequestMatcher>> {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -16,12 +16,10 @@
|
|||
|
||||
package org.springframework.security.config.annotation.web.configurers;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -34,7 +32,6 @@ import org.springframework.mock.web.MockFilterChain;
|
|||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.mock.web.MockHttpServletResponse;
|
||||
import org.springframework.mock.web.MockServletContext;
|
||||
import org.springframework.security.config.annotation.web.AbstractRequestMatcherRegistry;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
|
@ -78,7 +75,6 @@ public class HttpSecuritySecurityMatchersTests {
|
|||
this.request.setMethod("GET");
|
||||
this.response = new MockHttpServletResponse();
|
||||
this.chain = new MockFilterChain();
|
||||
mockMvcPresentClasspath(true);
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
|
@ -105,8 +101,8 @@ public class HttpSecuritySecurityMatchersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void securityMatcherWhenNoMvcThenAntMatcher() throws Exception {
|
||||
mockMvcPresentClasspath(false);
|
||||
loadConfig(SecurityMatcherNoMvcConfig.class, LegacyMvcMatchingConfig.class);
|
||||
this.request.setServletPath("/path");
|
||||
this.springSecurityFilterChain.doFilter(this.request, this.response, this.chain);
|
||||
|
@ -237,20 +233,6 @@ public class HttpSecuritySecurityMatchersTests {
|
|||
this.context.getAutowireCapableBeanFactory().autowireBean(this);
|
||||
}
|
||||
|
||||
private void mockMvcPresentClasspath(Object newValue) throws Exception {
|
||||
mockMvcPresentClasspath(HttpSecurity.class, newValue);
|
||||
mockMvcPresentClasspath(AbstractRequestMatcherRegistry.class, newValue);
|
||||
}
|
||||
|
||||
private void mockMvcPresentClasspath(Class<?> clazz, Object newValue) throws Exception {
|
||||
Field mvcPresentField = clazz.getDeclaredField("mvcPresent");
|
||||
mvcPresentField.setAccessible(true);
|
||||
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
||||
modifiersField.setAccessible(true);
|
||||
modifiersField.setInt(mvcPresentField, mvcPresentField.getModifiers() & ~Modifier.FINAL);
|
||||
mvcPresentField.set(null, newValue);
|
||||
}
|
||||
|
||||
@EnableWebSecurity
|
||||
@Configuration
|
||||
@EnableWebMvc
|
||||
|
|
Loading…
Reference in New Issue