Skip to content

Commit 052971b

Browse files
authored
test(aws-client-api-test): assert client config custody in integ test (#6970)
1 parent e4d791d commit 052971b

File tree

3 files changed

+66
-6
lines changed

3 files changed

+66
-6
lines changed

private/aws-client-api-test/package.json

+9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,16 @@
1818
"module": "./dist-es/index.js",
1919
"sideEffects": false,
2020
"dependencies": {
21+
"@aws-sdk/client-dynamodb": "*",
22+
"@aws-sdk/client-ec2": "*",
23+
"@aws-sdk/client-glacier": "*",
24+
"@aws-sdk/client-rds": "*",
25+
"@aws-sdk/client-route-53": "*",
2126
"@aws-sdk/client-s3": "*",
27+
"@aws-sdk/client-s3-control": "*",
28+
"@aws-sdk/client-sqs": "*",
29+
"@aws-sdk/client-sts": "*",
30+
"@aws-sdk/client-transcribe-streaming": "*",
2231
"@aws-sdk/credential-provider-node": "*",
2332
"@aws-sdk/middleware-bucket-endpoint": "*",
2433
"@aws-sdk/middleware-flexible-checksums": "*",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { describe, test as it, expect } from "vitest";
2+
import { S3 } from "@aws-sdk/client-s3";
3+
import { S3Control } from "@aws-sdk/client-s3-control";
4+
import { DynamoDB } from "@aws-sdk/client-dynamodb";
5+
import { EC2 } from "@aws-sdk/client-ec2";
6+
import { SQS } from "@aws-sdk/client-sqs";
7+
import { Glacier } from "@aws-sdk/client-glacier";
8+
import { STS } from "@aws-sdk/client-sts";
9+
import { TranscribeStreaming } from "@aws-sdk/client-transcribe-streaming";
10+
import { Route53 } from "@aws-sdk/client-route-53";
11+
import { RDS } from "@aws-sdk/client-rds";
12+
13+
describe("client config object custody", () => {
14+
it("should maintain a consistent object reference throughout the client resolver stack lifecycle (the constructor)", () => {
15+
const clients = [
16+
new S3(),
17+
new S3Control(),
18+
new DynamoDB(),
19+
new EC2(),
20+
new Glacier(),
21+
new RDS(),
22+
new Route53(),
23+
new SQS(),
24+
new STS(),
25+
new TranscribeStreaming(),
26+
];
27+
for (const client of clients) {
28+
try {
29+
expect(Object.keys(client.config)).toEqual(Object.keys(client.initConfig ?? {}));
30+
} catch (e) {
31+
throw new Error(`MismatchedObjectKeys - config object custody error for ${client.constructor.name}`);
32+
}
33+
34+
// reference equality assertion
35+
try {
36+
expect(client.config).toBe(client.initConfig);
37+
} catch (e) {
38+
throw new Error(`ReferenceEqualityError - config object custody error for ${client.constructor.name}`);
39+
}
40+
}
41+
});
42+
});

yarn.lock

+15-6
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,16 @@ __metadata:
101101
version: 0.0.0-use.local
102102
resolution: "@aws-sdk/aws-client-api-test@workspace:private/aws-client-api-test"
103103
dependencies:
104+
"@aws-sdk/client-dynamodb": "npm:*"
105+
"@aws-sdk/client-ec2": "npm:*"
106+
"@aws-sdk/client-glacier": "npm:*"
107+
"@aws-sdk/client-rds": "npm:*"
108+
"@aws-sdk/client-route-53": "npm:*"
104109
"@aws-sdk/client-s3": "npm:*"
110+
"@aws-sdk/client-s3-control": "npm:*"
111+
"@aws-sdk/client-sqs": "npm:*"
112+
"@aws-sdk/client-sts": "npm:*"
113+
"@aws-sdk/client-transcribe-streaming": "npm:*"
105114
"@aws-sdk/credential-provider-node": "npm:*"
106115
"@aws-sdk/middleware-bucket-endpoint": "npm:*"
107116
"@aws-sdk/middleware-flexible-checksums": "npm:*"
@@ -9462,7 +9471,7 @@ __metadata:
94629471
languageName: unknown
94639472
linkType: soft
94649473

9465-
"@aws-sdk/client-glacier@workspace:clients/client-glacier":
9474+
"@aws-sdk/client-glacier@npm:*, @aws-sdk/client-glacier@workspace:clients/client-glacier":
94669475
version: 0.0.0-use.local
94679476
resolution: "@aws-sdk/client-glacier@workspace:clients/client-glacier"
94689477
dependencies:
@@ -17209,7 +17218,7 @@ __metadata:
1720917218
languageName: unknown
1721017219
linkType: soft
1721117220

17212-
"@aws-sdk/client-rds@workspace:clients/client-rds":
17221+
"@aws-sdk/client-rds@npm:*, @aws-sdk/client-rds@workspace:clients/client-rds":
1721317222
version: 0.0.0-use.local
1721417223
resolution: "@aws-sdk/client-rds@workspace:clients/client-rds"
1721517224
dependencies:
@@ -17957,7 +17966,7 @@ __metadata:
1795717966
languageName: unknown
1795817967
linkType: soft
1795917968

17960-
"@aws-sdk/client-route-53@workspace:clients/client-route-53":
17969+
"@aws-sdk/client-route-53@npm:*, @aws-sdk/client-route-53@workspace:clients/client-route-53":
1796117970
version: 0.0.0-use.local
1796217971
resolution: "@aws-sdk/client-route-53@workspace:clients/client-route-53"
1796317972
dependencies:
@@ -20164,7 +20173,7 @@ __metadata:
2016420173
languageName: unknown
2016520174
linkType: soft
2016620175

20167-
"@aws-sdk/client-sqs@workspace:clients/client-sqs":
20176+
"@aws-sdk/client-sqs@npm:*, @aws-sdk/client-sqs@workspace:clients/client-sqs":
2016820177
version: 0.0.0-use.local
2016920178
resolution: "@aws-sdk/client-sqs@workspace:clients/client-sqs"
2017020179
dependencies:
@@ -20695,7 +20704,7 @@ __metadata:
2069520704
languageName: unknown
2069620705
linkType: soft
2069720706

20698-
"@aws-sdk/client-sts@workspace:clients/client-sts":
20707+
"@aws-sdk/client-sts@npm:*, @aws-sdk/client-sts@workspace:clients/client-sts":
2069920708
version: 0.0.0-use.local
2070020709
resolution: "@aws-sdk/client-sts@workspace:clients/client-sts"
2070120710
dependencies:
@@ -21330,7 +21339,7 @@ __metadata:
2133021339
languageName: unknown
2133121340
linkType: soft
2133221341

21333-
"@aws-sdk/client-transcribe-streaming@workspace:clients/client-transcribe-streaming":
21342+
"@aws-sdk/client-transcribe-streaming@npm:*, @aws-sdk/client-transcribe-streaming@workspace:clients/client-transcribe-streaming":
2133421343
version: 0.0.0-use.local
2133521344
resolution: "@aws-sdk/client-transcribe-streaming@workspace:clients/client-transcribe-streaming"
2133621345
dependencies:

0 commit comments

Comments
 (0)