Skip to content

Commit acf7340

Browse files
committed
Simplify Mock[Multipart]HttpServletRequestBuilder
This commit simplifies the package private constructors on those two builders now that the URI can be specified by dedicated builder methods. Closes gh-33062
1 parent d76f37c commit acf7340

File tree

5 files changed

+59
-103
lines changed

5 files changed

+59
-103
lines changed

spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java

+1-20
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,9 @@
1616

1717
package org.springframework.test.web.servlet.request;
1818

19-
import java.net.URI;
20-
2119
import org.springframework.http.HttpMethod;
2220
import org.springframework.mock.web.MockHttpServletRequest;
2321
import org.springframework.test.web.servlet.MockMvc;
24-
import org.springframework.util.Assert;
2522

2623
/**
2724
* Default builder for {@link MockHttpServletRequest} required as input to
@@ -51,25 +48,9 @@ public class MockHttpServletRequestBuilder
5148
* the {@code MockHttpServletRequest} can be plugged in via
5249
* {@link #with(RequestPostProcessor)}.
5350
* @param httpMethod the HTTP method (GET, POST, etc.)
54-
* @param uriTemplate a URI template; the resulting URI will be encoded
55-
* @param uriVariables zero or more URI variables
56-
*/
57-
MockHttpServletRequestBuilder(HttpMethod httpMethod, String uriTemplate, Object... uriVariables) {
58-
super(httpMethod);
59-
super.uri(uriTemplate, uriVariables);
60-
}
61-
62-
/**
63-
* Alternative to {@link #MockHttpServletRequestBuilder(HttpMethod, String, Object...)}
64-
* with a pre-built URI.
65-
* @param httpMethod the HTTP method (GET, POST, etc.)
66-
* @param uri the URI
67-
* @since 4.0.3
6851
*/
69-
MockHttpServletRequestBuilder(HttpMethod httpMethod, URI uri) {
52+
MockHttpServletRequestBuilder(HttpMethod httpMethod) {
7053
super(httpMethod);
71-
Assert.notNull(uri, "'uri' is required");
72-
super.uri(uri);
7354
}
7455

7556
}

spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMultipartHttpServletRequestBuilder.java

+6-31
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package org.springframework.test.web.servlet.request;
1818

19-
import java.net.URI;
20-
2119
import org.springframework.http.HttpMethod;
2220
import org.springframework.http.MediaType;
2321
import org.springframework.mock.web.MockMultipartHttpServletRequest;
@@ -33,49 +31,26 @@
3331
public class MockMultipartHttpServletRequestBuilder
3432
extends AbstractMockMultipartHttpServletRequestBuilder<MockMultipartHttpServletRequestBuilder> {
3533

36-
3734
/**
3835
* Package-private constructor. Use static factory methods in
3936
* {@link MockMvcRequestBuilders}.
4037
* <p>For other ways to initialize a {@code MockMultipartHttpServletRequest},
4138
* see {@link #with(RequestPostProcessor)} and the
4239
* {@link RequestPostProcessor} extension point.
43-
* @param uriTemplate a URI template; the resulting URI will be encoded
44-
* @param uriVariables zero or more URI variables
45-
*/
46-
MockMultipartHttpServletRequestBuilder(String uriTemplate, Object... uriVariables) {
47-
this(HttpMethod.POST, uriTemplate, uriVariables);
48-
}
49-
50-
/**
51-
* Variant of {@link #MockMultipartHttpServletRequestBuilder(String, Object...)}
52-
* that also accepts an {@link HttpMethod}.
53-
* @since 5.3.22
40+
* @param httpMethod the HTTP method (GET, POST, etc.)
5441
*/
55-
MockMultipartHttpServletRequestBuilder(HttpMethod httpMethod, String uriTemplate, Object... uriVariables) {
42+
MockMultipartHttpServletRequestBuilder(HttpMethod httpMethod) {
5643
super(httpMethod);
57-
super.uri(uriTemplate, uriVariables);
5844
super.contentType(MediaType.MULTIPART_FORM_DATA);
5945
}
6046

6147
/**
62-
* Variant of {@link #MockMultipartHttpServletRequestBuilder(String, Object...)}
63-
* with a {@link URI}.
64-
* @since 4.0.3
48+
* Variant of {@link #MockMultipartHttpServletRequestBuilder(HttpMethod)}
49+
* that defaults to {@link HttpMethod#POST}.
6550
*/
66-
MockMultipartHttpServletRequestBuilder(URI uri) {
67-
this(HttpMethod.POST, uri);
51+
MockMultipartHttpServletRequestBuilder() {
52+
this(HttpMethod.POST);
6853
}
6954

70-
/**
71-
* Variant of {@link #MockMultipartHttpServletRequestBuilder(String, Object...)}
72-
* with a {@link URI} and an {@link HttpMethod}.
73-
* @since 5.3.21
74-
*/
75-
MockMultipartHttpServletRequestBuilder(HttpMethod httpMethod, URI uri) {
76-
super(httpMethod);
77-
super.uri(uri);
78-
super.contentType(MediaType.MULTIPART_FORM_DATA);
79-
}
8055

8156
}

spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java

+20-20
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public abstract class MockMvcRequestBuilders {
5353
* @param uriVariables zero or more URI variables
5454
*/
5555
public static MockHttpServletRequestBuilder get(String uriTemplate, Object... uriVariables) {
56-
return new MockHttpServletRequestBuilder(HttpMethod.GET, uriTemplate, uriVariables);
56+
return new MockHttpServletRequestBuilder(HttpMethod.GET).uri(uriTemplate, uriVariables);
5757
}
5858

5959
/**
@@ -62,7 +62,7 @@ public static MockHttpServletRequestBuilder get(String uriTemplate, Object... ur
6262
* @since 4.0.3
6363
*/
6464
public static MockHttpServletRequestBuilder get(URI uri) {
65-
return new MockHttpServletRequestBuilder(HttpMethod.GET, uri);
65+
return new MockHttpServletRequestBuilder(HttpMethod.GET).uri(uri);
6666
}
6767

6868
/**
@@ -71,7 +71,7 @@ public static MockHttpServletRequestBuilder get(URI uri) {
7171
* @param uriVariables zero or more URI variables
7272
*/
7373
public static MockHttpServletRequestBuilder post(String uriTemplate, Object... uriVariables) {
74-
return new MockHttpServletRequestBuilder(HttpMethod.POST, uriTemplate, uriVariables);
74+
return new MockHttpServletRequestBuilder(HttpMethod.POST).uri(uriTemplate, uriVariables);
7575
}
7676

7777
/**
@@ -80,7 +80,7 @@ public static MockHttpServletRequestBuilder post(String uriTemplate, Object... u
8080
* @since 4.0.3
8181
*/
8282
public static MockHttpServletRequestBuilder post(URI uri) {
83-
return new MockHttpServletRequestBuilder(HttpMethod.POST, uri);
83+
return new MockHttpServletRequestBuilder(HttpMethod.POST).uri(uri);
8484
}
8585

8686
/**
@@ -89,7 +89,7 @@ public static MockHttpServletRequestBuilder post(URI uri) {
8989
* @param uriVariables zero or more URI variables
9090
*/
9191
public static MockHttpServletRequestBuilder put(String uriTemplate, Object... uriVariables) {
92-
return new MockHttpServletRequestBuilder(HttpMethod.PUT, uriTemplate, uriVariables);
92+
return new MockHttpServletRequestBuilder(HttpMethod.PUT).uri(uriTemplate, uriVariables);
9393
}
9494

9595
/**
@@ -98,7 +98,7 @@ public static MockHttpServletRequestBuilder put(String uriTemplate, Object... ur
9898
* @since 4.0.3
9999
*/
100100
public static MockHttpServletRequestBuilder put(URI uri) {
101-
return new MockHttpServletRequestBuilder(HttpMethod.PUT, uri);
101+
return new MockHttpServletRequestBuilder(HttpMethod.PUT).uri(uri);
102102
}
103103

104104
/**
@@ -107,7 +107,7 @@ public static MockHttpServletRequestBuilder put(URI uri) {
107107
* @param uriVariables zero or more URI variables
108108
*/
109109
public static MockHttpServletRequestBuilder patch(String uriTemplate, Object... uriVariables) {
110-
return new MockHttpServletRequestBuilder(HttpMethod.PATCH, uriTemplate, uriVariables);
110+
return new MockHttpServletRequestBuilder(HttpMethod.PATCH).uri(uriTemplate, uriVariables);
111111
}
112112

113113
/**
@@ -116,7 +116,7 @@ public static MockHttpServletRequestBuilder patch(String uriTemplate, Object...
116116
* @since 4.0.3
117117
*/
118118
public static MockHttpServletRequestBuilder patch(URI uri) {
119-
return new MockHttpServletRequestBuilder(HttpMethod.PATCH, uri);
119+
return new MockHttpServletRequestBuilder(HttpMethod.PATCH).uri(uri);
120120
}
121121

122122
/**
@@ -125,7 +125,7 @@ public static MockHttpServletRequestBuilder patch(URI uri) {
125125
* @param uriVariables zero or more URI variables
126126
*/
127127
public static MockHttpServletRequestBuilder delete(String uriTemplate, Object... uriVariables) {
128-
return new MockHttpServletRequestBuilder(HttpMethod.DELETE, uriTemplate, uriVariables);
128+
return new MockHttpServletRequestBuilder(HttpMethod.DELETE).uri(uriTemplate, uriVariables);
129129
}
130130

131131
/**
@@ -134,7 +134,7 @@ public static MockHttpServletRequestBuilder delete(String uriTemplate, Object...
134134
* @since 4.0.3
135135
*/
136136
public static MockHttpServletRequestBuilder delete(URI uri) {
137-
return new MockHttpServletRequestBuilder(HttpMethod.DELETE, uri);
137+
return new MockHttpServletRequestBuilder(HttpMethod.DELETE).uri(uri);
138138
}
139139

140140
/**
@@ -143,7 +143,7 @@ public static MockHttpServletRequestBuilder delete(URI uri) {
143143
* @param uriVariables zero or more URI variables
144144
*/
145145
public static MockHttpServletRequestBuilder options(String uriTemplate, Object... uriVariables) {
146-
return new MockHttpServletRequestBuilder(HttpMethod.OPTIONS, uriTemplate, uriVariables);
146+
return new MockHttpServletRequestBuilder(HttpMethod.OPTIONS).uri(uriTemplate, uriVariables);
147147
}
148148

149149
/**
@@ -152,7 +152,7 @@ public static MockHttpServletRequestBuilder options(String uriTemplate, Object..
152152
* @since 4.0.3
153153
*/
154154
public static MockHttpServletRequestBuilder options(URI uri) {
155-
return new MockHttpServletRequestBuilder(HttpMethod.OPTIONS, uri);
155+
return new MockHttpServletRequestBuilder(HttpMethod.OPTIONS).uri(uri);
156156
}
157157

158158
/**
@@ -162,7 +162,7 @@ public static MockHttpServletRequestBuilder options(URI uri) {
162162
* @since 4.1
163163
*/
164164
public static MockHttpServletRequestBuilder head(String uriTemplate, Object... uriVariables) {
165-
return new MockHttpServletRequestBuilder(HttpMethod.HEAD, uriTemplate, uriVariables);
165+
return new MockHttpServletRequestBuilder(HttpMethod.HEAD).uri(uriTemplate, uriVariables);
166166
}
167167

168168
/**
@@ -171,7 +171,7 @@ public static MockHttpServletRequestBuilder head(String uriTemplate, Object... u
171171
* @since 4.1
172172
*/
173173
public static MockHttpServletRequestBuilder head(URI uri) {
174-
return new MockHttpServletRequestBuilder(HttpMethod.HEAD, uri);
174+
return new MockHttpServletRequestBuilder(HttpMethod.HEAD).uri(uri);
175175
}
176176

177177
/**
@@ -181,7 +181,7 @@ public static MockHttpServletRequestBuilder head(URI uri) {
181181
* @param uriVariables zero or more URI variables
182182
*/
183183
public static MockHttpServletRequestBuilder request(HttpMethod method, String uriTemplate, Object... uriVariables) {
184-
return new MockHttpServletRequestBuilder(method, uriTemplate, uriVariables);
184+
return new MockHttpServletRequestBuilder(method).uri(uriTemplate, uriVariables);
185185
}
186186

187187
/**
@@ -191,7 +191,7 @@ public static MockHttpServletRequestBuilder request(HttpMethod method, String ur
191191
* @since 4.0.3
192192
*/
193193
public static MockHttpServletRequestBuilder request(HttpMethod httpMethod, URI uri) {
194-
return new MockHttpServletRequestBuilder(httpMethod, uri);
194+
return new MockHttpServletRequestBuilder(httpMethod).uri(uri);
195195
}
196196

197197
/**
@@ -214,7 +214,7 @@ public static MockHttpServletRequestBuilder request(String httpMethod, URI uri)
214214
* @since 5.0
215215
*/
216216
public static MockMultipartHttpServletRequestBuilder multipart(String uriTemplate, Object... uriVariables) {
217-
return new MockMultipartHttpServletRequestBuilder(uriTemplate, uriVariables);
217+
return new MockMultipartHttpServletRequestBuilder().uri(uriTemplate, uriVariables);
218218
}
219219

220220
/**
@@ -226,7 +226,7 @@ public static MockMultipartHttpServletRequestBuilder multipart(String uriTemplat
226226
* @since 5.3.22
227227
*/
228228
public static MockMultipartHttpServletRequestBuilder multipart(HttpMethod httpMethod, String uriTemplate, Object... uriVariables) {
229-
return new MockMultipartHttpServletRequestBuilder(httpMethod, uriTemplate, uriVariables);
229+
return new MockMultipartHttpServletRequestBuilder(httpMethod).uri(uriTemplate, uriVariables);
230230
}
231231

232232
/**
@@ -235,7 +235,7 @@ public static MockMultipartHttpServletRequestBuilder multipart(HttpMethod httpMe
235235
* @since 5.0
236236
*/
237237
public static MockMultipartHttpServletRequestBuilder multipart(URI uri) {
238-
return new MockMultipartHttpServletRequestBuilder(uri);
238+
return new MockMultipartHttpServletRequestBuilder().uri(uri);
239239
}
240240

241241
/**
@@ -246,7 +246,7 @@ public static MockMultipartHttpServletRequestBuilder multipart(URI uri) {
246246
* @since 5.3.21
247247
*/
248248
public static MockMultipartHttpServletRequestBuilder multipart(HttpMethod httpMethod, URI uri) {
249-
return new MockMultipartHttpServletRequestBuilder(httpMethod, uri);
249+
return new MockMultipartHttpServletRequestBuilder(httpMethod).uri(uri);
250250
}
251251

252252
/**

0 commit comments

Comments
 (0)