Skip to content

Commit c50eb3c

Browse files
authored
Add attribute to camel aws SNS assertions (#14434)
1 parent d04a0f8 commit c50eb3c

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsSpanAssertions.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1717
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
1818
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_REQUEST_ID;
19+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_SNS_TOPIC_ARN;
1920
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME;
2021
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID;
2122
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION;
@@ -139,16 +140,18 @@ static SpanDataAssert s3(SpanDataAssert span, String spanName, String bucketName
139140
v -> val.isInstanceOf(Number.class), v -> assertThat(v).isNull())));
140141
}
141142

142-
static SpanDataAssert sns(SpanDataAssert span, String spanName, String topicArn) {
143+
static SpanDataAssert sns(
144+
SpanDataAssert span, String spanName, String topicArn, String destinationName) {
143145
return span.hasName(spanName)
144146
.hasKind(CLIENT)
145147
.hasAttributesSatisfyingExactly(
146148
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
147149
satisfies(AWS_REQUEST_ID, val -> val.isInstanceOf(String.class)),
150+
equalTo(AWS_SNS_TOPIC_ARN, topicArn),
148151
equalTo(RPC_SYSTEM, "aws-api"),
149152
equalTo(RPC_METHOD, spanName.substring(4)),
150153
equalTo(RPC_SERVICE, "AmazonSNS"),
151-
equalTo(MESSAGING_DESTINATION_NAME, topicArn),
154+
equalTo(MESSAGING_DESTINATION_NAME, destinationName),
152155
equalTo(HTTP_REQUEST_METHOD, "POST"),
153156
equalTo(HTTP_RESPONSE_STATUS_CODE, 200),
154157
satisfies(URL_FULL, val -> val.isInstanceOf(String.class)),

instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/SnsCamelTest.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,12 @@ void awsSdkSnsProducerToCamelSqsConsumer() {
5555
span -> AwsSpanAssertions.sqs(span, "SQS.ListQueues").hasNoParent()),
5656
trace ->
5757
trace.hasSpansSatisfyingExactly(
58-
span -> AwsSpanAssertions.sns(span, "SNS.ListTopics", null).hasNoParent()),
58+
span -> AwsSpanAssertions.sns(span, "SNS.ListTopics", null, null).hasNoParent()),
5959
trace ->
6060
trace.hasSpansSatisfyingExactly(
61-
span -> AwsSpanAssertions.sns(span, "SNS.Publish", metaData.topicArn).hasNoParent(),
61+
span ->
62+
AwsSpanAssertions.sns(span, "SNS.Publish", metaData.topicArn, metaData.topicArn)
63+
.hasNoParent(),
6264
span ->
6365
AwsSpanAssertions.sqs(
6466
span,
@@ -107,13 +109,13 @@ void camelSnsProducerToCamelSqsConsumer() {
107109
span -> AwsSpanAssertions.sqs(span, "SQS.ListQueues").hasNoParent()),
108110
trace ->
109111
trace.hasSpansSatisfyingExactly(
110-
span -> AwsSpanAssertions.sns(span, "SNS.ListTopics", null).hasNoParent()),
112+
span -> AwsSpanAssertions.sns(span, "SNS.ListTopics", null, null).hasNoParent()),
111113
trace ->
112114
trace.hasSpansSatisfyingExactly(
113115
span -> CamelSpanAssertions.direct(span, "input"),
114116
span -> CamelSpanAssertions.snsPublish(span, topicName).hasParent(trace.getSpan(0)),
115117
span ->
116-
AwsSpanAssertions.sns(span, "SNS.Publish", metaData.topicArn)
118+
AwsSpanAssertions.sns(span, "SNS.Publish", metaData.topicArn, metaData.topicArn)
117119
.hasParent(trace.getSpan(1)),
118120
span ->
119121
AwsSpanAssertions.sqs(
@@ -150,10 +152,13 @@ private static void waitAndClearSetupTraces(String queueUrl, String queueName, S
150152
AwsSpanAssertions.sqs(span, "SQS.SetQueueAttributes", queueUrl).hasNoParent()),
151153
trace ->
152154
trace.hasSpansSatisfyingExactly(
153-
span -> AwsSpanAssertions.sns(span, "SNS.CreateTopic", null).hasNoParent()),
155+
span ->
156+
AwsSpanAssertions.sns(span, "SNS.CreateTopic", topicArn, null).hasNoParent()),
154157
trace ->
155158
trace.hasSpansSatisfyingExactly(
156-
span -> AwsSpanAssertions.sns(span, "SNS.Subscribe", topicArn).hasNoParent()));
159+
span ->
160+
AwsSpanAssertions.sns(span, "SNS.Subscribe", topicArn, topicArn)
161+
.hasNoParent()));
157162
testing.clearData();
158163
}
159164

0 commit comments

Comments
 (0)