1515 */
1616package io.github.nstdio.http.ext
1717
18+ import io.github.nstdio.http.ext.Responses.DelegatingHttpResponse
1819import io.kotest.matchers.booleans.shouldBeFalse
1920import io.kotest.matchers.booleans.shouldBeTrue
21+ import org.junit.jupiter.api.Test
2022import org.junit.jupiter.params.ParameterizedTest
2123import org.junit.jupiter.params.provider.MethodSource
24+ import org.mockito.Mockito.mock
25+ import org.mockito.Mockito.verify
26+ import org.mockito.Mockito.verifyNoMoreInteractions
2227import java.net.URI
2328import java.net.http.HttpRequest
2429import 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