|
4 | 4 | import org.slf4j.Logger; |
5 | 5 | import org.slf4j.LoggerFactory; |
6 | 6 | import org.springframework.core.annotation.AnnotatedElementUtils; |
7 | | -import org.springframework.mock.web.MockHttpServletRequest; |
8 | 7 | import org.springframework.security.core.Authentication; |
9 | 8 | import org.springframework.security.core.context.SecurityContext; |
10 | 9 | import org.springframework.security.oauth2.provider.OAuth2Authentication; |
@@ -85,7 +84,7 @@ private void addAuthHeader(AnnotatedElement annotated, TestContext testContext, |
85 | 84 | Assert.state(withToken != null, "No @WithToken exists!!!"); |
86 | 85 | MockMvc mockMvc = testContext.getApplicationContext().getBean(MockMvc.class); |
87 | 86 | MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/") |
88 | | - .with(testSecurityContext()).with(bearerAuthPostProcessor(withToken.value())); |
| 87 | + .with(testSecurityContext()).with(bearerTokenProcessor(withToken.value())); |
89 | 88 | // stash original default request builder |
90 | 89 | RequestBuilder originalRequestBuilder = (RequestBuilder) ReflectionTestUtils.getField(mockMvc, MockMvc.class, |
91 | 90 | "defaultRequestBuilder"); |
@@ -122,26 +121,15 @@ private void setDefaultRequestBuilder(MockMvc mockMvc, RequestBuilder requestBui |
122 | 121 | ReflectionTestUtils.invokeSetterMethod(mockMvc, "setDefaultRequest", requestBuilder, RequestBuilder.class); |
123 | 122 | } |
124 | 123 |
|
125 | | - private RequestPostProcessor bearerAuthPostProcessor(String token) { |
126 | | - return new BearerAuthPostProcessor(token); |
127 | | - } |
128 | | - |
129 | | - class BearerAuthPostProcessor implements RequestPostProcessor { |
130 | | - private final String token; |
131 | | - |
132 | | - BearerAuthPostProcessor(String token) { |
133 | | - this.token = token; |
134 | | - } |
135 | | - |
136 | | - @Override |
137 | | - public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) { |
138 | | - String authHeader = request.getHeader("Authorization"); |
| 124 | + private RequestPostProcessor bearerTokenProcessor(String token) { |
| 125 | + return mockRequest -> { |
| 126 | + String authHeader = mockRequest.getHeader("Authorization"); |
139 | 127 | if (!StringUtils.hasText(authHeader)) { |
140 | | - request.addHeader("Authorization", "Bearer " + token); |
| 128 | + mockRequest.addHeader("Authorization", "Bearer " + token); |
141 | 129 | } else { |
142 | 130 | log.warn("DO NOT OVERRIDE existing authorization header: {}", authHeader); |
143 | 131 | } |
144 | | - return request; |
145 | | - } |
| 132 | + return mockRequest; |
| 133 | + }; |
146 | 134 | } |
147 | 135 | } |
0 commit comments