Skip to content

Commit b388ff6

Browse files
committed
Fix parameterized test display names and polishing
1 parent 412f5f6 commit b388ff6

File tree

2 files changed

+36
-25
lines changed

2 files changed

+36
-25
lines changed

spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ class SimpleUrlHandlerMappingTests {
4545

4646
@Test
4747
void handlerMappingJavaConfig() {
48-
AnnotationConfigApplicationContext wac = new AnnotationConfigApplicationContext();
49-
wac.register(WebConfig.class);
50-
wac.refresh();
48+
AnnotationConfigApplicationContext wac = new AnnotationConfigApplicationContext(WebConfig.class);
5149

5250
HandlerMapping handlerMapping = (HandlerMapping) wac.getBean("handlerMapping");
5351
Object mainController = wac.getBean("mainController");
@@ -62,7 +60,6 @@ void handlerMappingJavaConfig() {
6260
@Test
6361
void handlerMappingXmlConfig() {
6462
ClassPathXmlApplicationContext wac = new ClassPathXmlApplicationContext("map.xml", getClass());
65-
wac.refresh();
6663

6764
HandlerMapping handlerMapping = wac.getBean("mapping", HandlerMapping.class);
6865
Object mainController = wac.getBean("mainController");

spring-webmvc/src/test/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMappingTests.java

+35-21
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616

1717
package org.springframework.web.servlet.handler;
1818

19+
import java.lang.annotation.Documented;
20+
import java.lang.annotation.ElementType;
21+
import java.lang.annotation.Retention;
22+
import java.lang.annotation.RetentionPolicy;
23+
import java.lang.annotation.Target;
1924
import java.util.Collections;
2025
import java.util.Map;
2126
import java.util.stream.Stream;
@@ -40,12 +45,15 @@
4045

4146
import static org.assertj.core.api.Assertions.assertThat;
4247
import static org.assertj.core.api.Assertions.assertThatThrownBy;
48+
import static org.junit.jupiter.api.Named.named;
49+
import static org.junit.jupiter.params.provider.Arguments.arguments;
4350
import static org.springframework.web.servlet.HandlerMapping.BEST_MATCHING_HANDLER_ATTRIBUTE;
4451
import static org.springframework.web.servlet.HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE;
4552
import static org.springframework.web.servlet.HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE;
4653

4754
/**
4855
* Tests for {@link SimpleUrlHandlerMapping}.
56+
*
4957
* @author Brian Clozel
5058
*/
5159
class SimpleUrlHandlerMappingTests {
@@ -73,8 +81,7 @@ void newlineInRequestShouldMatch() throws Exception {
7381
assertThat(hec.getHandler()).isSameAs(controller);
7482
}
7583

76-
@ParameterizedTest
77-
@MethodSource("handlerMappings")
84+
@HandlerMappingsTest
7885
void resolveFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
7986
StaticApplicationContext applicationContext = new StaticApplicationContext();
8087
applicationContext.registerSingleton("mainController", Object.class);
@@ -91,8 +98,7 @@ void resolveFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
9198
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
9299
}
93100

94-
@ParameterizedTest
95-
@MethodSource("handlerMappings")
101+
@HandlerMappingsTest
96102
void resolvePatternFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
97103
StaticApplicationContext applicationContext = new StaticApplicationContext();
98104
applicationContext.registerSingleton("mainController", Object.class);
@@ -109,8 +115,7 @@ void resolvePatternFromMap(SimpleUrlHandlerMapping handlerMapping) throws Except
109115
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
110116
}
111117

112-
@ParameterizedTest
113-
@MethodSource("handlerMappings")
118+
@HandlerMappingsTest
114119
void resolvePathWithParamFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
115120
StaticApplicationContext applicationContext = new StaticApplicationContext();
116121
applicationContext.registerSingleton("mainController", Object.class);
@@ -127,8 +132,7 @@ void resolvePathWithParamFromMap(SimpleUrlHandlerMapping handlerMapping) throws
127132
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
128133
}
129134

130-
@ParameterizedTest
131-
@MethodSource("handlerMappings")
135+
@HandlerMappingsTest
132136
void resolvePathWithContextFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
133137
StaticApplicationContext applicationContext = new StaticApplicationContext();
134138
applicationContext.registerSingleton("mainController", Object.class);
@@ -145,8 +149,7 @@ void resolvePathWithContextFromMap(SimpleUrlHandlerMapping handlerMapping) throw
145149
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
146150
}
147151

148-
@ParameterizedTest
149-
@MethodSource("handlerMappings")
152+
@HandlerMappingsTest
150153
void resolvePathWithIncludeFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
151154
StaticApplicationContext applicationContext = new StaticApplicationContext();
152155
applicationContext.registerSingleton("mainController", Object.class);
@@ -164,8 +167,7 @@ void resolvePathWithIncludeFromMap(SimpleUrlHandlerMapping handlerMapping) throw
164167
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
165168
}
166169

167-
@ParameterizedTest
168-
@MethodSource("handlerMappings")
170+
@HandlerMappingsTest
169171
void resolveDefaultPathFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
170172
StaticApplicationContext applicationContext = new StaticApplicationContext();
171173
applicationContext.registerSingleton("mainController", Object.class);
@@ -182,8 +184,7 @@ void resolveDefaultPathFromMap(SimpleUrlHandlerMapping handlerMapping) throws Ex
182184
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(mainController);
183185
}
184186

185-
@ParameterizedTest
186-
@MethodSource("handlerMappings")
187+
@HandlerMappingsTest
187188
void resolveParameterizedControllerFromMap(SimpleUrlHandlerMapping handlerMapping) throws Exception {
188189
ParameterizableViewController viewController = new ParameterizableViewController();
189190
viewController.setView(new RedirectView("/after/{variable}"));
@@ -196,18 +197,12 @@ void resolveParameterizedControllerFromMap(SimpleUrlHandlerMapping handlerMappin
196197
HandlerExecutionChain chain = getHandler(handlerMapping, request);
197198

198199
assertThat(chain.getHandler()).isSameAs(viewController);
200+
@SuppressWarnings("unchecked")
199201
Map<String, String> variables = (Map<String, String>) request.getAttribute(URI_TEMPLATE_VARIABLES_ATTRIBUTE);
200202
assertThat(variables).containsEntry("variable", "test");
201203
assertThat(request.getAttribute(BEST_MATCHING_HANDLER_ATTRIBUTE)).isEqualTo(viewController);
202204
}
203205

204-
static Stream<Arguments> handlerMappings() {
205-
SimpleUrlHandlerMapping defaultConfig = new SimpleUrlHandlerMapping();
206-
SimpleUrlHandlerMapping antPatternConfig = new SimpleUrlHandlerMapping();
207-
antPatternConfig.setPatternParser(null);
208-
return Stream.of(Arguments.of(defaultConfig, "with PathPattern"), Arguments.of(antPatternConfig, "with AntPathMatcher"));
209-
}
210-
211206
private HandlerExecutionChain getHandler(HandlerMapping mapping, MockHttpServletRequest request) throws Exception {
212207
HandlerExecutionChain chain = mapping.getHandler(request);
213208
Assert.notNull(chain, "No handler found for request: " + request.getRequestURI());
@@ -217,4 +212,23 @@ private HandlerExecutionChain getHandler(HandlerMapping mapping, MockHttpServlet
217212
return chain;
218213
}
219214

215+
216+
@Target(ElementType.METHOD)
217+
@Retention(RetentionPolicy.RUNTIME)
218+
@Documented
219+
@ParameterizedTest(name="[{index}] {0}")
220+
@MethodSource("handlerMappings")
221+
@interface HandlerMappingsTest {
222+
}
223+
224+
static Stream<Arguments> handlerMappings() {
225+
SimpleUrlHandlerMapping defaultConfig = new SimpleUrlHandlerMapping();
226+
SimpleUrlHandlerMapping antPatternConfig = new SimpleUrlHandlerMapping();
227+
antPatternConfig.setPatternParser(null);
228+
return Stream.of(
229+
arguments(named("with PathPattern", defaultConfig)),
230+
arguments(named("with AntPathMatcher", antPatternConfig))
231+
);
232+
}
233+
220234
}

0 commit comments

Comments
 (0)