Skip to content

Commit dc84757

Browse files
committed
test: improve coverage
1 parent 2cb0479 commit dc84757

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/BodySizeRecordingTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import com.google.api.gax.rpc.StreamController;
3939
import com.google.auth.Credentials;
4040
import com.google.protobuf.Field;
41+
import java.nio.charset.StandardCharsets;
4142
import java.util.Collections;
4243
import java.util.HashMap;
4344
import java.util.List;
@@ -142,6 +143,8 @@ void testBodySizeRecording() throws Exception {
142143
String expectedResponseBody = ProtoRestSerializer.create().toBody("*", response, false);
143144
long expectedResponseSize = expectedResponseBody.getBytes("UTF-8").length;
144145
assertThat(tracer.getResponseReceivedSize()).isEqualTo(expectedResponseSize);
146+
// Unary calls should NOT call responseReceived() (reserved for streaming)
147+
assertThat(tracer.getResponsesReceived()).isEqualTo(0);
145148
}
146149

147150
@Test
@@ -218,9 +221,11 @@ public void onComplete() {
218221
String resp1Json = methodServerStreaming.getResponseParser().serialize(response1);
219222
String resp2Json = methodServerStreaming.getResponseParser().serialize(response2);
220223
long expectedTotalResponseSize =
221-
("[" + resp1Json + "," + resp2Json + "]").getBytes("UTF-8").length;
224+
("[" + resp1Json + "," + resp2Json + "]").getBytes(StandardCharsets.UTF_8).length;
222225

223226
assertThat(tracer.getResponseReceivedSize()).isEqualTo(expectedTotalResponseSize);
227+
// Server-streaming calls should call responseReceived() for EACH message
228+
assertThat(tracer.getResponsesReceived()).isEqualTo(2);
224229
streamingChannel.shutdownNow();
225230
}
226231
}

gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/testing/TestApiTracer.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class TestApiTracer implements ApiTracer {
4545
private final AtomicInteger attemptsFailed = new AtomicInteger();
4646
private final AtomicBoolean retriesExhausted = new AtomicBoolean(false);
4747
private final AtomicLong responseReceivedSize = new AtomicLong();
48+
private final AtomicInteger responsesReceived = new AtomicInteger();
4849

4950
public TestApiTracer() {}
5051

@@ -64,6 +65,10 @@ public long getResponseReceivedSize() {
6465
return responseReceivedSize.get();
6566
}
6667

68+
public int getResponsesReceived() {
69+
return responsesReceived.get();
70+
}
71+
6772
@Override
6873
public void attemptStarted(int attemptNumber) {
6974
attemptsStarted.incrementAndGet();
@@ -85,6 +90,11 @@ public void attemptFailedRetriesExhausted(Throwable error) {
8590
retriesExhausted.set(true);
8691
}
8792

93+
@Override
94+
public void responseReceived() {
95+
responsesReceived.incrementAndGet();
96+
}
97+
8898
@Override
8999
public void recordResponseSize(long responseSize) {
90100
responseReceivedSize.addAndGet(responseSize);

0 commit comments

Comments
 (0)