Simplify Java Configuration RequestMatcher Usage
If Spring MVC is present in the classpath, use MvcRequestMatcher by default. This commit also adds a new securityMatcher method in HttpSecurity Closes gh-11347 Closes gh-9159
This commit is contained in:
committed by
Marcus Hert Da Coregio
parent
bf59d7c374
commit
039e0328e1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,6 +28,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
import org.springframework.web.HttpRequestMethodNotSupportedException;
|
||||
import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
|
||||
import org.springframework.web.servlet.handler.MatchableHandlerMapping;
|
||||
@@ -245,4 +246,30 @@ public class MvcRequestMatcherTests {
|
||||
assertThat(this.matcher.matcher(this.request).isMatch()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void builderWhenServletPathThenServletPathPresent() {
|
||||
MvcRequestMatcher matcher = new MvcRequestMatcher.Builder(this.introspector).servletPath("/path")
|
||||
.pattern("/endpoint");
|
||||
assertThat(matcher.getServletPath()).isEqualTo("/path");
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "pattern")).isEqualTo("/endpoint");
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "method")).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void builderWhenPatternThenPatternPresent() {
|
||||
MvcRequestMatcher matcher = new MvcRequestMatcher.Builder(this.introspector).pattern("/endpoint");
|
||||
assertThat(matcher.getServletPath()).isNull();
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "pattern")).isEqualTo("/endpoint");
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "method")).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void builderWhenMethodAndPatternThenMethodAndPatternPresent() {
|
||||
MvcRequestMatcher matcher = new MvcRequestMatcher.Builder(this.introspector).pattern(HttpMethod.GET,
|
||||
"/endpoint");
|
||||
assertThat(matcher.getServletPath()).isNull();
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "pattern")).isEqualTo("/endpoint");
|
||||
assertThat(ReflectionTestUtils.getField(matcher, "method")).isEqualTo(HttpMethod.GET);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user