|
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