Skip to content

Commit 5ac7e74

Browse files
committed
Replace test FilterRegistration with the one in testFixtures
See gh-33252
1 parent 24ab6f6 commit 5ac7e74

File tree

4 files changed

+32
-117
lines changed

4 files changed

+32
-117
lines changed

spring-test/src/main/java/org/springframework/mock/web/MockFilterRegistration.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @author Rossen Stoyanchev
3939
* @since 6.2
4040
*/
41-
public class MockFilterRegistration implements FilterRegistration {
41+
public class MockFilterRegistration implements FilterRegistration.Dynamic {
4242

4343
private final String name;
4444

@@ -50,6 +50,8 @@ public class MockFilterRegistration implements FilterRegistration {
5050

5151
private final List<String> urlPatterns = new ArrayList<>();
5252

53+
private boolean asyncSupported;
54+
5355

5456
public MockFilterRegistration(String className) {
5557
this(className, "");
@@ -126,4 +128,13 @@ public Collection<String> getUrlPatternMappings() {
126128
return Collections.unmodifiableCollection(this.urlPatterns);
127129
}
128130

131+
@Override
132+
public void setAsyncSupported(boolean asyncSupported) {
133+
this.asyncSupported = asyncSupported;
134+
}
135+
136+
public boolean isAsyncSupported() {
137+
return this.asyncSupported;
138+
}
139+
129140
}

spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockFilterRegistration.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @author Rossen Stoyanchev
3939
* @since 6.2
4040
*/
41-
public class MockFilterRegistration implements FilterRegistration {
41+
public class MockFilterRegistration implements FilterRegistration.Dynamic {
4242

4343
private final String name;
4444

@@ -50,6 +50,8 @@ public class MockFilterRegistration implements FilterRegistration {
5050

5151
private final List<String> urlPatterns = new ArrayList<>();
5252

53+
private boolean asyncSupported;
54+
5355

5456
public MockFilterRegistration(String className) {
5557
this(className, "");
@@ -126,4 +128,13 @@ public Collection<String> getUrlPatternMappings() {
126128
return Collections.unmodifiableCollection(this.urlPatterns);
127129
}
128130

131+
@Override
132+
public void setAsyncSupported(boolean asyncSupported) {
133+
this.asyncSupported = asyncSupported;
134+
}
135+
136+
public boolean isAsyncSupported() {
137+
return this.asyncSupported;
138+
}
139+
129140
}

spring-webmvc/src/test/java/org/springframework/web/servlet/support/AnnotationConfigDispatcherServletInitializerTests.java

+8-11
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@
1717
package org.springframework.web.servlet.support;
1818

1919
import java.util.Collections;
20-
import java.util.EnumSet;
2120
import java.util.EventListener;
2221
import java.util.LinkedHashMap;
2322
import java.util.Map;
2423

25-
import jakarta.servlet.DispatcherType;
2624
import jakarta.servlet.Filter;
2725
import jakarta.servlet.FilterRegistration.Dynamic;
2826
import jakarta.servlet.Servlet;
@@ -40,6 +38,7 @@
4038
import org.springframework.web.filter.DelegatingFilterProxy;
4139
import org.springframework.web.filter.HiddenHttpMethodFilter;
4240
import org.springframework.web.servlet.DispatcherServlet;
41+
import org.springframework.web.testfixture.servlet.MockFilterRegistration;
4342
import org.springframework.web.testfixture.servlet.MockServletConfig;
4443
import org.springframework.web.testfixture.servlet.MockServletContext;
4544

@@ -112,11 +111,9 @@ void register() throws ServletException {
112111
assertThat(filterRegistrations.get("delegatingFilterProxy#0")).isNotNull();
113112
assertThat(filterRegistrations.get("delegatingFilterProxy#1")).isNotNull();
114113

115-
for (MockFilterRegistration filterRegistration : filterRegistrations.values()) {
116-
assertThat(filterRegistration.isAsyncSupported()).isTrue();
117-
EnumSet<DispatcherType> enumSet = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD,
118-
DispatcherType.INCLUDE, DispatcherType.ASYNC);
119-
assertThat(filterRegistration.getMappings().get(SERVLET_NAME)).isEqualTo(enumSet);
114+
for (MockFilterRegistration registration : filterRegistrations.values()) {
115+
assertThat(registration.isAsyncSupported()).isTrue();
116+
assertThat(registration.getServletNameMappings().iterator().next()).isEqualTo(SERVLET_NAME);
120117
}
121118

122119
}
@@ -135,9 +132,9 @@ protected boolean isAsyncSupported() {
135132
MockServletRegistration servletRegistration = servletRegistrations.get(SERVLET_NAME);
136133
assertThat(servletRegistration.isAsyncSupported()).isFalse();
137134

138-
for (MockFilterRegistration filterRegistration : filterRegistrations.values()) {
139-
assertThat(filterRegistration.isAsyncSupported()).isFalse();
140-
assertThat(filterRegistration.getMappings().get(SERVLET_NAME)).isEqualTo(EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE));
135+
for (MockFilterRegistration registration : filterRegistrations.values()) {
136+
assertThat(registration.isAsyncSupported()).isFalse();
137+
assertThat(registration.getServletNameMappings().iterator().next()).isEqualTo(SERVLET_NAME);
141138
}
142139
}
143140

@@ -209,7 +206,7 @@ public Dynamic addFilter(String filterName, Filter filter) {
209206
return null;
210207
}
211208
filters.put(filterName, filter);
212-
MockFilterRegistration registration = new MockFilterRegistration();
209+
MockFilterRegistration registration = new MockFilterRegistration(filter.getClass().getName(), filterName);
213210
filterRegistrations.put(filterName, registration);
214211
return registration;
215212
}

spring-webmvc/src/test/java/org/springframework/web/servlet/support/MockFilterRegistration.java

-104
This file was deleted.

0 commit comments

Comments
 (0)