@@ -31,6 +31,7 @@ import org.springframework.http.MediaType.TEXT_PLAIN
3131import org.springframework.test.json.JsonCompareMode
3232import org.springframework.test.web.Person
3333import org.springframework.test.web.servlet.setup.MockMvcBuilders
34+ import org.springframework.util.LinkedMultiValueMap
3435import org.springframework.web.bind.annotation.GetMapping
3536import org.springframework.web.bind.annotation.PathVariable
3637import 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