Skip to content

Commit 8af6e80

Browse files
committed
test(o11y): add static factory creation tests for metrics recorder
Added unit tests to `GoldenSignalsMetricsRecorderTest` to explicitly verify that `GoldenSignalsMetricsRecorder.create()` correctly intercepts invalid `LibraryMetadata` states (null values, missing artifact name, empty artifact name) and returns `null` as expected.
1 parent c5dab4a commit 8af6e80

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/tracing/GoldenSignalsMetricsRecorderTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,29 @@ void recordOperationLatency_shouldRecordMetricAttributes() {
120120
assertThat(metricData.getHistogramData().getPoints().iterator().next().getAttributes())
121121
.isEqualTo(Attributes.of(AttributeKey.stringKey(ATTRIBUTE_1), VALUE_1));
122122
}
123+
124+
@Test
125+
void create_shouldReturnNull_whenLibraryMetadataIsNull() {
126+
GoldenSignalsMetricsRecorder actual =
127+
GoldenSignalsMetricsRecorder.create(OpenTelemetry.noop(), null);
128+
assertThat(actual).isNull();
129+
}
130+
131+
@Test
132+
void create_shouldReturnNull_whenArtifactNameIsNull() {
133+
com.google.api.gax.rpc.LibraryMetadata metadata =
134+
com.google.api.gax.rpc.LibraryMetadata.newBuilder().setVersion("1.0.0").build();
135+
GoldenSignalsMetricsRecorder actual =
136+
GoldenSignalsMetricsRecorder.create(OpenTelemetry.noop(), metadata);
137+
assertThat(actual).isNull();
138+
}
139+
140+
@Test
141+
void create_shouldReturnNull_whenArtifactNameIsEmpty() {
142+
com.google.api.gax.rpc.LibraryMetadata metadata =
143+
com.google.api.gax.rpc.LibraryMetadata.newBuilder().setArtifactName("").build();
144+
GoldenSignalsMetricsRecorder actual =
145+
GoldenSignalsMetricsRecorder.create(OpenTelemetry.noop(), metadata);
146+
assertThat(actual).isNull();
147+
}
123148
}

0 commit comments

Comments
 (0)