Skip to content

Commit 126d28b

Browse files
authored
feat: add script to auto generate new-client tests (#204)
1 parent 0c9cfd1 commit 126d28b

25 files changed

+522
-12
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"prettier": "2.7.1",
5757
"simple-git-hooks": "^2.8.1",
5858
"ts-jest": "^29.0.3",
59+
"tsx": "^3.12.1",
5960
"typescript": "~4.9.4"
6061
},
6162
"engines": {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { CLIENT_PACKAGE_NAMES_MAP } from "../../src/transforms/v2-to-v3/utils/config";
2+
3+
export const getClientNamesSortedByPackageName = () =>
4+
Object.keys(CLIENT_PACKAGE_NAMES_MAP).sort((a, b) =>
5+
CLIENT_PACKAGE_NAMES_MAP[a].localeCompare(CLIENT_PACKAGE_NAMES_MAP[b])
6+
);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
2+
3+
export const getGlobalImportInputContent = (codegenComment: string) => {
4+
let globalImportInputContent = `${codegenComment}\n`;
5+
6+
globalImportInputContent += `import AWS from "aws-sdk";\n\n`;
7+
globalImportInputContent += getV2ClientsNewExpressionCode(`AWS.`);
8+
9+
return globalImportInputContent;
10+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";
4+
5+
export const getGlobalImportOutputContent = (codegenComment: string) => {
6+
let globalImportOutputContent = `${codegenComment}\n`;
7+
8+
globalImportOutputContent += getV3PackageImportsCode(getClientNamesSortedByPackageName());
9+
globalImportOutputContent += `\n`;
10+
globalImportOutputContent += getV3ClientsNewExpressionCode();
11+
12+
return globalImportOutputContent;
13+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
2+
3+
export const getGlobalRequireInputContent = (codegenComment: string) => {
4+
let globalRequireInputContent = `${codegenComment}\n`;
5+
6+
globalRequireInputContent += `const AWS = require("aws-sdk");\n\n`;
7+
globalRequireInputContent += getV2ClientsNewExpressionCode(`AWS.`);
8+
9+
return globalRequireInputContent;
10+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";
4+
5+
export const getGlobalRequireOutputContent = (codegenComment: string) => {
6+
let globalRequireOutputContent = `${codegenComment}\n\n`;
7+
8+
globalRequireOutputContent += getV3PackageRequireCode(getClientNamesSortedByPackageName(), {
9+
extraNewLine: true,
10+
});
11+
globalRequireOutputContent += getV3ClientsNewExpressionCode();
12+
13+
return globalRequireOutputContent;
14+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
3+
4+
export const getServiceImportInputContent = (codegenComment: string) => {
5+
let serviceImportInputContent = `${codegenComment}\n`;
6+
7+
for (const clientName of CLIENT_NAMES) {
8+
serviceImportInputContent += `import ${clientName} from "aws-sdk/clients/${clientName.toLowerCase()}";\n`;
9+
}
10+
serviceImportInputContent += `\n`;
11+
serviceImportInputContent += getV2ClientsNewExpressionCode();
12+
13+
return serviceImportInputContent;
14+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";
4+
5+
export const getServiceImportOutputContent = (codegenComment: string) => {
6+
let serviceImportOutputContent = `${codegenComment}\n`;
7+
8+
serviceImportOutputContent += getV3PackageImportsCode(CLIENT_NAMES);
9+
serviceImportOutputContent += `\n`;
10+
serviceImportOutputContent += getV3ClientsNewExpressionCode();
11+
12+
return serviceImportOutputContent;
13+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
3+
4+
export const getServiceRequireInputContent = (codegenComment: string) => {
5+
let serviceRequireInputContent = `${codegenComment}\n`;
6+
7+
for (const clientName of CLIENT_NAMES) {
8+
serviceRequireInputContent += `const ${clientName} = require("aws-sdk/clients/${clientName.toLowerCase()}");\n`;
9+
}
10+
serviceRequireInputContent += `\n`;
11+
serviceRequireInputContent += getV2ClientsNewExpressionCode();
12+
13+
return serviceRequireInputContent;
14+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";
4+
5+
export const getServiceRequireOutputContent = (codegenComment: string) => {
6+
let serviceRequireOutputContent = `${codegenComment}\n`;
7+
8+
serviceRequireOutputContent += getV3PackageRequireCode(CLIENT_NAMES);
9+
serviceRequireOutputContent += `\n`;
10+
serviceRequireOutputContent += getV3ClientsNewExpressionCode();
11+
12+
return serviceRequireOutputContent;
13+
};

0 commit comments

Comments
 (0)