Skip to content

Commit 1c138ae

Browse files
committed
add contract tests for describe secret calls
1 parent aec4cc0 commit 1c138ae

File tree

5 files changed

+64
-4
lines changed

5 files changed

+64
-4
lines changed

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

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2292,4 +2292,38 @@ protected void doTestSecretsManagerCreateSecret() throws Exception {
22922292
cloudformationIdentifier,
22932293
0.0);
22942294
}
2295+
2296+
protected void doTestSecretsManagerDescribeSecret() throws Exception {
2297+
appClient.get("/secretsmanager/describe/test-secret-id").aggregate().join();
2298+
var traces = mockCollectorClient.getTraces();
2299+
var metrics = mockCollectorClient.getMetrics(
2300+
Set.of(
2301+
AppSignalsConstants.ERROR_METRIC,
2302+
AppSignalsConstants.FAULT_METRIC,
2303+
AppSignalsConstants.LATENCY_METRIC
2304+
)
2305+
);
2306+
var localService = getApplicationOtelServiceName();
2307+
var localOperation = "GET /secretsmanager/describe/:secretId";
2308+
var type = "AWS::SecretsManager::Secret";
2309+
var identifier = "test-secret-id";
2310+
var cloudformationIdentifier = "arn:aws:secretsmanager:us-west-2:000000000000:secret:test-secret-id";
2311+
2312+
assertSpanClientAttributes(
2313+
traces,
2314+
secretsManagerSpanName("DescribeSecret"),
2315+
getSecretsManagerRpcServiceName(),
2316+
localService,
2317+
localOperation,
2318+
getSecretsManagerServiceName(),
2319+
"DescribeSecret",
2320+
type,
2321+
identifier,
2322+
cloudformationIdentifier,
2323+
"localstack",
2324+
4566,
2325+
"http://localstack:4566",
2326+
200,
2327+
List.of(assertAttribute(SemanticConventionsConstants.AWS_SECRET_ARN, "arn:aws:secretsmanager:us-west-2:000000000000:secret:test-secret-id")));
2328+
}
22952329
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,4 +248,7 @@ void testBedrockAgentRuntimeKnowledgeBaseId() {
248248

249249
@Test
250250
void testSecretsManagerCreateSecret() throws Exception { doTestSecretsManagerCreateSecret(); }
251+
252+
@Test
253+
void testSecretsManagerDescribeSecret() throws Exception { doTestSecretsManagerDescribeSecret(); }
251254
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,4 +249,7 @@ void testBedrockAgentRuntimeAgentId() {
249249

250250
@Test
251251
void testSecretsManagerCreateSecret() throws Exception { doTestSecretsManagerCreateSecret(); }
252+
253+
@Test
254+
void testSecretsManagerDescribeSecret() throws Exception { doTestSecretsManagerDescribeSecret(); }
252255
}

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,13 +638,23 @@ private static void setupBedrock() {
638638

639639
private static void setupSecretsManager() {
640640
var secretsManagerClient = AWSSecretsManagerClient.builder().withCredentials(CREDENTIALS_PROVIDER).withEndpointConfiguration(endpointConfiguration).build();
641+
var createSecretRequest = new CreateSecretRequest().withName("test-secret-id");
642+
var response = secretsManagerClient.createSecret(createSecretRequest);
643+
var testSecretId = response.getARN();
641644

642645
get (
643646
"/secretsmanager/createsecret/:secretId",
644647
(req, res) -> {
645648
var secretId = req.params(":secretId");
646-
var createSecretRequest = new CreateSecretRequest().withName(secretId);
647-
secretsManagerClient.createSecret(createSecretRequest);
649+
var testCreateSecretRequest = new CreateSecretRequest().withName(secretId);
650+
secretsManagerClient.createSecret(testCreateSecretRequest);
651+
return "";
652+
});
653+
get (
654+
"/secretsmanager/describesecret/:secretId",
655+
(req, res) -> {
656+
var describeSecretRequest = new DescribeSecretRequest().withSecretId(testSecretId);
657+
secretsManagerClient.describeSecret(describeSecretRequest);
648658
return "";
649659
});
650660
}

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -666,13 +666,23 @@ private static void setupBedrock() {
666666

667667
private static void setupSecretsManager() {
668668
var secretsManagerClient = SecretsManagerClient.builder().endpointOverride(endpoint).credentialsProvider(CREDENTIALS_PROVIDER).build();
669+
var createSecretRequest = CreateSecretRequest.builder().name("test-secret-id").build();
670+
var response = secretsManagerClient.createSecret(createSecretRequest);
671+
var testSecretId = response.arn();
669672

670673
get(
671674
"/secretsmanager/createsecret/:secretId",
672675
(req, res) -> {
673676
var secretId = req.params(":secretId");
674-
var createSecretRequest = CreateSecretRequest.builder().name(secretId).build();
675-
secretsManagerClient.createSecret(createSecretRequest);
677+
var testCreateSecretRequest = CreateSecretRequest.builder().name(secretId).build();
678+
secretsManagerClient.createSecret(testCreateSecretRequest);
679+
return "";
680+
});
681+
get(
682+
"/secretsmanager/describesecret/test-secret-id",
683+
(req, res) -> {
684+
var testDescribeSecretRequest = DescribeSecretRequest.builder().secretId(testSecretId).build();
685+
secretsManagerClient.describeSecret(testDescribeSecretRequest);
676686
return "";
677687
});
678688
}

0 commit comments

Comments
 (0)