@@ -27,9 +27,10 @@ import com.connectrpc.extensions.GoogleJavaProtobufStrategy
27
27
import com.connectrpc.impl.ProtocolClient
28
28
import com.connectrpc.protocols.NetworkProtocol
29
29
import kotlinx.coroutines.test.runTest
30
+ import mockwebserver3.MockResponse
31
+ import mockwebserver3.junit4.MockWebServerRule
30
32
import okhttp3.OkHttpClient
31
33
import okhttp3.Protocol
32
- import okhttp3.mockwebserver.MockResponse
33
34
import org.assertj.core.api.Assertions.assertThat
34
35
import org.junit.Rule
35
36
import org.junit.Test
@@ -45,16 +46,16 @@ class MockWebServerTests {
45
46
@Test
46
47
fun `invalid compressed failure response is handled correctly` () = runTest {
47
48
mockWebServerRule.server.enqueue(
48
- MockResponse ().apply {
49
+ MockResponse . Builder ().apply {
49
50
addHeader(" accept-encoding" , " gzip" )
50
51
addHeader(" content-encoding" , " gzip" )
51
- setBody (" {}" )
52
- setResponseCode (401 )
53
- },
52
+ body (" {}" )
53
+ code (401 )
54
+ }.build() ,
54
55
)
55
56
val response = createClient().say(sayRequest { sentence = " hello" })
56
57
mockWebServerRule.server.takeRequest().apply {
57
- assertThat(path ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
58
+ assertThat(target ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
58
59
}
59
60
assertThat(response).isInstanceOf(ResponseMessage ::class .java)
60
61
response.failure { assertThat(it.cause.code).isEqualTo(Code .INTERNAL_ERROR ) }
@@ -63,16 +64,16 @@ class MockWebServerTests {
63
64
@Test
64
65
fun `invalid compressed response data is handled correctly` () = runTest {
65
66
mockWebServerRule.server.enqueue(
66
- MockResponse ().apply {
67
+ MockResponse . Builder ().apply {
67
68
addHeader(" accept-encoding" , " gzip" )
68
69
addHeader(" content-encoding" , " gzip" )
69
- setBody (" this isn't gzipped" )
70
- setResponseCode (200 )
71
- },
70
+ body (" this isn't gzipped" )
71
+ code (200 )
72
+ }.build() ,
72
73
)
73
74
val response = createClient().say(sayRequest { sentence = " hello" })
74
75
mockWebServerRule.server.takeRequest().apply {
75
- assertThat(path ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
76
+ assertThat(target ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
76
77
}
77
78
assertThat(response).isInstanceOf(ResponseMessage ::class .java)
78
79
response.failure { assertThat(it.cause.code).isEqualTo(Code .INTERNAL_ERROR ) }
@@ -81,16 +82,16 @@ class MockWebServerTests {
81
82
@Test
82
83
fun `invalid protobuf response data is handled correctly` () = runTest {
83
84
mockWebServerRule.server.enqueue(
84
- MockResponse ().apply {
85
+ MockResponse . Builder ().apply {
85
86
addHeader(" accept-encoding" , " gzip" )
86
87
addHeader(" content-type" , " application/proto" )
87
- setBody (" this isn't valid protobuf" )
88
- setResponseCode (200 )
89
- },
88
+ body (" this isn't valid protobuf" )
89
+ code (200 )
90
+ }.build() ,
90
91
)
91
92
val response = createClient().say(sayRequest { sentence = " hello" })
92
93
mockWebServerRule.server.takeRequest().apply {
93
- assertThat(path ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
94
+ assertThat(target ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
94
95
}
95
96
assertThat(response).isInstanceOf(ResponseMessage ::class .java)
96
97
response.failure { assertThat(it.cause.code).isEqualTo(Code .INTERNAL_ERROR ) }
@@ -99,16 +100,16 @@ class MockWebServerTests {
99
100
@Test
100
101
fun `invalid json response data is handled correctly` () = runTest {
101
102
mockWebServerRule.server.enqueue(
102
- MockResponse ().apply {
103
+ MockResponse . Builder ().apply {
103
104
addHeader(" accept-encoding" , " gzip" )
104
105
addHeader(" content-type" , " application/json" )
105
- setBody (" { invalid json" )
106
- setResponseCode (200 )
107
- },
106
+ body (" { invalid json" )
107
+ code (200 )
108
+ }.build() ,
108
109
)
109
110
val response = createClient(serializationStrategy = GoogleJavaJSONStrategy ()).say(sayRequest { sentence = " hello" })
110
111
mockWebServerRule.server.takeRequest().apply {
111
- assertThat(path ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
112
+ assertThat(target ).isEqualTo(" /connectrpc.eliza.v1.ElizaService/Say" )
112
113
}
113
114
assertThat(response).isInstanceOf(ResponseMessage ::class .java)
114
115
response.failure { assertThat(it.cause.code).isEqualTo(Code .INTERNAL_ERROR ) }
0 commit comments