Skip to content

Commit 37212cc

Browse files
committed
test: fix codegen test
1 parent d2228a9 commit 37212cc

File tree

5 files changed

+62
-31
lines changed

5 files changed

+62
-31
lines changed

codegen/smithy-aws-typescript-codegen/src/test/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPluginTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void awsClient() {
4242

4343
// Check config files
4444
assertThat(manifest.getFileString("runtimeConfig.ts").get(),
45-
containsString("credentialDefaultProvider: decorateDefaultCredentialProvider"));
45+
containsString("decorateDefaultCredentialProvider"));
4646
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("Credential is missing"));
4747
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), not(containsString("signingName:")));
4848

@@ -81,7 +81,7 @@ public void sigV4GenericClient() {
8181

8282
// Check config files
8383
assertThat(manifest.getFileString("runtimeConfig.ts").get(),
84-
containsString("credentialDefaultProvider: decorateDefaultCredentialProvider"));
84+
containsString("decorateDefaultCredentialProvider"));
8585
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("Credential is missing"));
8686
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), containsString("signingName:"));
8787

@@ -120,7 +120,7 @@ public void notSigV4GenericClient() {
120120

121121
// Check config files
122122
assertThat(manifest.getFileString("runtimeConfig.ts").get(),
123-
not(containsString("credentialDefaultProvider: decorateDefaultCredentialProvider")));
123+
not(containsString("decorateDefaultCredentialProvider")));
124124
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), not(containsString("Credential is missing")));
125125
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), not(containsString("signingName:")));
126126

codegen/smithy-aws-typescript-codegen/src/test/java/software/amazon/smithy/aws/typescript/codegen/AddAwsRuntimeConfigTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ public void awsClient() {
4444
assertThat(manifest.getFileString("NotSameClient.ts").get(), containsString("region?:"));
4545

4646
// Check config files
47-
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), containsString("serviceId: \"Not Same\""));
48-
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("region: invalidProvider"));
49-
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("region: loadNodeConfig"));
47+
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), containsString("serviceId: config.serviceId ?? \"Not Same\""));
48+
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("region: config.region ?? invalidProvider"));
49+
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("region: config.region ?? loadNodeConfig"));
5050
}
5151

5252
@Test
@@ -81,8 +81,8 @@ public void sigV4GenericClient() {
8181

8282
// Check config files
8383
assertThat(manifest.getFileString("runtimeConfig.shared.ts").get(), not(containsString("serviceId:")));
84-
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("region: invalidProvider"));
85-
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("region: loadNodeConfig"));
84+
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("region: config.region ?? invalidProvider"));
85+
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("region: config.region ?? loadNodeConfig"));
8686
}
8787

8888
@Test

codegen/smithy-aws-typescript-codegen/src/test/java/software/amazon/smithy/aws/typescript/codegen/AddUserAgentDependencyTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ public void awsClient() {
4242
// Check config files
4343
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("defaultUserAgent"));
4444
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("packageInfo.version"));
45-
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("ClientSharedValues.serviceId"));
45+
assertThat(manifest.getFileString("runtimeConfig.ts").get(), containsString("clientSharedValues.serviceId"));
4646

4747
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("defaultUserAgent"));
4848
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("packageInfo.version"));
49-
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("ClientSharedValues.serviceId"));
49+
assertThat(manifest.getFileString("runtimeConfig.browser.ts").get(), containsString("clientSharedValues.serviceId"));
5050

5151
// Check the config resolution and middleware plugin
5252
assertThat(manifest.getFileString("NotSameClient.ts").get(), containsString("resolveUserAgentConfig"));

scripts/generate-clients/copy-to-clients.js

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,39 @@ const { normalize, join } = require("path");
33
const { copySync, removeSync } = require("fs-extra");
44
const { readdirSync, lstatSync, readFileSync, existsSync, writeFileSync } = require("fs");
55

6-
const getOverwritablePredicate = (packageName) => (pathName) => {
7-
const overwritablePathnames = [
6+
// const getOverwritablePredicate = (packageName) => (pathName) => {
7+
// const overwritablePathnames = [
8+
// "commands",
9+
// "models",
10+
// "protocols",
11+
// "pagination",
12+
// "tests",
13+
// "waiters",
14+
// "LICENCE",
15+
// "runtimeConfig.ts",
16+
// "runtimeConfig.browser.ts",
17+
// "runtimeConfig.shared.ts",
18+
// "runtimeConfig.native.ts",
19+
// "index.ts",
20+
// "endpoints.ts",
21+
// "README.md",
22+
// ];
23+
// const additionalGeneratedFiles = {
24+
// "@aws-sdk/client-sts": ["defaultRoleAssumers.ts", "defaultStsRoleAssumers.ts", "defaultRoleAssumers.spec.ts"],
25+
// };
26+
// return (
27+
// // pathName
28+
// // .toLowerCase()
29+
// // .startsWith(
30+
// // packageName.toLowerCase().replace("@aws-sdk/client-", "").replace("@aws-sdk/aws-", "").replace(/-/g, "")
31+
// // ) ||
32+
// pathName.endsWith("Client.ts") &&
33+
// overwritablePathnames.indexOf(pathName) >= 0 ||
34+
// additionalGeneratedFiles[packageName.toLowerCase()]?.indexOf(pathName) >= 0
35+
// );
36+
// };
37+
const getOverwritableDirectories = (subDirectories) => {
38+
const overwritableDirectories = [
839
"commands",
940
"models",
1041
"protocols",
@@ -19,19 +50,17 @@ const getOverwritablePredicate = (packageName) => (pathName) => {
1950
"index.ts",
2051
"endpoints.ts",
2152
"README.md",
53+
// @aws-sdk/client-sts special files
54+
"defaultRoleAssumers.ts",
55+
"defaultStsRoleAssumers.ts",
56+
"defaultRoleAssumers.spec.ts",
2257
];
23-
const additionalGeneratedFiles = {
24-
"@aws-sdk/client-sts": ["defaultRoleAssumers.ts", "defaultStsRoleAssumers.ts", "defaultRoleAssumers.spec.ts"],
25-
};
26-
return (
27-
pathName
28-
.toLowerCase()
29-
.startsWith(
30-
packageName.toLowerCase().replace("@aws-sdk/client-", "").replace("@aws-sdk/aws-", "").replace(/-/g, "")
31-
) ||
32-
overwritablePathnames.indexOf(pathName) >= 0 ||
33-
additionalGeneratedFiles[packageName.toLowerCase()]?.indexOf(pathName) >= 0
34-
);
58+
return subDirectories.filter((subDirectory) => {
59+
const isBareBoneClient =
60+
subDirectory.endsWith("Client.ts") && subDirectories.includes(subDirectory.replace("Client.ts", ".ts"));
61+
const isAggregateClient = subDirectories.includes(subDirectory.replace(".ts", "Client.ts"));
62+
return isBareBoneClient || isAggregateClient || overwritableDirectories.indexOf(subDirectory) >= 0;
63+
});
3564
};
3665

3766
/**
@@ -109,7 +138,6 @@ const copyToClients = async (sourceDir, destinationDir) => {
109138

110139
console.log(`copying ${packageName} from ${artifactPath} to ${destinationDir}`);
111140
const destPath = join(destinationDir, clientName);
112-
const overwritablePredicate = getOverwritablePredicate(packageName);
113141

114142
// Code to move files/folders prefixed with `doc-client-` to `lib/lib-dynamodb`
115143
if (clientName === "client-dynamodb") {
@@ -124,7 +152,9 @@ const copyToClients = async (sourceDir, destinationDir) => {
124152
}
125153
}
126154

127-
for (const packageSub of readdirSync(artifactPath)) {
155+
const packageSubs = readdirSync(artifactPath);
156+
const overWritableSubs = getOverwritableDirectories(packageSubs);
157+
for (const packageSub of packageSubs) {
128158
const packageSubPath = join(artifactPath, packageSub);
129159
const destSubPath = join(destPath, packageSub);
130160

@@ -141,7 +171,7 @@ const copyToClients = async (sourceDir, destinationDir) => {
141171
},
142172
};
143173
writeFileSync(destSubPath, JSON.stringify(mergedManifest, null, 2).concat(`\n`));
144-
} else if (overwritablePredicate(packageSub) || !existsSync(destSubPath)) {
174+
} else if (overWritableSubs.includes(packageSub) || !existsSync(destSubPath)) {
145175
if (lstatSync(packageSubPath).isDirectory()) removeSync(destSubPath);
146176
copySync(packageSubPath, destSubPath, {
147177
overwrite: true,
@@ -168,9 +198,10 @@ const copyServerTests = async (sourceDir, destinationDir) => {
168198

169199
console.log(`copying ${packageName} from ${artifactPath} to ${destinationDir}`);
170200
const destPath = join(destinationDir, testName);
171-
const overwritablePredicate = getOverwritablePredicate(packageName);
172201

173-
for (const packageSub of readdirSync(artifactPath)) {
202+
const packageSubs = readdirSync(artifactPath);
203+
const overWritableSubs = getOverwritableDirectories(packageSubs);
204+
for (const packageSub of packageSubs) {
174205
const packageSubPath = join(artifactPath, packageSub);
175206
const destSubPath = join(destPath, packageSub);
176207

@@ -187,7 +218,7 @@ const copyServerTests = async (sourceDir, destinationDir) => {
187218
},
188219
};
189220
writeFileSync(destSubPath, JSON.stringify(mergedManifest, null, 2).concat(`\n`));
190-
} else if (overwritablePredicate(packageSub) || !existsSync(destSubPath)) {
221+
} else if (overWritableSubs.includes(packageSub) || !existsSync(destSubPath)) {
191222
if (lstatSync(packageSubPath).isDirectory()) removeSync(destSubPath);
192223
copySync(packageSubPath, destSubPath, {
193224
overwrite: true,

scripts/generate-clients/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const {
4848
await prettifyCode(CODE_GEN_PROTOCOL_TESTS_OUTPUT_DIR);
4949
await copyServerTests(CODE_GEN_PROTOCOL_TESTS_OUTPUT_DIR, PROTOCOL_TESTS_CLIENTS_DIR);
5050

51-
emptyDirSync(CODE_GEN_PROTOCOL_TESTS_OUTPUT_DIR);
51+
// emptyDirSync(CODE_GEN_PROTOCOL_TESTS_OUTPUT_DIR);
5252
emptyDirSync(TEMP_CODE_GEN_INPUT_DIR);
5353

5454
rmdirSync(TEMP_CODE_GEN_INPUT_DIR);

0 commit comments

Comments
 (0)