|
@@ -10,6 +10,8 @@ import static java.util.Collections.singletonMap;
|
|
import static org.assertj.core.api.Assertions.entry;
|
|
import static org.assertj.core.api.Assertions.entry;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
|
|
+import static org.mockito.Mockito.never;
|
|
|
|
+import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.when;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
|
import io.opentelemetry.api.common.Attributes;
|
|
import io.opentelemetry.api.common.Attributes;
|
|
@@ -89,6 +91,33 @@ class PeerServiceAttributesExtractorTest {
|
|
AttributesBuilder endAttributes = Attributes.builder();
|
|
AttributesBuilder endAttributes = Attributes.builder();
|
|
underTest.onEnd(endAttributes, context, "request", "response", null);
|
|
underTest.onEnd(endAttributes, context, "request", "response", null);
|
|
|
|
|
|
|
|
+ // then
|
|
|
|
+ assertThat(startAttributes.build()).isEmpty();
|
|
|
|
+ assertThat(endAttributes.build())
|
|
|
|
+ .containsOnly(entry(SemanticAttributes.PEER_SERVICE, "myService"));
|
|
|
|
+ verify(netAttributesExtractor, never()).getSockPeerName(any(), any());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Test
|
|
|
|
+ void shouldSetSockPeerNameIfItMatchesAndNoPeerNameProvided() {
|
|
|
|
+ // given
|
|
|
|
+ Map<String, String> peerServiceMapping = new HashMap<>();
|
|
|
|
+ peerServiceMapping.put("example.com", "myService");
|
|
|
|
+ peerServiceMapping.put("1.2.3.4", "someOtherService");
|
|
|
|
+
|
|
|
|
+ PeerServiceAttributesExtractor<String, String> underTest =
|
|
|
|
+ new PeerServiceAttributesExtractor<>(netAttributesExtractor, peerServiceMapping);
|
|
|
|
+
|
|
|
|
+ when(netAttributesExtractor.getSockPeerName(any(), any())).thenReturn("example.com");
|
|
|
|
+
|
|
|
|
+ Context context = Context.root();
|
|
|
|
+
|
|
|
|
+ // when
|
|
|
|
+ AttributesBuilder startAttributes = Attributes.builder();
|
|
|
|
+ underTest.onStart(startAttributes, context, "request");
|
|
|
|
+ AttributesBuilder endAttributes = Attributes.builder();
|
|
|
|
+ underTest.onEnd(endAttributes, context, "request", "response", null);
|
|
|
|
+
|
|
// then
|
|
// then
|
|
assertThat(startAttributes.build()).isEmpty();
|
|
assertThat(startAttributes.build()).isEmpty();
|
|
assertThat(endAttributes.build())
|
|
assertThat(endAttributes.build())
|