Merge branch '6.1.x'

This commit is contained in:
Sébastien Deleuze 2024-03-05 11:01:29 +01:00
commit f6dfbac582
2 changed files with 26 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -115,6 +115,19 @@ open class MockHttpServletRequestDsl internal constructor (private val builder:
*/
var params: MultiValueMap<String, String>? = null
/**
* @since 6.1.5
* @see [MockHttpServletRequestBuilder.queryParam]
*/
fun queryParam(name: String, vararg values: String) {
builder.queryParam(name, *values)
}
/**
* @see [MockHttpServletRequestBuilder.queryParams]
*/
var queryParams: MultiValueMap<String, String>? = null
/**
* @see [MockHttpServletRequestBuilder.cookie]
*/
@ -200,6 +213,7 @@ open class MockHttpServletRequestDsl internal constructor (private val builder:
accept?.also { builder.accept(it) }
contentType?.also { builder.contentType(it) }
params?.also { builder.params(it) }
queryParams?.also { builder.queryParams(it) }
sessionAttrs?.also { builder.sessionAttrs(it) }
flashAttrs?.also { builder.flashAttrs(it) }
session?.also { builder.session(it) }

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -219,6 +219,16 @@ class MockMvcExtensionsTests {
"Content type expected:<text/plain> but was:<application/json>")
}
@Test
fun queryParameter() {
val result = mockMvc.get("/") {
queryParam("foo", "bar")
queryParam("foo", "baz")
}.andReturn()
assertThat(result.request.parameterMap["foo"]).containsExactly("bar", "baz")
assertThat(result.request.queryString).isEqualTo("foo=bar&foo=baz")
}
@RestController
private class PersonController {