Skip to content

Commit 128182d

Browse files
committed
Add tests for DelegatingHttpResponse.
1 parent 5d0fa1a commit 128182d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/test/kotlin/io/github/nstdio/http/ext/ResponsesTest.kt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@
1515
*/
1616
package io.github.nstdio.http.ext
1717

18+
import io.github.nstdio.http.ext.Responses.DelegatingHttpResponse
1819
import io.kotest.matchers.booleans.shouldBeFalse
1920
import io.kotest.matchers.booleans.shouldBeTrue
21+
import org.junit.jupiter.api.Test
2022
import org.junit.jupiter.params.ParameterizedTest
2123
import org.junit.jupiter.params.provider.MethodSource
24+
import org.mockito.Mockito.mock
25+
import org.mockito.Mockito.verify
26+
import org.mockito.Mockito.verifyNoMoreInteractions
2227
import java.net.URI
2328
import java.net.http.HttpRequest
2429
import java.net.http.HttpRequest.BodyPublishers.noBody
@@ -45,6 +50,34 @@ internal class ResponsesTest {
4550
Responses.isSafeRequest(response).shouldBeTrue()
4651
}
4752

53+
@Test
54+
fun `Should invoke delegate`() {
55+
//given
56+
val mockDelegate = mock(HttpResponse::class.java)
57+
val response = DelegatingHttpResponse(mockDelegate)
58+
59+
//when
60+
response.body()
61+
response.request()
62+
response.uri()
63+
response.statusCode()
64+
response.headers()
65+
response.sslSession()
66+
response.previousResponse()
67+
response.version()
68+
69+
//then
70+
verify(mockDelegate).body()
71+
verify(mockDelegate).request()
72+
verify(mockDelegate).uri()
73+
verify(mockDelegate).statusCode()
74+
verify(mockDelegate).headers()
75+
verify(mockDelegate).sslSession()
76+
verify(mockDelegate).previousResponse()
77+
verify(mockDelegate).version()
78+
verifyNoMoreInteractions(mockDelegate)
79+
}
80+
4881
@ParameterizedTest
4982
@MethodSource("unsafeRequest")
5083
fun `Should be unsafe request`(response: HttpResponse<Any>) {

0 commit comments

Comments
 (0)