Add form fields support to MockMvc Kotlin DSL

See gh-34412

Signed-off-by: Kevin Houtz <kevin@khoutz.com>
This commit is contained in:
Kevin Houtz
2025-02-11 17:58:38 -06:00
committed by Sébastien Deleuze
parent 689782cbad
commit 79c5fec1be
2 changed files with 25 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -23,6 +23,7 @@ import org.hamcrest.CoreMatchers
import org.junit.jupiter.api.Test
import org.springframework.http.HttpMethod
import org.springframework.http.HttpStatus
import org.springframework.http.MediaType.APPLICATION_FORM_URLENCODED_VALUE
import org.springframework.http.MediaType.APPLICATION_ATOM_XML
import org.springframework.http.MediaType.APPLICATION_JSON
import org.springframework.http.MediaType.APPLICATION_XML
@@ -230,6 +231,15 @@ class MockMvcExtensionsTests {
assertThat(result.request.queryString).isEqualTo("foo=bar&foo=baz")
}
@Test
fun formField() {
val result = mockMvc.post("/person") {
formField("name", "foo")
formField("someDouble", "1.23")
}.andReturn()
assertThat(result.request.contentType).startsWith(APPLICATION_FORM_URLENCODED_VALUE)
assertThat(result.request.contentAsString).isEqualTo("name=foo&someDouble=1.23")
}
@RestController
private class PersonController {