Leverage JUnit 6 suspending function support

Closes gh-36215
This commit is contained in:
Sébastien Deleuze
2026-01-27 08:45:04 +01:00
parent 77c24b28b6
commit bc01eeb433
23 changed files with 287 additions and 539 deletions
@@ -19,7 +19,6 @@ package org.springframework.web.server
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import kotlinx.coroutines.runBlocking
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.springframework.http.codec.multipart.Part
@@ -35,44 +34,36 @@ import java.security.Principal
class ServerWebExchangeExtensionsTest {
@Test
fun `awaitFormData extension`() {
suspend fun `awaitFormData extension`() {
val exchange = mockk<ServerWebExchange>()
val multiMap = mockk<MultiValueMap<String, String>>()
every { exchange.formData } returns Mono.just(multiMap)
runBlocking {
assertThat(exchange.awaitFormData()).isEqualTo(multiMap)
}
assertThat(exchange.awaitFormData()).isEqualTo(multiMap)
}
@Test
fun `awaitMultipartData extension`() {
suspend fun `awaitMultipartData extension`() {
val exchange = mockk<ServerWebExchange>()
val multiMap = mockk<MultiValueMap<String, Part>>()
every { exchange.multipartData } returns Mono.just(multiMap)
runBlocking {
assertThat(exchange.awaitMultipartData()).isEqualTo(multiMap)
}
assertThat(exchange.awaitMultipartData()).isEqualTo(multiMap)
}
@Test
fun `awaitPrincipal extension`() {
suspend fun `awaitPrincipal extension`() {
val exchange = mockk<ServerWebExchange>()
val principal = mockk<Principal>()
every { exchange.getPrincipal<Principal>() } returns Mono.just(principal)
runBlocking {
assertThat(exchange.awaitPrincipal<Principal>()).isEqualTo(principal)
}
assertThat(exchange.awaitPrincipal<Principal>()).isEqualTo(principal)
verify { exchange.getPrincipal<Principal>() }
}
@Test
fun `awaitSession extension`() {
suspend fun `awaitSession extension`() {
val exchange = mockk<ServerWebExchange>()
val session = mockk<WebSession>()
every { exchange.session } returns Mono.just(session)
runBlocking {
assertThat(exchange.awaitSession()).isEqualTo(session)
}
assertThat(exchange.awaitSession()).isEqualTo(session)
}
@Test
@@ -80,9 +71,7 @@ class ServerWebExchangeExtensionsTest {
val builder = mockk<ServerWebExchange.Builder>()
val principal = mockk<Principal>()
every { builder.principal(any<Mono<Principal>>()) } returns builder
runBlocking {
assertThat(builder.principal { principal }).isEqualTo(builder)
}
assertThat(builder.principal { principal }).isEqualTo(builder)
verify { builder.principal(any<Mono<Principal>>()) }
}
@@ -18,7 +18,6 @@ package org.springframework.web.service.invoker
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.runBlocking
import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.assertThatIllegalStateException
import org.junit.jupiter.api.Test
@@ -42,7 +41,7 @@ class KotlinHttpServiceMethodTests {
private val reactorProxyFactory = HttpServiceProxyFactory.builderFor(this.reactorExchangeAdapter).build()
@Test
fun coroutinesService(): Unit = runBlocking {
suspend fun coroutinesService() {
val service = reactorProxyFactory.createClient(FunctionsService::class.java)
val stringBody = service.stringBody()