Skip to content

Commit 2cd9f43

Browse files
committed
add sfn fault path tests
1 parent b425d17 commit 2cd9f43

File tree

5 files changed

+85
-0
lines changed

5 files changed

+85
-0
lines changed

appsignals-tests/contract-tests/src/test/java/software/amazon/opentelemetry/appsignals/test/awssdk/base/AwsSdkBaseTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2518,4 +2518,40 @@ protected void doTestStepFunctionsDescribeActivityError() throws Exception {
25182518
cloudformationIdentifier,
25192519
1.0);
25202520
}
2521+
2522+
protected void doTestStepFunctionsDescribeActivityFault() throws Exception {
2523+
appClient.get("/sfn/fault").aggregate().join();
2524+
var traces = mockCollectorClient.getTraces();
2525+
var metrics = mockCollectorClient.getMetrics(
2526+
Set.of(
2527+
AppSignalsConstants.ERROR_METRIC,
2528+
AppSignalsConstants.FAULT_METRIC,
2529+
AppSignalsConstants.LATENCY_METRIC));
2530+
2531+
var localService = getApplicationOtelServiceName();
2532+
var localOperation = "GET /sfn/fault";
2533+
var type = "AWS::StepFunctions::Activity";
2534+
var identifier = "fault-activity";
2535+
var cloudformationIdentifier = "arn:aws:states:us-west-2:000000000000:activity:fault-activity";
2536+
2537+
assertSpanClientAttributes(
2538+
traces,
2539+
stepFunctionsSpanName("DescribeActivity"),
2540+
getStepFunctionsRpcServiceName(),
2541+
localService,
2542+
localOperation,
2543+
getStepFunctionsServiceName(),
2544+
"DescribeActivity",
2545+
type,
2546+
identifier,
2547+
cloudformationIdentifier,
2548+
"fault.test",
2549+
8080,
2550+
"http://fault.test:8080",
2551+
500,
2552+
List.of(
2553+
assertAttribute(
2554+
SemanticConventionsConstants.AWS_ACTIVITY_ARN,
2555+
"arn:aws:states:us-west-2:000000000000:activity:fault-activity")));
2556+
}
25212557
}

appsignals-tests/contract-tests/src/test/java/software/amazon/opentelemetry/appsignals/test/awssdk/v1/AwsSdkV1Test.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,4 +275,9 @@ void testStepFunctionsDescribeActivity() throws Exception {
275275
void testStepFunctionsDescribeActivityError() throws Exception {
276276
doTestStepFunctionsDescribeActivityError();
277277
}
278+
279+
@Test
280+
void testStepFunctionsDescribeActivityFault() throws Exception {
281+
doTestStepFunctionsDescribeActivityFault();
282+
}
278283
}

appsignals-tests/contract-tests/src/test/java/software/amazon/opentelemetry/appsignals/test/awssdk/v2/AwsSdkV2Test.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,4 +280,9 @@ void testStepFunctionsDescribeActivity() throws Exception {
280280
void testStepFunctionsDescribeActivityError() throws Exception {
281281
doTestStepFunctionsDescribeActivityError();
282282
}
283+
284+
@Test
285+
void testStepFunctionsDescribeActivityFault() throws Exception {
286+
doTestStepFunctionsDescribeActivityFault();
287+
}
283288
}

appsignals-tests/images/aws-sdk/aws-sdk-v1/src/main/java/com/amazon/sampleapp/App.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,6 +829,7 @@ private static void setupStepFunctions() {
829829
var errorClient = AWSStepFunctionsClient.builder().withCredentials(CREDENTIALS_PROVIDER)
830830
.withEndpointConfiguration(new EndpointConfiguration("http://error.test:8080", Regions.US_WEST_2.getName()))
831831
.build();
832+
832833
try {
833834
var describeRequest = new DescribeActivityRequest().withActivityArn("arn:aws:states:us-west-2:000000000000:activity:nonexistent-activity");
834835
errorClient.describeActivity(describeRequest);
@@ -837,5 +838,23 @@ private static void setupStepFunctions() {
837838
}
838839
return "";
839840
});
841+
842+
get(
843+
"/sfn/fault",
844+
(req, res) -> {
845+
setMainStatus(500);
846+
var faultClient = AWSStepFunctionsClient.builder().withCredentials(CREDENTIALS_PROVIDER)
847+
.withEndpointConfiguration(new EndpointConfiguration("http://fault.test:8080", Regions.US_WEST_2.getName()))
848+
.build();
849+
850+
try {
851+
var describeRequest = new DescribeActivityRequest()
852+
.withActivityArn("arn:aws:states:us-west-2:000000000000:activity:fault-activity");
853+
faultClient.describeActivity(describeRequest);
854+
} catch (Exception e) {
855+
logger.info("Error caught in Sample App", e);
856+
}
857+
return"";
858+
});
840859
}
841860
}

appsignals-tests/images/aws-sdk/aws-sdk-v2/src/main/java/com/amazon/sampleapp/App.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,5 +872,25 @@ private static void setupStepFunctions() {
872872
}
873873
return "";
874874
});
875+
876+
get(
877+
"/sfn/fault",
878+
(req, res) -> {
879+
setMainStatus(500);
880+
var faultClient = SfnClient.builder()
881+
.endpointOverride(URI.create("http://fault.test:8080"))
882+
.credentialsProvider(CREDENTIALS_PROVIDER)
883+
.build();
884+
885+
try {
886+
var describeRequest = DescribeActivityRequest.builder()
887+
.activityArn("arn:aws:states:us-west-2:000000000000:activity:fault-activity")
888+
.build();
889+
faultClient.describeActivity(describeRequest);
890+
} catch (Exception e) {
891+
logger.info("Fault caught in Sample App", e);
892+
}
893+
return "";
894+
});
875895
}
876896
}

0 commit comments

Comments
 (0)