|
|
|
@ -21,6 +21,8 @@ import reactor.core.publisher.Mono |
|
|
|
@FlowPreview |
|
|
|
@FlowPreview |
|
|
|
class RSocketRequesterExtensionsTests { |
|
|
|
class RSocketRequesterExtensionsTests { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private val stringTypeRefMatcher: (ParameterizedTypeReference<*>) -> Boolean = { it.type == String::class.java } |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
fun connectAndAwait() { |
|
|
|
fun connectAndAwait() { |
|
|
|
val requester = mockk<RSocketRequester>() |
|
|
|
val requester = mockk<RSocketRequester>() |
|
|
|
@ -56,7 +58,7 @@ class RSocketRequesterExtensionsTests { |
|
|
|
fun dataFlowWithType() { |
|
|
|
fun dataFlowWithType() { |
|
|
|
val requestSpec = mockk<RSocketRequester.RequestSpec>() |
|
|
|
val requestSpec = mockk<RSocketRequester.RequestSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
every { requestSpec.data(any<Publisher<String>>(), any<ParameterizedTypeReference<String>>()) } returns responseSpec |
|
|
|
every { requestSpec.data(any<Publisher<String>>(), match<ParameterizedTypeReference<*>>(stringTypeRefMatcher)) } returns responseSpec |
|
|
|
assertEquals(responseSpec, requestSpec.data<String>(mockk())) |
|
|
|
assertEquals(responseSpec, requestSpec.data<String>(mockk())) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -81,16 +83,16 @@ class RSocketRequesterExtensionsTests { |
|
|
|
fun retrieveAndAwait() { |
|
|
|
fun retrieveAndAwait() { |
|
|
|
val response = "foo" |
|
|
|
val response = "foo" |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
every { responseSpec.retrieveMono(any<ParameterizedTypeReference<String>>()) } returns Mono.just("foo") |
|
|
|
every { responseSpec.retrieveMono(match<ParameterizedTypeReference<*>>(stringTypeRefMatcher)) } returns Mono.just("foo") |
|
|
|
runBlocking { |
|
|
|
runBlocking { |
|
|
|
assertEquals(response, responseSpec.retrieveAndAwait()) |
|
|
|
assertEquals(response, responseSpec.retrieveAndAwait<String>()) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
fun retrieveFlow() { |
|
|
|
fun retrieveFlow() { |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
every { responseSpec.retrieveFlux(any<ParameterizedTypeReference<String>>()) } returns Flux.just("foo", "bar") |
|
|
|
every { responseSpec.retrieveFlux(match<ParameterizedTypeReference<*>>(stringTypeRefMatcher)) } returns Flux.just("foo", "bar") |
|
|
|
runBlocking { |
|
|
|
runBlocking { |
|
|
|
assertEquals(listOf("foo", "bar"), responseSpec.retrieveFlow<String>().toList()) |
|
|
|
assertEquals(listOf("foo", "bar"), responseSpec.retrieveFlow<String>().toList()) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -99,7 +101,7 @@ class RSocketRequesterExtensionsTests { |
|
|
|
@Test |
|
|
|
@Test |
|
|
|
fun retrieveMono() { |
|
|
|
fun retrieveMono() { |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
every { responseSpec.retrieveMono(any<ParameterizedTypeReference<String>>()) } returns Mono.just("foo") |
|
|
|
every { responseSpec.retrieveMono(match<ParameterizedTypeReference<*>>(stringTypeRefMatcher)) } returns Mono.just("foo") |
|
|
|
runBlocking { |
|
|
|
runBlocking { |
|
|
|
assertEquals("foo", responseSpec.retrieveMono<String>().block()) |
|
|
|
assertEquals("foo", responseSpec.retrieveMono<String>().block()) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -108,7 +110,7 @@ class RSocketRequesterExtensionsTests { |
|
|
|
@Test |
|
|
|
@Test |
|
|
|
fun retrieveFlux() { |
|
|
|
fun retrieveFlux() { |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
val responseSpec = mockk<RSocketRequester.ResponseSpec>() |
|
|
|
every { responseSpec.retrieveFlux(any<ParameterizedTypeReference<String>>()) } returns Flux.just("foo", "bar") |
|
|
|
every { responseSpec.retrieveFlux(match<ParameterizedTypeReference<*>>(stringTypeRefMatcher)) } returns Flux.just("foo", "bar") |
|
|
|
runBlocking { |
|
|
|
runBlocking { |
|
|
|
assertEquals(listOf("foo", "bar"), responseSpec.retrieveFlux<String>().collectList().block()) |
|
|
|
assertEquals(listOf("foo", "bar"), responseSpec.retrieveFlux<String>().collectList().block()) |
|
|
|
} |
|
|
|
} |
|
|
|
|