Skip to content

Commit 74c66e1

Browse files
committed
test: deduplication of IT code
1 parent 71f2e7b commit 74c66e1

File tree

1 file changed

+50
-47
lines changed
  • sdk-platform-java/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it

1 file changed

+50
-47
lines changed

sdk-platform-java/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITOtelTracing.java

Lines changed: 50 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import io.opentelemetry.sdk.trace.SdkTracerProvider;
6060
import io.opentelemetry.sdk.trace.data.SpanData;
6161
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
62+
import java.io.IOException;
6263
import java.nio.charset.StandardCharsets;
6364
import java.util.List;
6465
import org.junit.jupiter.api.AfterEach;
@@ -100,29 +101,9 @@ void tearDown() {
100101
void testTracing_successfulEcho_grpc() throws Exception {
101102
SpanTracerFactory tracingFactory = new SpanTracerFactory(openTelemetrySdk);
102103

103-
EchoSettings grpcEchoSettings =
104-
EchoSettings.newBuilder()
105-
.setCredentialsProvider(NoCredentialsProvider.create())
106-
.setTransportChannelProvider(
107-
EchoSettings.defaultGrpcTransportProviderBuilder()
108-
.setChannelConfigurator(ManagedChannelBuilder::usePlaintext)
109-
.build())
110-
.setEndpoint("localhost:7469")
111-
.build();
112-
113-
EchoStubSettings.Builder stubSettingsBuilder =
114-
(EchoStubSettings.Builder) grpcEchoSettings.getStubSettings().toBuilder();
115-
stubSettingsBuilder.setTracerFactory(tracingFactory);
116-
117-
EchoStubSettings stubSettings =
118-
new EchoStubSettings(stubSettingsBuilder) {
119-
@Override
120-
public String getServiceName() {
121-
return "showcase";
122-
}
123-
};
124-
125-
try (EchoClient client = EchoClient.create(stubSettings.createStub())) {
104+
EchoSettings grpcEchoSettings = createEchoSettings(false);
105+
EchoStub stub = createStubWithServiceName(grpcEchoSettings, tracingFactory);
106+
try (EchoClient client = EchoClient.create(stub)) {
126107

127108
client.echo(EchoRequest.newBuilder().setContent("tracing-test").build());
128109

@@ -183,30 +164,9 @@ public String getServiceName() {
183164
void testTracing_successfulEcho_httpjson() throws Exception {
184165
SpanTracerFactory tracingFactory = new SpanTracerFactory(openTelemetrySdk);
185166

186-
EchoSettings httpJsonEchoSettings =
187-
EchoSettings.newHttpJsonBuilder()
188-
.setCredentialsProvider(NoCredentialsProvider.create())
189-
.setTransportChannelProvider(
190-
EchoSettings.defaultHttpJsonTransportProviderBuilder()
191-
.setHttpTransport(
192-
new NetHttpTransport.Builder().doNotValidateCertificate().build())
193-
.setEndpoint("http://localhost:7469")
194-
.build())
195-
.build();
196-
197-
EchoStubSettings.Builder stubSettingsBuilder =
198-
(EchoStubSettings.Builder) httpJsonEchoSettings.getStubSettings().toBuilder();
199-
stubSettingsBuilder.setTracerFactory(tracingFactory);
200-
201-
EchoStubSettings stubSettings =
202-
new EchoStubSettings(stubSettingsBuilder) {
203-
@Override
204-
public String getServiceName() {
205-
return "showcase";
206-
}
207-
};
208-
209-
try (EchoClient client = EchoClient.create(stubSettings.createStub())) {
167+
EchoSettings httpJsonEchoSettings = createEchoSettings(true);
168+
EchoStub stub = createStubWithServiceName(httpJsonEchoSettings, tracingFactory);
169+
try (EchoClient client = EchoClient.create(stub)) {
210170

211171
client.echo(EchoRequest.newBuilder().setContent("tracing-test").build());
212172

@@ -432,4 +392,47 @@ void testTracing_retry_httpjson() throws Exception {
432392
.collect(java.util.stream.Collectors.toList());
433393
assertThat(resendCounts).containsExactlyElementsIn(expectedCounts).inOrder();
434394
}
395+
396+
private EchoSettings createEchoSettings(boolean isHttpJson) throws Exception {
397+
if (isHttpJson) {
398+
return EchoSettings.newHttpJsonBuilder()
399+
.setCredentialsProvider(NoCredentialsProvider.create())
400+
.setTransportChannelProvider(
401+
EchoSettings.defaultHttpJsonTransportProviderBuilder()
402+
.setHttpTransport(
403+
new NetHttpTransport.Builder().doNotValidateCertificate().build())
404+
.setEndpoint("http://localhost:7469")
405+
.build())
406+
.build();
407+
} else {
408+
return EchoSettings.newBuilder()
409+
.setCredentialsProvider(NoCredentialsProvider.create())
410+
.setTransportChannelProvider(
411+
EchoSettings.defaultGrpcTransportProviderBuilder()
412+
.setChannelConfigurator(ManagedChannelBuilder::usePlaintext)
413+
.build())
414+
.setEndpoint("localhost:7469")
415+
.build();
416+
}
417+
}
418+
419+
private EchoStub createStubWithServiceName(
420+
EchoSettings settings, SpanTracerFactory tracingFactory) throws IOException {
421+
EchoStubSettings.Builder builder =
422+
(EchoStubSettings.Builder) settings.getStubSettings().toBuilder();
423+
builder.setTracerFactory(tracingFactory);
424+
return new ExtendedEchoStubSettings(builder).createStub();
425+
}
426+
427+
/** Custom wrapper to set a service name for showcase clients, which lack one by default. */
428+
private static class ExtendedEchoStubSettings extends EchoStubSettings {
429+
protected ExtendedEchoStubSettings(EchoStubSettings.Builder builder) throws IOException {
430+
super(builder);
431+
}
432+
433+
@Override
434+
public String getServiceName() {
435+
return "showcase";
436+
}
437+
}
435438
}

0 commit comments

Comments
 (0)