Refine WebFlux Kotlin extensions
ServerRequest: - awaitPrincipalOrNull is renamed to awaitPrincipal since there is no non-nullable variant ServerResponse: - new BodyBuilder.sse() extension - BodyBuilder.bodyToServerSentEvents is deprecated in favor of sse().body() - BodyBuilder.bodyAndAwait(flow: Flow<T>) is renamed to bodyFlowAndAwait to avoid shadowing of BodyBuilder.bodyAndAwait(body: Any) - BodyBuilder.bodyToServerSentEventsAndAwait is removed, sse().bodyAndAwait() should be used instead Closes gh-22899
This commit is contained in:
@@ -99,7 +99,7 @@ class ServerRequestExtensionsTests {
|
||||
val principal = mockk<Principal>()
|
||||
every { request.principal() } returns Mono.just(principal)
|
||||
runBlocking {
|
||||
assertEquals(principal, request.awaitPrincipalOrNull())
|
||||
assertEquals(principal, request.awaitPrincipal())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,13 +46,6 @@ class ServerResponseExtensionsTests {
|
||||
verify { bodyBuilder.body(body, object : ParameterizedTypeReference<List<Foo>>() {}) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `BodyBuilder#bodyToServerSentEvents with Publisher and reified type parameters`() {
|
||||
val body = mockk<Publisher<List<Foo>>>()
|
||||
bodyBuilder.bodyToServerSentEvents(body)
|
||||
verify { bodyBuilder.contentType(TEXT_EVENT_STREAM).body(ofType<Publisher<List<Foo>>>(), object : ParameterizedTypeReference<List<Foo>>() {}) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `BodyBuilder#json`() {
|
||||
bodyBuilder.json()
|
||||
@@ -71,6 +64,12 @@ class ServerResponseExtensionsTests {
|
||||
verify { bodyBuilder.contentType(TEXT_HTML) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `BodyBuilder#sse`() {
|
||||
bodyBuilder.sse()
|
||||
verify { bodyBuilder.contentType(TEXT_EVENT_STREAM) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun await() {
|
||||
val response = mockk<ServerResponse>()
|
||||
@@ -96,30 +95,16 @@ class ServerResponseExtensionsTests {
|
||||
|
||||
@Test
|
||||
@FlowPreview
|
||||
fun `BodyBuilder#body with Flow and reified type parameters`() {
|
||||
fun bodyFlowAndAwait() {
|
||||
val response = mockk<ServerResponse>()
|
||||
val body = mockk<Flow<List<Foo>>>()
|
||||
every { bodyBuilder.body(ofType<Publisher<List<Foo>>>()) } returns Mono.just(response)
|
||||
runBlocking {
|
||||
bodyBuilder.bodyAndAwait(body)
|
||||
bodyBuilder.bodyFlowAndAwait(body)
|
||||
}
|
||||
verify { bodyBuilder.body(ofType<Publisher<List<Foo>>>(), object : ParameterizedTypeReference<List<Foo>>() {}) }
|
||||
}
|
||||
|
||||
@Test
|
||||
@FlowPreview
|
||||
fun `BodyBuilder#bodyToServerSentEvents with Flow and reified type parameters`() {
|
||||
val response = mockk<ServerResponse>()
|
||||
val body = mockk<Flow<List<Foo>>>()
|
||||
every { bodyBuilder.contentType(ofType()) } returns bodyBuilder
|
||||
every { bodyBuilder.body(ofType<Publisher<List<Foo>>>()) } returns Mono.just(response)
|
||||
runBlocking {
|
||||
bodyBuilder.bodyToServerSentEventsAndAwait(body)
|
||||
}
|
||||
verify { bodyBuilder.body(ofType<Publisher<List<Foo>>>(), object : ParameterizedTypeReference<List<Foo>>() {}) }
|
||||
verify { bodyBuilder.contentType(TEXT_EVENT_STREAM) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `renderAndAwait with a vararg parameter`() {
|
||||
val response = mockk<ServerResponse>()
|
||||
|
||||
Reference in New Issue
Block a user