|
16 | 16 |
|
17 | 17 | package org.springframework.boot.web.servlet; |
18 | 18 |
|
| 19 | +import java.util.Collection; |
| 20 | + |
19 | 21 | import jakarta.servlet.DispatcherType; |
20 | 22 | import jakarta.servlet.Filter; |
21 | 23 | import jakarta.servlet.FilterChain; |
@@ -140,6 +142,10 @@ void shouldApplyFilterRegistrationAnnotation() { |
140 | 142 | assertThat(filterRegistrationBean.getUrlPatterns()).containsExactly("/test/*"); |
141 | 143 | assertThat(filterRegistrationBean.getInitParameters()).containsEntry("env", "test") |
142 | 144 | .containsEntry("debug", "true"); |
| 145 | + Collection<ServletRegistrationBean<?>> servletRegistrationBeans = filterRegistrationBean.getServletRegistrationBeans(); |
| 146 | + assertThat(servletRegistrationBeans).hasSize(1); |
| 147 | + assertThat(servletRegistrationBeans.iterator().next().getServletName()) |
| 148 | + .isEqualTo("testServletRegistrationBean"); |
143 | 149 |
|
144 | 150 | }); |
145 | 151 | } |
@@ -184,25 +190,6 @@ void shouldApplyOrderFromOrderAttribute() { |
184 | 190 | .isEqualTo(ServletConfigurationWithAnnotationAndOrder.ORDER)); |
185 | 191 | } |
186 | 192 |
|
187 | | - @Test |
188 | | - void shouldApplyServletRegistrationBeansInFilterRegistration() { |
189 | | - load(FilterWithServletRegistrationBeansConfiguration.class); |
190 | | - |
191 | | - ServletContextInitializerBeans initializerBeans = new ServletContextInitializerBeans( |
192 | | - this.context.getBeanFactory(), TestServletContextInitializer.class); |
193 | | - |
194 | | - FilterRegistrationBean<?> frb = initializerBeans.stream() |
195 | | - .filter(FilterRegistrationBean.class::isInstance) |
196 | | - .map(FilterRegistrationBean.class::cast) |
197 | | - .filter((f) -> "testFilter".equals(f.getFilterName())) |
198 | | - .findFirst() |
199 | | - .orElseThrow(); |
200 | | - |
201 | | - assertThat(frb.getServletRegistrationBeans()).hasSize(1); |
202 | | - assertThat(frb.getServletRegistrationBeans().iterator().next().getServletName()) |
203 | | - .isEqualTo("testServletRegistrationBean"); |
204 | | - } |
205 | | - |
206 | 193 | private void load(Class<?>... configuration) { |
207 | 194 | this.context = new AnnotationConfigApplicationContext(configuration); |
208 | 195 | } |
@@ -305,25 +292,14 @@ static class FilterConfigurationWithAnnotation { |
305 | 292 | @FilterRegistration(enabled = false, name = "test", asyncSupported = false, |
306 | 293 | dispatcherTypes = DispatcherType.ERROR, matchAfter = true, servletNames = "test", |
307 | 294 | urlPatterns = "/test/*", initParameters = { @WebInitParam(name = "env", value = "test"), |
308 | | - @WebInitParam(name = "debug", value = "true") }) |
| 295 | + @WebInitParam(name = "debug", value = "true") }, servletRegistrationBeans = { TestServlet.class }) |
309 | 296 | TestFilter testFilter() { |
310 | 297 | return new TestFilter(); |
311 | 298 | } |
312 | 299 |
|
313 | | - } |
314 | | - |
315 | | - @Configuration(proxyBeanMethods = false) |
316 | | - static class FilterWithServletRegistrationBeansConfiguration { |
317 | | - |
318 | 300 | @Bean |
319 | 301 | ServletRegistrationBean<TestServlet> testServletRegistrationBean() { |
320 | | - return new ServletRegistrationBean<>(new TestServlet(), "/test"); |
321 | | - } |
322 | | - |
323 | | - @Bean |
324 | | - @FilterRegistration(name = "testFilter", servletRegistrationBeans = TestServlet.class) |
325 | | - TestFilter testFilter() { |
326 | | - return new TestFilter(); |
| 302 | + return new ServletRegistrationBean<>(new TestServlet()); |
327 | 303 | } |
328 | 304 |
|
329 | 305 | } |
|
0 commit comments