Skip to content

Commit 056757b

Browse files
committed
Refine tests in MockMvcExtensionsTests
Closes gh-34412
1 parent 79c5fec commit 056757b

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed

spring-test/src/test/kotlin/org/springframework/test/web/servlet/MockMvcExtensionsTests.kt

+44-5
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import org.springframework.http.MediaType.TEXT_PLAIN
3131
import org.springframework.test.json.JsonCompareMode
3232
import org.springframework.test.web.Person
3333
import org.springframework.test.web.servlet.setup.MockMvcBuilders
34+
import org.springframework.util.LinkedMultiValueMap
3435
import org.springframework.web.bind.annotation.GetMapping
3536
import org.springframework.web.bind.annotation.PathVariable
3637
import org.springframework.web.bind.annotation.PostMapping
@@ -222,10 +223,18 @@ class MockMvcExtensionsTests {
222223
}
223224

224225
@Test
225-
fun queryParameter() {
226+
fun queryParam() {
226227
val result = mockMvc.get("/") {
227-
queryParam("foo", "bar")
228-
queryParam("foo", "baz")
228+
queryParam("foo", "bar", "baz")
229+
}.andReturn()
230+
assertThat(result.request.parameterMap["foo"]).containsExactly("bar", "baz")
231+
assertThat(result.request.queryString).isEqualTo("foo=bar&foo=baz")
232+
}
233+
234+
@Test
235+
fun queryParams() {
236+
val result = mockMvc.get("/") {
237+
queryParams = LinkedMultiValueMap(mapOf("foo" to listOf("bar", "baz")))
229238
}.andReturn()
230239
assertThat(result.request.parameterMap["foo"]).containsExactly("bar", "baz")
231240
assertThat(result.request.queryString).isEqualTo("foo=bar&foo=baz")
@@ -234,11 +243,41 @@ class MockMvcExtensionsTests {
234243
@Test
235244
fun formField() {
236245
val result = mockMvc.post("/person") {
237-
formField("name", "foo")
246+
formField("name", "foo", "bar")
238247
formField("someDouble", "1.23")
239248
}.andReturn()
240249
assertThat(result.request.contentType).startsWith(APPLICATION_FORM_URLENCODED_VALUE)
241-
assertThat(result.request.contentAsString).isEqualTo("name=foo&someDouble=1.23")
250+
assertThat(result.request.contentAsString).isEqualTo("name=foo&name=bar&someDouble=1.23")
251+
}
252+
253+
@Test
254+
fun formFields() {
255+
val result = mockMvc.post("/person") {
256+
formFields = LinkedMultiValueMap(mapOf("name" to listOf("foo", "bar"), "someDouble" to listOf("1.23")))
257+
}.andReturn()
258+
assertThat(result.request.contentType).startsWith(APPLICATION_FORM_URLENCODED_VALUE)
259+
assertThat(result.request.contentAsString).isEqualTo("name=foo&name=bar&someDouble=1.23")
260+
}
261+
262+
@Test
263+
fun sessionAttr() {
264+
val result = mockMvc.post("/person") {
265+
sessionAttr("name", "foo")
266+
sessionAttr("someDouble", 1.23)
267+
}.andReturn()
268+
val session = result.request.session!!
269+
assertThat(session.getAttribute("name")).isEqualTo("foo")
270+
assertThat(session.getAttribute("someDouble")).isEqualTo(1.23)
271+
}
272+
273+
@Test
274+
fun sessionAttrs() {
275+
val result = mockMvc.post("/person") {
276+
sessionAttrs = mapOf("name" to "foo", "someDouble" to 1.23)
277+
}.andReturn()
278+
val session = result.request.session!!
279+
assertThat(session.getAttribute("name")).isEqualTo("foo")
280+
assertThat(session.getAttribute("someDouble")).isEqualTo(1.23)
242281
}
243282

244283
@RestController

0 commit comments

Comments
 (0)