@aws-cdk-testing/cli-integ 3.13.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/aws.d.ts +16 -3
- package/lib/aws.js +92 -6
- package/lib/cli/run-suite.js +40 -4
- package/lib/corking.d.ts +1 -1
- package/lib/npm.js +2 -1
- package/lib/package-sources/cli-npm-source.d.ts +2 -1
- package/lib/package-sources/cli-npm-source.js +6 -4
- package/lib/package-sources/cli-repo-source.d.ts +3 -2
- package/lib/package-sources/cli-repo-source.js +5 -3
- package/lib/package-sources/subprocess.d.ts +1 -0
- package/lib/package-sources/subprocess.js +1 -1
- package/lib/shell.d.ts +1 -0
- package/lib/shell.js +5 -2
- package/lib/with-aws.js +27 -17
- package/lib/with-cdk-app.d.ts +2 -0
- package/lib/with-cdk-app.js +4 -1
- package/npm-shrinkwrap.json +1094 -889
- package/package.json +21 -20
- package/tests/cli-integ-tests/cdk-assets/asset_helpers.d.ts +12 -0
- package/tests/cli-integ-tests/cdk-assets/asset_helpers.js +45 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-can-read-lib-output.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-can-read-lib-output.integtest.js +13 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-docker-credential.integtest.js +64 -11
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +10 -25
- package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.js +2 -2
- package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-reports-status.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-reports-status.integtest.js +22 -0
- package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-send-to-file-unstable.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-send-to-file-unstable.integtest.js +18 -0
- package/tests/cli-integ-tests/deploy/cdk-deploy-telemetry.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/deploy/cdk-deploy-telemetry.integtest.js +54 -0
- package/tests/cli-integ-tests/synth/cdk-synth-telemetry-with-errors.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/synth/cdk-synth-telemetry-with-errors.integtest.js +122 -0
- package/tests/cli-integ-tests/synth/cdk-synth-telemetry.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/synth/cdk-synth-telemetry.integtest.js +114 -0
package/package.json
CHANGED
|
@@ -39,12 +39,11 @@
|
|
|
39
39
|
"organization": true
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@aws-cdk/toolkit-lib": "1.
|
|
42
|
+
"@aws-cdk/toolkit-lib": "1.3.1",
|
|
43
43
|
"@aws-cdk/yarn-cling": "0.0.0",
|
|
44
44
|
"@cdklabs/eslint-plugin": "^1.3.2",
|
|
45
45
|
"@stylistic/eslint-plugin": "^3",
|
|
46
46
|
"@types/fs-extra": "^9",
|
|
47
|
-
"@types/glob": "^7",
|
|
48
47
|
"@types/jest": "^29.5.14",
|
|
49
48
|
"@types/node": "^16",
|
|
50
49
|
"@types/semver": "^7",
|
|
@@ -54,40 +53,41 @@
|
|
|
54
53
|
"commit-and-tag-version": "^12",
|
|
55
54
|
"constructs": "^10.0.0",
|
|
56
55
|
"eslint": "^9",
|
|
57
|
-
"eslint-config-prettier": "^9.1.
|
|
56
|
+
"eslint-config-prettier": "^9.1.2",
|
|
58
57
|
"eslint-import-resolver-typescript": "^3.10.1",
|
|
59
58
|
"eslint-plugin-import": "^2.32.0",
|
|
60
59
|
"eslint-plugin-jest": "^28.14.0",
|
|
61
60
|
"eslint-plugin-jsdoc": "^50.8.0",
|
|
62
|
-
"eslint-plugin-prettier": "^5.5.
|
|
61
|
+
"eslint-plugin-prettier": "^5.5.3",
|
|
63
62
|
"jest": "^29.7.0",
|
|
64
63
|
"jest-junit": "^16",
|
|
65
64
|
"license-checker": "^25.0.1",
|
|
66
65
|
"prettier": "^2.8",
|
|
67
66
|
"ts-jest": "^29.2.5",
|
|
68
|
-
"typescript": "5.
|
|
67
|
+
"typescript": "5.8"
|
|
69
68
|
},
|
|
70
69
|
"dependencies": {
|
|
71
|
-
"@aws-sdk/client-cloudformation": "3.
|
|
72
|
-
"@aws-sdk/client-codeartifact": "3.
|
|
73
|
-
"@aws-sdk/client-ecr": "3.
|
|
74
|
-
"@aws-sdk/client-ecr-public": "3.
|
|
75
|
-
"@aws-sdk/client-ecs": "3.
|
|
76
|
-
"@aws-sdk/client-iam": "3.
|
|
77
|
-
"@aws-sdk/client-lambda": "3.
|
|
78
|
-
"@aws-sdk/client-s3": "3.
|
|
79
|
-
"@aws-sdk/client-
|
|
80
|
-
"@aws-sdk/client-
|
|
81
|
-
"@aws-sdk/client-
|
|
82
|
-
"@aws-sdk/
|
|
83
|
-
"@
|
|
70
|
+
"@aws-sdk/client-cloudformation": "^3.848.0",
|
|
71
|
+
"@aws-sdk/client-codeartifact": "^3.848.0",
|
|
72
|
+
"@aws-sdk/client-ecr": "^3.848.0",
|
|
73
|
+
"@aws-sdk/client-ecr-public": "^3.848.0",
|
|
74
|
+
"@aws-sdk/client-ecs": "^3.848.0",
|
|
75
|
+
"@aws-sdk/client-iam": "^3.848.0",
|
|
76
|
+
"@aws-sdk/client-lambda": "^3.848.0",
|
|
77
|
+
"@aws-sdk/client-s3": "^3.848.0",
|
|
78
|
+
"@aws-sdk/client-secrets-manager": "^3.848.0",
|
|
79
|
+
"@aws-sdk/client-sns": "^3.848.0",
|
|
80
|
+
"@aws-sdk/client-sso": "^3.848.0",
|
|
81
|
+
"@aws-sdk/client-sts": "^3.848.0",
|
|
82
|
+
"@aws-sdk/credential-providers": "^3.848.0",
|
|
83
|
+
"@cdklabs/cdk-atmosphere-client": "^0.0.58",
|
|
84
84
|
"@octokit/rest": "^20",
|
|
85
85
|
"@smithy/types": "^4.3.1",
|
|
86
86
|
"@smithy/util-retry": "^4.0.6",
|
|
87
87
|
"axios": "^1",
|
|
88
88
|
"chalk": "^4",
|
|
89
89
|
"fs-extra": "^9",
|
|
90
|
-
"glob": "^
|
|
90
|
+
"glob": "^9",
|
|
91
91
|
"jest": "^29",
|
|
92
92
|
"jest-junit": "^15",
|
|
93
93
|
"make-runnable": "^1",
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
"node-pty": "^1.0.0",
|
|
96
96
|
"npm": "^10",
|
|
97
97
|
"p-queue": "^6",
|
|
98
|
+
"proxy-agent": "^6.5.0",
|
|
98
99
|
"semver": "^7",
|
|
99
100
|
"sinon": "^9",
|
|
100
101
|
"ts-jest": "^29",
|
|
@@ -115,7 +116,7 @@
|
|
|
115
116
|
"publishConfig": {
|
|
116
117
|
"access": "public"
|
|
117
118
|
},
|
|
118
|
-
"version": "3.
|
|
119
|
+
"version": "3.14.0",
|
|
119
120
|
"types": "lib/index.d.ts",
|
|
120
121
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
121
122
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TestFixture } from '../../../lib/with-cdk-app';
|
|
2
|
+
export declare function writeFileAsset(fixture: TestFixture): Promise<{
|
|
3
|
+
relativeAssetFile: string;
|
|
4
|
+
bucketName: string;
|
|
5
|
+
assumeRoleArn: string;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function writeDockerAsset(fixture: TestFixture): Promise<{
|
|
8
|
+
repositoryName: string;
|
|
9
|
+
assumeRoleArn: string;
|
|
10
|
+
relativeImageDir: string;
|
|
11
|
+
repositoryDomain: string;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writeFileAsset = writeFileAsset;
|
|
4
|
+
exports.writeDockerAsset = writeDockerAsset;
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
async function writeFileAsset(fixture) {
|
|
8
|
+
const account = await fixture.aws.account();
|
|
9
|
+
const region = fixture.aws.region;
|
|
10
|
+
const relativeAssetFile = 'testfile.txt';
|
|
11
|
+
for (const toCreate of [relativeAssetFile]) {
|
|
12
|
+
await fs_1.promises.writeFile(path.join(fixture.integTestDir, toCreate), 'some asset file');
|
|
13
|
+
}
|
|
14
|
+
const bucketName = `cdk-hnb659fds-assets-${account}-${region}`;
|
|
15
|
+
const assumeRoleArn = `arn:\${AWS::Partition}:iam::${account}:role/cdk-hnb659fds-file-publishing-role-${account}-${region}`;
|
|
16
|
+
return {
|
|
17
|
+
relativeAssetFile,
|
|
18
|
+
bucketName,
|
|
19
|
+
assumeRoleArn,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async function writeDockerAsset(fixture) {
|
|
23
|
+
const relativeImageDir = 'imagedir';
|
|
24
|
+
const absoluteImageDir = path.join(fixture.integTestDir, relativeImageDir);
|
|
25
|
+
await fs_1.promises.mkdir(absoluteImageDir, { recursive: true });
|
|
26
|
+
for (const toCreate of [`${absoluteImageDir}/datafile.txt`]) {
|
|
27
|
+
await fs_1.promises.writeFile(toCreate, 'some asset file');
|
|
28
|
+
}
|
|
29
|
+
await fs_1.promises.writeFile(path.join(absoluteImageDir, 'Dockerfile'), [
|
|
30
|
+
'FROM scratch',
|
|
31
|
+
'ADD datafile.txt datafile.txt',
|
|
32
|
+
].join('\n'));
|
|
33
|
+
const account = await fixture.aws.account();
|
|
34
|
+
const region = fixture.aws.region;
|
|
35
|
+
const repositoryName = `cdk-hnb659fds-container-assets-${account}-${region}`;
|
|
36
|
+
const assumeRoleArn = `arn:\${AWS::Partition}:iam::${account}:role/cdk-hnb659fds-image-publishing-role-${account}-${region}`;
|
|
37
|
+
const repositoryDomain = `${account}.dkr.ecr.${region}.amazonaws.com`;
|
|
38
|
+
return {
|
|
39
|
+
repositoryName,
|
|
40
|
+
assumeRoleArn,
|
|
41
|
+
relativeImageDir,
|
|
42
|
+
repositoryDomain,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRfaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0X2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSx3Q0FnQkM7QUFFRCw0Q0EwQkM7QUFoREQsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUd0QixLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQW9CO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUVsQyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztJQUN6QyxLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUMvRCxNQUFNLGFBQWEsR0FBRywrQkFBK0IsT0FBTyw0Q0FBNEMsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBRTVILE9BQU87UUFDTCxpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGFBQWE7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxPQUFvQjtJQUN6RCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztJQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sYUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXRELEtBQUssTUFBTSxRQUFRLElBQUksQ0FBQyxHQUFHLGdCQUFnQixlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzVELE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLEVBQUU7UUFDNUQsY0FBYztRQUNkLCtCQUErQjtLQUNoQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2xDLE1BQU0sY0FBYyxHQUFHLGtDQUFrQyxPQUFPLElBQUksTUFBTSxFQUFFLENBQUM7SUFDN0UsTUFBTSxhQUFhLEdBQUcsK0JBQStCLE9BQU8sNkNBQTZDLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUM3SCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7SUFFdEUsT0FBTztRQUNMLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtLQUNqQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgVGVzdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWIvd2l0aC1jZGstYXBwJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlRmlsZUFzc2V0KGZpeHR1cmU6IFRlc3RGaXh0dXJlKSB7XG4gIGNvbnN0IGFjY291bnQgPSBhd2FpdCBmaXh0dXJlLmF3cy5hY2NvdW50KCk7XG4gIGNvbnN0IHJlZ2lvbiA9IGZpeHR1cmUuYXdzLnJlZ2lvbjtcblxuICBjb25zdCByZWxhdGl2ZUFzc2V0RmlsZSA9ICd0ZXN0ZmlsZS50eHQnO1xuICBmb3IgKGNvbnN0IHRvQ3JlYXRlIG9mIFtyZWxhdGl2ZUFzc2V0RmlsZV0pIHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCB0b0NyZWF0ZSksICdzb21lIGFzc2V0IGZpbGUnKTtcbiAgfVxuICBjb25zdCBidWNrZXROYW1lID0gYGNkay1obmI2NTlmZHMtYXNzZXRzLSR7YWNjb3VudH0tJHtyZWdpb259YDtcbiAgY29uc3QgYXNzdW1lUm9sZUFybiA9IGBhcm46XFwke0FXUzo6UGFydGl0aW9ufTppYW06OiR7YWNjb3VudH06cm9sZS9jZGstaG5iNjU5ZmRzLWZpbGUtcHVibGlzaGluZy1yb2xlLSR7YWNjb3VudH0tJHtyZWdpb259YDtcblxuICByZXR1cm4ge1xuICAgIHJlbGF0aXZlQXNzZXRGaWxlLFxuICAgIGJ1Y2tldE5hbWUsXG4gICAgYXNzdW1lUm9sZUFybixcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlRG9ja2VyQXNzZXQoZml4dHVyZTogVGVzdEZpeHR1cmUpIHtcbiAgY29uc3QgcmVsYXRpdmVJbWFnZURpciA9ICdpbWFnZWRpcic7XG4gIGNvbnN0IGFic29sdXRlSW1hZ2VEaXIgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsIHJlbGF0aXZlSW1hZ2VEaXIpO1xuICBhd2FpdCBmcy5ta2RpcihhYnNvbHV0ZUltYWdlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBmb3IgKGNvbnN0IHRvQ3JlYXRlIG9mIFtgJHthYnNvbHV0ZUltYWdlRGlyfS9kYXRhZmlsZS50eHRgXSkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh0b0NyZWF0ZSwgJ3NvbWUgYXNzZXQgZmlsZScpO1xuICB9XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbihhYnNvbHV0ZUltYWdlRGlyLCAnRG9ja2VyZmlsZScpLCBbXG4gICAgJ0ZST00gc2NyYXRjaCcsXG4gICAgJ0FERCBkYXRhZmlsZS50eHQgZGF0YWZpbGUudHh0JyxcbiAgXS5qb2luKCdcXG4nKSk7XG5cbiAgY29uc3QgYWNjb3VudCA9IGF3YWl0IGZpeHR1cmUuYXdzLmFjY291bnQoKTtcbiAgY29uc3QgcmVnaW9uID0gZml4dHVyZS5hd3MucmVnaW9uO1xuICBjb25zdCByZXBvc2l0b3J5TmFtZSA9IGBjZGstaG5iNjU5ZmRzLWNvbnRhaW5lci1hc3NldHMtJHthY2NvdW50fS0ke3JlZ2lvbn1gO1xuICBjb25zdCBhc3N1bWVSb2xlQXJuID0gYGFybjpcXCR7QVdTOjpQYXJ0aXRpb259OmlhbTo6JHthY2NvdW50fTpyb2xlL2Nkay1obmI2NTlmZHMtaW1hZ2UtcHVibGlzaGluZy1yb2xlLSR7YWNjb3VudH0tJHtyZWdpb259YDtcbiAgY29uc3QgcmVwb3NpdG9yeURvbWFpbiA9IGAke2FjY291bnR9LmRrci5lY3IuJHtyZWdpb259LmFtYXpvbmF3cy5jb21gO1xuXG4gIHJldHVybiB7XG4gICAgcmVwb3NpdG9yeU5hbWUsXG4gICAgYXNzdW1lUm9sZUFybixcbiAgICByZWxhdGl2ZUltYWdlRGlyLFxuICAgIHJlcG9zaXRvcnlEb21haW4sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path = require("path");
|
|
4
|
+
const integ_test_1 = require("../../../lib/integ-test");
|
|
5
|
+
const with_cdk_app_1 = require("../../../lib/with-cdk-app");
|
|
6
|
+
(0, integ_test_1.integTest)('cdk-assets can read lib output', (0, with_cdk_app_1.withDefaultFixture)(async (fixture) => {
|
|
7
|
+
await fixture.cdkSynth();
|
|
8
|
+
await fixture.cdkAssets.makeCliAvailable();
|
|
9
|
+
const assetManifestFile = path.join(fixture.integTestDir, 'cdk.out', `${fixture.fullStackName('test-1')}.assets.json`);
|
|
10
|
+
// Should not fail
|
|
11
|
+
await fixture.shell(['cdk-assets', '--path', assetManifestFile, 'ls']);
|
|
12
|
+
}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy1jYW4tcmVhZC1saWItb3V0cHV0LmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1hc3NldHMtY2FuLXJlYWQtbGliLW91dHB1dC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBNkI7QUFDN0Isd0RBQW9EO0FBQ3BELDREQUErRDtBQUUvRCxJQUFBLHNCQUFTLEVBQUMsZ0NBQWdDLEVBQUUsSUFBQSxpQ0FBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDL0UsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFekIsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFdkgsa0JBQWtCO0lBQ2xCLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGludGVnVGVzdCB9IGZyb20gJy4uLy4uLy4uL2xpYi9pbnRlZy10ZXN0JztcbmltcG9ydCB7IHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYi93aXRoLWNkay1hcHAnO1xuXG5pbnRlZ1Rlc3QoJ2Nkay1hc3NldHMgY2FuIHJlYWQgbGliIG91dHB1dCcsIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICBhd2FpdCBmaXh0dXJlLmNka1N5bnRoKCk7XG5cbiAgYXdhaXQgZml4dHVyZS5jZGtBc3NldHMubWFrZUNsaUF2YWlsYWJsZSgpO1xuXG4gIGNvbnN0IGFzc2V0TWFuaWZlc3RGaWxlID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnY2RrLm91dCcsIGAke2ZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndGVzdC0xJyl9LmFzc2V0cy5qc29uYCk7XG5cbiAgLy8gU2hvdWxkIG5vdCBmYWlsXG4gIGF3YWl0IGZpeHR1cmUuc2hlbGwoWydjZGstYXNzZXRzJywgJy0tcGF0aCcsIGFzc2V0TWFuaWZlc3RGaWxlLCAnbHMnXSk7XG59KSk7XG4iXX0=
|
|
@@ -2,32 +2,85 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const fs = require("fs");
|
|
4
4
|
const path = require("path");
|
|
5
|
+
// import { CreateSecretCommand, DeleteSecretCommand } from '@aws-sdk/client-secrets-manager';
|
|
5
6
|
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
6
7
|
const lib_1 = require("../../../lib");
|
|
7
8
|
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
8
|
-
(0, lib_1.integTest)('docker-credential-cdk-assets can
|
|
9
|
-
await fixture.
|
|
10
|
-
await fixture.
|
|
11
|
-
|
|
9
|
+
(0, lib_1.integTest)('docker-credential-cdk-assets can assume role and fetch ECR credentials', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
10
|
+
const caller = await fixture.aws.sts.send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
11
|
+
const roleArn = await fixture.aws.temporaryRole('ecr-repo-role', [
|
|
12
|
+
{
|
|
13
|
+
Action: 'sts:AssumeRole',
|
|
14
|
+
Effect: 'Allow',
|
|
15
|
+
Principal: { AWS: caller.Account },
|
|
16
|
+
},
|
|
17
|
+
], [
|
|
18
|
+
{
|
|
19
|
+
Effect: 'Allow',
|
|
20
|
+
Resource: '*',
|
|
21
|
+
Action: ['ecr:GetAuthorizationToken'],
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
await fixture.aws.waitForAssumeRole(roleArn);
|
|
25
|
+
await testDockerCredential(fixture, {
|
|
26
|
+
ecrRepository: true,
|
|
27
|
+
// This role must have permissions to call `ecr:GetAuthorizationToken`
|
|
28
|
+
assumeRoleArn: roleArn,
|
|
29
|
+
});
|
|
30
|
+
}));
|
|
31
|
+
/*
|
|
32
|
+
|
|
33
|
+
// SKIPPED FOR NOW
|
|
34
|
+
// Requires SecretsManager permissions on the role that's executing this, and that's
|
|
35
|
+
// too much to set up right now.
|
|
36
|
+
|
|
37
|
+
integTest(
|
|
38
|
+
'docker-credential-cdk-assets read from SecretsManager',
|
|
39
|
+
withDefaultFixture(async (fixture) => {
|
|
40
|
+
const secret = await fixture.aws.secretsManager.send(new CreateSecretCommand({
|
|
41
|
+
Name: `our-secret-${fixture.randomString}`,
|
|
42
|
+
SecretString: JSON.stringify({
|
|
43
|
+
username: 'test-user',
|
|
44
|
+
password: 'test-password',
|
|
45
|
+
}),
|
|
46
|
+
}));
|
|
47
|
+
fixture.aws.addCleanup(() => fixture.aws.secretsManager.send(new DeleteSecretCommand({
|
|
48
|
+
SecretId: secret.ARN,
|
|
49
|
+
})));
|
|
50
|
+
|
|
51
|
+
await testDockerCredential(fixture, {
|
|
52
|
+
secretsManagerSecretId: secret.ARN,
|
|
53
|
+
secretsUsernameField: 'username',
|
|
54
|
+
secretsPasswordField: 'password',
|
|
55
|
+
});
|
|
56
|
+
}),
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
*/
|
|
60
|
+
async function testDockerCredential(fixture, credSource) {
|
|
12
61
|
const domain = 'integ.test.domain';
|
|
13
62
|
const credsFilePath = path.join(fixture.integTestDir, 'cdk-docker-creds.json');
|
|
14
63
|
fs.writeFileSync(credsFilePath, JSON.stringify({
|
|
15
64
|
version: '1.0',
|
|
16
65
|
domainCredentials: {
|
|
17
|
-
[domain]:
|
|
18
|
-
ecrRepository: true,
|
|
19
|
-
roleArn: caller.Arn,
|
|
20
|
-
},
|
|
66
|
+
[domain]: credSource,
|
|
21
67
|
},
|
|
22
68
|
}));
|
|
23
69
|
const input = path.join(fixture.integTestDir, 'input.txt');
|
|
24
70
|
fs.writeFileSync(input, `${domain}\n`);
|
|
25
|
-
await fixture.
|
|
71
|
+
await fixture.cdkAssets.makeCliAvailable();
|
|
72
|
+
const output = await fixture.shell(['docker-credential-cdk-assets', 'get'], {
|
|
26
73
|
modEnv: {
|
|
27
74
|
...fixture.cdkShellEnv(),
|
|
28
75
|
CDK_DOCKER_CREDS_FILE: credsFilePath,
|
|
29
76
|
},
|
|
30
77
|
stdio: [fs.openSync(input, 'r')],
|
|
78
|
+
captureStderr: false,
|
|
31
79
|
});
|
|
32
|
-
|
|
33
|
-
|
|
80
|
+
const response = JSON.parse(output);
|
|
81
|
+
expect(response).toMatchObject({
|
|
82
|
+
Username: expect.anything(),
|
|
83
|
+
Secret: expect.anything(),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy1kb2NrZXItY3JlZGVudGlhbC5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstYXNzZXRzLWRvY2tlci1jcmVkZW50aWFsLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsOEZBQThGO0FBQzlGLG9EQUErRDtBQUkvRCxzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHdFQUF3RSxFQUN4RSxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLHFDQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFNUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7UUFDL0Q7WUFDRSxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7U0FDbkM7S0FDRixFQUFFO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsT0FBTztZQUNmLFFBQVEsRUFBRSxHQUFHO1lBQ2IsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUM7U0FDdEM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0MsTUFBTSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7UUFDbEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsc0VBQXNFO1FBQ3RFLGFBQWEsRUFBRSxPQUFPO0tBQ3ZCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTRCRTtBQUVGLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxPQUFvQixFQUFFLFVBQXdDO0lBQ2hHLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDO0lBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBRS9FLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0MsT0FBTyxFQUFFLEtBQUs7UUFDZCxpQkFBaUIsRUFBRTtZQUNqQixDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVU7U0FDckI7S0FDRixDQUFDLENBQUMsQ0FBQztJQUVKLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRCxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFFdkMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDMUUsTUFBTSxFQUFFO1lBQ04sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3hCLHFCQUFxQixFQUFFLGFBQWE7U0FDckM7UUFDRCxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoQyxhQUFhLEVBQUUsS0FBSztLQUNyQixDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG4vLyBpbXBvcnQgeyBDcmVhdGVTZWNyZXRDb21tYW5kLCBEZWxldGVTZWNyZXRDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcic7XG5pbXBvcnQgeyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3RzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tcmVsYXRpdmUtcGFja2FnZXNcbmltcG9ydCB0eXBlIHsgRG9ja2VyRG9tYWluQ3JlZGVudGlhbFNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL0Bhd3MtY2RrL2Nkay1hc3NldHMtbGliL2xpYi9wcml2YXRlL2RvY2tlci1jcmVkZW50aWFscyc7XG5pbXBvcnQgdHlwZSB7IFRlc3RGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cyBjYW4gYXNzdW1lIHJvbGUgYW5kIGZldGNoIEVDUiBjcmVkZW50aWFscycsXG4gIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IGNhbGxlciA9IGF3YWl0IGZpeHR1cmUuYXdzLnN0cy5zZW5kKG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pKTtcblxuICAgIGNvbnN0IHJvbGVBcm4gPSBhd2FpdCBmaXh0dXJlLmF3cy50ZW1wb3JhcnlSb2xlKCdlY3ItcmVwby1yb2xlJywgW1xuICAgICAge1xuICAgICAgICBBY3Rpb246ICdzdHM6QXNzdW1lUm9sZScsXG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgUHJpbmNpcGFsOiB7IEFXUzogY2FsbGVyLkFjY291bnQgfSxcbiAgICAgIH0sXG4gICAgXSwgW1xuICAgICAge1xuICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgIFJlc291cmNlOiAnKicsXG4gICAgICAgIEFjdGlvbjogWydlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuJ10sXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgYXdhaXQgZml4dHVyZS5hd3Mud2FpdEZvckFzc3VtZVJvbGUocm9sZUFybik7XG5cbiAgICBhd2FpdCB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlLCB7XG4gICAgICBlY3JSZXBvc2l0b3J5OiB0cnVlLFxuICAgICAgLy8gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBjYWxsIGBlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuYFxuICAgICAgYXNzdW1lUm9sZUFybjogcm9sZUFybixcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4vKlxuXG4vLyBTS0lQUEVEIEZPUiBOT1dcbi8vIFJlcXVpcmVzIFNlY3JldHNNYW5hZ2VyIHBlcm1pc3Npb25zIG9uIHRoZSByb2xlIHRoYXQncyBleGVjdXRpbmcgdGhpcywgYW5kIHRoYXQnc1xuLy8gdG9vIG11Y2ggdG8gc2V0IHVwIHJpZ2h0IG5vdy5cblxuaW50ZWdUZXN0KFxuICAnZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cyByZWFkIGZyb20gU2VjcmV0c01hbmFnZXInLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCBmaXh0dXJlLmF3cy5zZWNyZXRzTWFuYWdlci5zZW5kKG5ldyBDcmVhdGVTZWNyZXRDb21tYW5kKHtcbiAgICAgIE5hbWU6IGBvdXItc2VjcmV0LSR7Zml4dHVyZS5yYW5kb21TdHJpbmd9YCxcbiAgICAgIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB1c2VybmFtZTogJ3Rlc3QtdXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAndGVzdC1wYXNzd29yZCcsXG4gICAgICB9KSxcbiAgICB9KSk7XG4gICAgZml4dHVyZS5hd3MuYWRkQ2xlYW51cCgoKSA9PiBmaXh0dXJlLmF3cy5zZWNyZXRzTWFuYWdlci5zZW5kKG5ldyBEZWxldGVTZWNyZXRDb21tYW5kKHtcbiAgICAgIFNlY3JldElkOiBzZWNyZXQuQVJOLFxuICAgIH0pKSk7XG5cbiAgICBhd2FpdCB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlLCB7XG4gICAgICBzZWNyZXRzTWFuYWdlclNlY3JldElkOiBzZWNyZXQuQVJOLFxuICAgICAgc2VjcmV0c1VzZXJuYW1lRmllbGQ6ICd1c2VybmFtZScsXG4gICAgICBzZWNyZXRzUGFzc3dvcmRGaWVsZDogJ3Bhc3N3b3JkJyxcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4qL1xuXG5hc3luYyBmdW5jdGlvbiB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlOiBUZXN0Rml4dHVyZSwgY3JlZFNvdXJjZTogRG9ja2VyRG9tYWluQ3JlZGVudGlhbFNvdXJjZSkge1xuICBjb25zdCBkb21haW4gPSAnaW50ZWcudGVzdC5kb21haW4nO1xuICBjb25zdCBjcmVkc0ZpbGVQYXRoID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnY2RrLWRvY2tlci1jcmVkcy5qc29uJyk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhjcmVkc0ZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgdmVyc2lvbjogJzEuMCcsXG4gICAgZG9tYWluQ3JlZGVudGlhbHM6IHtcbiAgICAgIFtkb21haW5dOiBjcmVkU291cmNlLFxuICAgIH0sXG4gIH0pKTtcblxuICBjb25zdCBpbnB1dCA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2lucHV0LnR4dCcpO1xuICBmcy53cml0ZUZpbGVTeW5jKGlucHV0LCBgJHtkb21haW59XFxuYCk7XG5cbiAgYXdhaXQgZml4dHVyZS5jZGtBc3NldHMubWFrZUNsaUF2YWlsYWJsZSgpO1xuICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLnNoZWxsKFsnZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cycsICdnZXQnXSwge1xuICAgIG1vZEVudjoge1xuICAgICAgLi4uZml4dHVyZS5jZGtTaGVsbEVudigpLFxuICAgICAgQ0RLX0RPQ0tFUl9DUkVEU19GSUxFOiBjcmVkc0ZpbGVQYXRoLFxuICAgIH0sXG4gICAgc3RkaW86IFtmcy5vcGVuU3luYyhpbnB1dCwgJ3InKV0sXG4gICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShvdXRwdXQpO1xuICBleHBlY3QocmVzcG9uc2UpLnRvTWF0Y2hPYmplY3Qoe1xuICAgIFVzZXJuYW1lOiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICBTZWNyZXQ6IGV4cGVjdC5hbnl0aGluZygpLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -6,8 +6,7 @@ const lib_1 = require("../../../lib");
|
|
|
6
6
|
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
7
|
(0, lib_1.integTest)('cdk-assets uses profile when specified', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
8
8
|
const currentCreds = await fixture.aws.credentials();
|
|
9
|
-
await fixture.
|
|
10
|
-
await fixture.shell(['npm', 'install', 'cdk-assets@latest']);
|
|
9
|
+
await fixture.cdkAssets.makeCliAvailable();
|
|
11
10
|
const account = await fixture.aws.account();
|
|
12
11
|
const region = fixture.aws.region;
|
|
13
12
|
const bucketName = `cdk-hnb659fds-assets-${account}-${region}`;
|
|
@@ -65,7 +64,7 @@ aws_access_key_id=${currentCreds.accessKeyId}
|
|
|
65
64
|
aws_secret_access_key=${currentCreds.secretAccessKey}
|
|
66
65
|
aws_session_token=${currentCreds.sessionToken}`);
|
|
67
66
|
await fs_1.promises.writeFile(path.join(fixture.integTestDir, 'assets.json'), JSON.stringify(assetsJson, undefined, 2));
|
|
68
|
-
await fixture.shell(['
|
|
67
|
+
await fixture.shell(['cdk-assets', '--path', 'assets.json', 'publish', '--profile', profile], {
|
|
69
68
|
modEnv: {
|
|
70
69
|
...fixture.cdkShellEnv(),
|
|
71
70
|
AWS_SHARED_CREDENTIALS_FILE: credentialsFile,
|
|
@@ -77,4 +76,4 @@ aws_session_token=${currentCreds.sessionToken}`);
|
|
|
77
76
|
},
|
|
78
77
|
});
|
|
79
78
|
}));
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy11c2VzLXByb2ZpbGUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWFzc2V0cy11c2VzLXByb2ZpbGUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUFDLHdDQUF3QyxFQUFFLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVyRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUUzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUUvRCwrRUFBK0U7SUFDL0UsNkVBQTZFO0lBQzdFLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7SUFDbEMsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25GLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUVuRixzRUFBc0U7SUFDdEUsTUFBTSxVQUFVLEdBQUc7UUFDakIsT0FBTyxFQUFFLFFBQVE7UUFDakIsS0FBSyxFQUFFO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDTixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLE1BQU07aUJBQ2xCO2dCQUNELFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsTUFBTTt3QkFDTixhQUFhLEVBQUUsK0JBQStCLE9BQU8sNENBQTRDLE9BQU8sSUFBSSxNQUFNLEVBQUU7d0JBQ3BILFVBQVU7d0JBQ1YsU0FBUyxFQUFFLGNBQWMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPO3FCQUMzQztpQkFDRjthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDTixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLE1BQU07aUJBQ2xCO2dCQUNELFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsTUFBTTt3QkFDTixhQUFhLEVBQUUsK0JBQStCLE9BQU8sNENBQTRDLE9BQU8sSUFBSSxNQUFNLEVBQUU7d0JBQ3BILFVBQVU7d0JBQ1YsU0FBUyxFQUFFLGNBQWMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPO3FCQUMzQztpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsaURBQWlEO0lBQ2pELEVBQUU7SUFDRixvR0FBb0c7SUFDcEcsMkZBQTJGO0lBQzNGLDJGQUEyRjtJQUMzRix3QkFBd0I7SUFDeEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDM0UsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBRTdCLDhFQUE4RTtJQUM5RSxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksT0FBTztvQkFDN0IsWUFBWSxDQUFDLFdBQVc7d0JBQ3BCLFlBQVksQ0FBQyxlQUFlO29CQUNoQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUUvQyxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDNUYsTUFBTSxFQUFFO1lBQ04sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3hCLDJCQUEyQixFQUFFLGVBQWU7WUFFNUMsOERBQThEO1lBQzlELGlGQUFpRjtZQUNqRixpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsaUJBQWlCLEVBQUUsRUFBRTtTQUV0QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KCdjZGstYXNzZXRzIHVzZXMgcHJvZmlsZSB3aGVuIHNwZWNpZmllZCcsIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICBjb25zdCBjdXJyZW50Q3JlZHMgPSBhd2FpdCBmaXh0dXJlLmF3cy5jcmVkZW50aWFscygpO1xuXG4gIGF3YWl0IGZpeHR1cmUuY2RrQXNzZXRzLm1ha2VDbGlBdmFpbGFibGUoKTtcblxuICBjb25zdCBhY2NvdW50ID0gYXdhaXQgZml4dHVyZS5hd3MuYWNjb3VudCgpO1xuICBjb25zdCByZWdpb24gPSBmaXh0dXJlLmF3cy5yZWdpb247XG4gIGNvbnN0IGJ1Y2tldE5hbWUgPSBgY2RrLWhuYjY1OWZkcy1hc3NldHMtJHthY2NvdW50fS0ke3JlZ2lvbn1gO1xuXG4gIC8vIFdyaXRlIHNvbWUgYXNzZXQgZmlsZXMuIEl0cyBpbXBvcnRhbnQgdG8gaGF2ZSBtb3JlIHRoYW4gMSBiZWNhdXNlIGNkay1hc3NldHNcbiAgLy8gY29kZSBoYXMgc29tZSBmdW5reSBzdGF0ZSBtdXRhdGlvbnMgdGhhdCBoYXBwZW5zIG9uIGVhY2ggYXNzZXQgcHVibGlzaGluZy5cbiAgY29uc3QgYXNzZXRGaWxlMSA9ICd0ZXN0ZmlsZS50eHQnO1xuICBjb25zdCBhc3NldEZpbGUyID0gJ3Rlc3RmaWxlLnR4dCc7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsIGFzc2V0RmlsZTEpLCAnc29tZSBhc3NldCBmaWxlJyk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsIGFzc2V0RmlsZTIpLCAnc29tZSBhc3NldCBmaWxlJyk7XG5cbiAgLy8gV3JpdGUgYW4gYXNzZXQgSlNPTiBmaWxlIHRvIHB1Ymxpc2ggdG8gdGhlIGJvb3RzdHJhcHBlZCBlbnZpcm9ubWVudFxuICBjb25zdCBhc3NldHNKc29uID0ge1xuICAgIHZlcnNpb246ICczOC4wLjEnLFxuICAgIGZpbGVzOiB7XG4gICAgICB0ZXN0ZmlsZTE6IHtcbiAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgcGF0aDogYXNzZXRGaWxlMSxcbiAgICAgICAgICBwYWNrYWdpbmc6ICdmaWxlJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzdGluYXRpb25zOiB7XG4gICAgICAgICAgY3VycmVudDoge1xuICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgYXNzdW1lUm9sZUFybjogYGFybjpcXCR7QVdTOjpQYXJ0aXRpb259OmlhbTo6JHthY2NvdW50fTpyb2xlL2Nkay1obmI2NTlmZHMtZmlsZS1wdWJsaXNoaW5nLXJvbGUtJHthY2NvdW50fS0ke3JlZ2lvbn1gLFxuICAgICAgICAgICAgYnVja2V0TmFtZSxcbiAgICAgICAgICAgIG9iamVjdEtleTogYHRlc3QtZmlsZTEtJHtEYXRlLm5vdygpfS5qc29uYCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRlc3RmaWxlMjoge1xuICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICBwYXRoOiBhc3NldEZpbGUyLFxuICAgICAgICAgIHBhY2thZ2luZzogJ2ZpbGUnLFxuICAgICAgICB9LFxuICAgICAgICBkZXN0aW5hdGlvbnM6IHtcbiAgICAgICAgICBjdXJyZW50OiB7XG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBhc3N1bWVSb2xlQXJuOiBgYXJuOlxcJHtBV1M6OlBhcnRpdGlvbn06aWFtOjoke2FjY291bnR9OnJvbGUvY2RrLWhuYjY1OWZkcy1maWxlLXB1Ymxpc2hpbmctcm9sZS0ke2FjY291bnR9LSR7cmVnaW9ufWAsXG4gICAgICAgICAgICBidWNrZXROYW1lLFxuICAgICAgICAgICAgb2JqZWN0S2V5OiBgdGVzdC1maWxlMi0ke0RhdGUubm93KCl9Lmpzb25gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgLy8gY3JlYXRlIGEgcHJvZmlsZSB3aXRoIG91ciBjdXJyZW50IGNyZWRlbnRpYWxzLlxuICAvL1xuICAvLyBpZiB5b3UncmUgd29uZGVyaW5nIHdoeSBjYW4ndCB3ZSBkbyB0aGUgcmV2ZXJzZSAoaS5lIHdyaXRlIGEgYm9ndXMgcHJvZmlsZSBhbmQgYXNzZXJ0IGEgZmFpbHVyZSksXG4gIC8vIGl0cyBiZWNhdXNlIHdoZW4gY2RrLWFzc2V0cyBkaXNjb3ZlcnMgdGhlIGN1cnJlbnQgYWNjb3VudCwgaXQgRE9FUyBjb25zaWRlciB0aGUgcHJvZmlsZS5cbiAgLy8gd3JpdGluZyBhIGJvZ3VzIHByb2ZpbGUgd291bGQgZmFpbCB0aGlzIG9wZXJhdGlvbiBhbmQgd2Ugd29uJ3QgYmUgYWJsZSB0byByZWFjaCB0aGUgY29kZVxuICAvLyB3ZSdyZSB0cnlpbmcgdG8gdGVzdC5cbiAgY29uc3QgY3JlZGVudGlhbHNGaWxlID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnYXdzLmNyZWRlbnRpYWxzJyk7XG4gIGNvbnN0IHByb2ZpbGUgPSAnY2RrLWFzc2V0cyc7XG5cbiAgLy8gdGhpcyBraW5kIHN1Y2tzIGJ1dCBpdHMgd2hhdCBpdCBpcyBnaXZlbiB3ZSBuZWVkIHRvIHdyaXRlIGEgd29ya2luZyBwcm9maWxlXG4gIGF3YWl0IGZzLndyaXRlRmlsZShjcmVkZW50aWFsc0ZpbGUsIGBbJHtwcm9maWxlfV1cbmF3c19hY2Nlc3Nfa2V5X2lkPSR7Y3VycmVudENyZWRzLmFjY2Vzc0tleUlkfVxuYXdzX3NlY3JldF9hY2Nlc3Nfa2V5PSR7Y3VycmVudENyZWRzLnNlY3JldEFjY2Vzc0tleX1cbmF3c19zZXNzaW9uX3Rva2VuPSR7Y3VycmVudENyZWRzLnNlc3Npb25Ub2tlbn1gKTtcblxuICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnYXNzZXRzLmpzb24nKSwgSlNPTi5zdHJpbmdpZnkoYXNzZXRzSnNvbiwgdW5kZWZpbmVkLCAyKSk7XG4gIGF3YWl0IGZpeHR1cmUuc2hlbGwoWydjZGstYXNzZXRzJywgJy0tcGF0aCcsICdhc3NldHMuanNvbicsICdwdWJsaXNoJywgJy0tcHJvZmlsZScsIHByb2ZpbGVdLCB7XG4gICAgbW9kRW52OiB7XG4gICAgICAuLi5maXh0dXJlLmNka1NoZWxsRW52KCksXG4gICAgICBBV1NfU0hBUkVEX0NSRURFTlRJQUxTX0ZJTEU6IGNyZWRlbnRpYWxzRmlsZSxcblxuICAgICAgLy8gcmVtb3ZlIHRoZSBkZWZhdWx0IGNyZWRzIHNvIHRoYXQgaWYgdGhlIGNvbW1hbmQgZG9lc24ndCB1c2VcbiAgICAgIC8vIHRoZSBwcm9maWxlLCBpdCB3aWxsIGZhaWwgd2l0aCBcIkNvdWxkIG5vdCBsb2FkIGNyZWRlbnRpYWxzIGZyb20gYW55IHByb3ZpZGVyc1wiXG4gICAgICBBV1NfQUNDRVNTX0tFWV9JRDogJycsXG4gICAgICBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6ICcnLFxuICAgICAgQVdTX1NFU1NJT05fVE9LRU46ICcnLFxuXG4gICAgfSxcbiAgfSk7XG59KSxcbik7XG4iXX0=
|
|
@@ -5,41 +5,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
*/
|
|
6
6
|
const fs_1 = require("fs");
|
|
7
7
|
const path = require("path");
|
|
8
|
+
const asset_helpers_1 = require("./asset_helpers");
|
|
8
9
|
const lib_1 = require("../../../lib");
|
|
9
10
|
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
10
11
|
(0, lib_1.integTest)('cdk-assets smoke test', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
11
12
|
await fixture.shell(['npm', 'init', '-y']);
|
|
12
13
|
await fixture.shell(['npm', 'install', 'cdk-assets@latest']);
|
|
13
|
-
const account = await fixture.aws.account();
|
|
14
14
|
const region = fixture.aws.region;
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const imageDir = 'imagedir';
|
|
18
|
-
await fs_1.promises.mkdir(path.join(fixture.integTestDir, imageDir), { recursive: true });
|
|
19
|
-
// Write an asset file and a data file for the Docker image
|
|
20
|
-
const assetFile = 'testfile.txt';
|
|
21
|
-
for (const toCreate of [assetFile, `${imageDir}/datafile.txt`]) {
|
|
22
|
-
await fs_1.promises.writeFile(path.join(fixture.integTestDir, toCreate), 'some asset file');
|
|
23
|
-
}
|
|
24
|
-
// Write a Dockerfile for the image build with a data file in it
|
|
25
|
-
await fs_1.promises.writeFile(path.join(fixture.integTestDir, imageDir, 'Dockerfile'), [
|
|
26
|
-
'FROM scratch',
|
|
27
|
-
'ADD datafile.txt datafile.txt',
|
|
28
|
-
].join('\n'));
|
|
15
|
+
const fileAsset = await (0, asset_helpers_1.writeFileAsset)(fixture);
|
|
16
|
+
const imageAsset = await (0, asset_helpers_1.writeDockerAsset)(fixture);
|
|
29
17
|
// Write an asset JSON file to publish to the bootstrapped environment
|
|
30
18
|
const assetsJson = {
|
|
31
19
|
version: '38.0.1',
|
|
32
20
|
files: {
|
|
33
21
|
testfile: {
|
|
34
22
|
source: {
|
|
35
|
-
path:
|
|
23
|
+
path: fileAsset.relativeAssetFile,
|
|
36
24
|
packaging: 'file',
|
|
37
25
|
},
|
|
38
26
|
destinations: {
|
|
39
27
|
current: {
|
|
40
28
|
region,
|
|
41
|
-
assumeRoleArn:
|
|
42
|
-
bucketName,
|
|
29
|
+
assumeRoleArn: fileAsset.assumeRoleArn,
|
|
30
|
+
bucketName: fileAsset.bucketName,
|
|
43
31
|
objectKey: `test-file-${Date.now()}.json`,
|
|
44
32
|
},
|
|
45
33
|
},
|
|
@@ -48,13 +36,13 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
48
36
|
dockerImages: {
|
|
49
37
|
testimage: {
|
|
50
38
|
source: {
|
|
51
|
-
directory:
|
|
39
|
+
directory: imageAsset.relativeImageDir,
|
|
52
40
|
},
|
|
53
41
|
destinations: {
|
|
54
42
|
current: {
|
|
55
43
|
region,
|
|
56
|
-
assumeRoleArn:
|
|
57
|
-
repositoryName,
|
|
44
|
+
assumeRoleArn: imageAsset.assumeRoleArn,
|
|
45
|
+
repositoryName: imageAsset.repositoryName,
|
|
58
46
|
imageTag: 'test-image', // Not fresh on every run because we'll run out of tags too easily
|
|
59
47
|
},
|
|
60
48
|
},
|
|
@@ -65,10 +53,7 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
65
53
|
await fixture.shell(['npx', 'cdk-assets', '--path', 'assets.json', '--verbose', 'publish'], {
|
|
66
54
|
modEnv: {
|
|
67
55
|
...fixture.cdkShellEnv(),
|
|
68
|
-
// This is necessary for cdk-assets v2, if the credentials are supplied via
|
|
69
|
-
// config file (which they are on the CodeBuild canaries).
|
|
70
|
-
AWS_SDK_LOAD_CONFIG: '1',
|
|
71
56
|
},
|
|
72
57
|
});
|
|
73
58
|
}));
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21va2V0ZXN0LmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNtb2tldGVzdC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7R0FFRztBQUNILDJCQUFvQztBQUNwQyw2QkFBNkI7QUFDN0IsbURBQW1FO0FBQ25FLHNDQUE2RDtBQUU3RCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQ1AsdUJBQXVCLEVBQ3ZCLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25DLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUU3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUVsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsOEJBQWMsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFbkQsc0VBQXNFO0lBQ3RFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFNBQVMsQ0FBQyxpQkFBaUI7b0JBQ2pDLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osT0FBTyxFQUFFO3dCQUNQLE1BQU07d0JBQ04sYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhO3dCQUN0QyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7d0JBQ2hDLFNBQVMsRUFBRSxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTztxQkFDMUM7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsWUFBWSxFQUFFO1lBQ1osU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDTixTQUFTLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtpQkFDdkM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLE9BQU8sRUFBRTt3QkFDUCxNQUFNO3dCQUNOLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTt3QkFDdkMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxjQUFjO3dCQUN6QyxRQUFRLEVBQUUsWUFBWSxFQUFFLGtFQUFrRTtxQkFDM0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUVGLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRTtRQUMxRixNQUFNLEVBQUU7WUFDTixHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUU7U0FDekI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUZXN0cyBmb3IgdGhlIHN0YW5kYWxvbmUgY2RrLWFzc2V0cyBleGVjdXRhYmxlLCBhcyB1c2VkIGJ5IENESyBQaXBlbGluZXNcbiAqL1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgd3JpdGVEb2NrZXJBc3NldCwgd3JpdGVGaWxlQXNzZXQgfSBmcm9tICcuL2Fzc2V0X2hlbHBlcnMnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdjZGstYXNzZXRzIHNtb2tlIHRlc3QnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBmaXh0dXJlLnNoZWxsKFsnbnBtJywgJ2luaXQnLCAnLXknXSk7XG4gICAgYXdhaXQgZml4dHVyZS5zaGVsbChbJ25wbScsICdpbnN0YWxsJywgJ2Nkay1hc3NldHNAbGF0ZXN0J10pO1xuXG4gICAgY29uc3QgcmVnaW9uID0gZml4dHVyZS5hd3MucmVnaW9uO1xuXG4gICAgY29uc3QgZmlsZUFzc2V0ID0gYXdhaXQgd3JpdGVGaWxlQXNzZXQoZml4dHVyZSk7XG4gICAgY29uc3QgaW1hZ2VBc3NldCA9IGF3YWl0IHdyaXRlRG9ja2VyQXNzZXQoZml4dHVyZSk7XG5cbiAgICAvLyBXcml0ZSBhbiBhc3NldCBKU09OIGZpbGUgdG8gcHVibGlzaCB0byB0aGUgYm9vdHN0cmFwcGVkIGVudmlyb25tZW50XG4gICAgY29uc3QgYXNzZXRzSnNvbiA9IHtcbiAgICAgIHZlcnNpb246ICczOC4wLjEnLFxuICAgICAgZmlsZXM6IHtcbiAgICAgICAgdGVzdGZpbGU6IHtcbiAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgIHBhdGg6IGZpbGVBc3NldC5yZWxhdGl2ZUFzc2V0RmlsZSxcbiAgICAgICAgICAgIHBhY2thZ2luZzogJ2ZpbGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzdGluYXRpb25zOiB7XG4gICAgICAgICAgICBjdXJyZW50OiB7XG4gICAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgICAgYXNzdW1lUm9sZUFybjogZmlsZUFzc2V0LmFzc3VtZVJvbGVBcm4sXG4gICAgICAgICAgICAgIGJ1Y2tldE5hbWU6IGZpbGVBc3NldC5idWNrZXROYW1lLFxuICAgICAgICAgICAgICBvYmplY3RLZXk6IGB0ZXN0LWZpbGUtJHtEYXRlLm5vdygpfS5qc29uYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkb2NrZXJJbWFnZXM6IHtcbiAgICAgICAgdGVzdGltYWdlOiB7XG4gICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICBkaXJlY3Rvcnk6IGltYWdlQXNzZXQucmVsYXRpdmVJbWFnZURpcixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlc3RpbmF0aW9uczoge1xuICAgICAgICAgICAgY3VycmVudDoge1xuICAgICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICAgIGFzc3VtZVJvbGVBcm46IGltYWdlQXNzZXQuYXNzdW1lUm9sZUFybixcbiAgICAgICAgICAgICAgcmVwb3NpdG9yeU5hbWU6IGltYWdlQXNzZXQucmVwb3NpdG9yeU5hbWUsXG4gICAgICAgICAgICAgIGltYWdlVGFnOiAndGVzdC1pbWFnZScsIC8vIE5vdCBmcmVzaCBvbiBldmVyeSBydW4gYmVjYXVzZSB3ZSdsbCBydW4gb3V0IG9mIHRhZ3MgdG9vIGVhc2lseVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2Fzc2V0cy5qc29uJyksIEpTT04uc3RyaW5naWZ5KGFzc2V0c0pzb24sIHVuZGVmaW5lZCwgMikpO1xuICAgIGF3YWl0IGZpeHR1cmUuc2hlbGwoWyducHgnLCAnY2RrLWFzc2V0cycsICctLXBhdGgnLCAnYXNzZXRzLmpzb24nLCAnLS12ZXJib3NlJywgJ3B1Ymxpc2gnXSwge1xuICAgICAgbW9kRW52OiB7XG4gICAgICAgIC4uLmZpeHR1cmUuY2RrU2hlbGxFbnYoKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pLFxuKTtcbiJdfQ==
|
package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.js
CHANGED
|
@@ -33,7 +33,7 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
finally {
|
|
36
|
-
await fs_1.promises.unlink(
|
|
36
|
+
await fs_1.promises.unlink(contextFile);
|
|
37
37
|
}
|
|
38
38
|
}));
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNsaS10ZWxlbWV0cnktYWRkcy1jb250ZXh0LXZhbHVlLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1jbGktdGVsZW1ldHJ5LWFkZHMtY29udGV4dC12YWx1ZS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBb0M7QUFDcEMsNkJBQTZCO0FBQzdCLHNDQUE2RDtBQUU3RCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQ1Asc0RBQXNELEVBQ3RELElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHO1FBQ2QsYUFBYSxFQUFFLGVBQWU7S0FDL0IsQ0FBQztJQUNGLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FDaEIsV0FBVyxFQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ3hCLENBQUM7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxhQUFFLENBQUMsUUFBUSxDQUM5QyxXQUFXLENBQ1osQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDZixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pCLEdBQUcsT0FBTztZQUNWLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7UUFFSCwyQ0FBMkM7UUFDM0MsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FDaEQsV0FBVyxDQUNaLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMzQixHQUFHLE9BQU87WUFDVixDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsK0RBQStEO1FBQy9ELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQ2pELFdBQVcsQ0FDWixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNmLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxhQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdDTEkgVGVsZW1ldHJ5IGFkZHMgY29udGV4dCB2YWx1ZSB0byBjZGsuY29udGV4dC5qc29uJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3QgY29udGV4dEZpbGUgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdjZGsuY29udGV4dC5qc29uJyk7XG4gICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgIGV4aXN0ZWRCZWZvcmU6ICd0aGlzIHdhcyBoZXJlJyxcbiAgICB9O1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgIGNvbnRleHRGaWxlLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoY29udGV4dCksXG4gICAgKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydjbGktdGVsZW1ldHJ5JywgJy0tZGlzYWJsZSddKTtcbiAgICAgIGNvbnN0IG5ld0NvbnRleHQgPSBKU09OLnBhcnNlKChhd2FpdCBmcy5yZWFkRmlsZShcbiAgICAgICAgY29udGV4dEZpbGUsXG4gICAgICApKS50b1N0cmluZygpKTtcbiAgICAgIGV4cGVjdChuZXdDb250ZXh0KS50b0VxdWFsKHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgWydjbGktdGVsZW1ldHJ5J106IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRlc3QgdGhhdCBjbGktdGVsZW1ldHJ5IGVuYWJsZSB3b3JrcyB0b29cbiAgICAgIGF3YWl0IGZpeHR1cmUuY2RrKFsnY2xpLXRlbGVtZXRyeScsICctLWVuYWJsZSddKTtcbiAgICAgIGNvbnN0IG5ld2VyQ29udGV4dCA9IEpTT04ucGFyc2UoKGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgICBjb250ZXh0RmlsZSxcbiAgICAgICkpLnRvU3RyaW5nKCkpO1xuICAgICAgZXhwZWN0KG5ld2VyQ29udGV4dCkudG9FcXVhbCh7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIFsnY2xpLXRlbGVtZXRyeSddOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRlc3QgdGhhdCBjbGktdGVsZW1ldHJ5IC0tbm8tZW5hYmxlIHdvcmtzIChlcXVhbHMgLS1kaXNhYmxlKVxuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydjbGktdGVsZW1ldHJ5JywgJy0tbm8tZW5hYmxlJ10pO1xuICAgICAgY29uc3QgbmV3ZXN0Q29udGV4dCA9IEpTT04ucGFyc2UoKGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgICBjb250ZXh0RmlsZSxcbiAgICAgICkpLnRvU3RyaW5nKCkpO1xuICAgICAgZXhwZWN0KG5ld2VzdENvbnRleHQpLnRvRXF1YWwoe1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICBbJ2NsaS10ZWxlbWV0cnknXTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZnMudW5saW5rKGNvbnRleHRGaWxlKTtcbiAgICB9XG4gIH0pLFxuKTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs_1 = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const lib_1 = require("../../../lib");
|
|
6
|
+
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
+
(0, lib_1.integTest)('CLI Telemetry reports status', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
8
|
+
const userContextFile = path.join(fixture.integTestDir, 'cdk.json');
|
|
9
|
+
try {
|
|
10
|
+
// default status is enabled
|
|
11
|
+
const output1 = await fixture.cdk(['cli-telemetry', '--status']);
|
|
12
|
+
expect(output1).toContain('CLI Telemetry is enabled. See https://github.com/aws/aws-cdk-cli/tree/main/packages/aws-cdk#cdk-cli-telemetry for ways to disable.');
|
|
13
|
+
// disable status
|
|
14
|
+
await fs_1.promises.writeFile(userContextFile, JSON.stringify({ context: { 'cli-telemetry': false } }));
|
|
15
|
+
const output2 = await fixture.cdk(['cli-telemetry', '--status']);
|
|
16
|
+
expect(output2).toContain('CLI Telemetry is disabled. See https://github.com/aws/aws-cdk-cli/tree/main/packages/aws-cdk#cdk-cli-telemetry for ways to enable.');
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
await fs_1.promises.unlink(userContextFile);
|
|
20
|
+
}
|
|
21
|
+
}));
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNsaS10ZWxlbWV0cnktcmVwb3J0cy1zdGF0dXMuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWNsaS10ZWxlbWV0cnktcmVwb3J0cy1zdGF0dXMuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLDhCQUE4QixFQUM5QixJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDO1FBQ0gsNEJBQTRCO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsb0lBQW9JLENBQUMsQ0FBQztRQUVoSyxpQkFBaUI7UUFDakIsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsb0lBQW9JLENBQUMsQ0FBQztJQUNsSyxDQUFDO1lBQVMsQ0FBQztRQUNULE1BQU0sYUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnQ0xJIFRlbGVtZXRyeSByZXBvcnRzIHN0YXR1cycsXG4gIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IHVzZXJDb250ZXh0RmlsZSA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2Nkay5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGRlZmF1bHQgc3RhdHVzIGlzIGVuYWJsZWRcbiAgICAgIGNvbnN0IG91dHB1dDEgPSBhd2FpdCBmaXh0dXJlLmNkayhbJ2NsaS10ZWxlbWV0cnknLCAnLS1zdGF0dXMnXSk7XG4gICAgICBleHBlY3Qob3V0cHV0MSkudG9Db250YWluKCdDTEkgVGVsZW1ldHJ5IGlzIGVuYWJsZWQuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGstY2xpL3RyZWUvbWFpbi9wYWNrYWdlcy9hd3MtY2RrI2Nkay1jbGktdGVsZW1ldHJ5IGZvciB3YXlzIHRvIGRpc2FibGUuJyk7XG5cbiAgICAgIC8vIGRpc2FibGUgc3RhdHVzXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodXNlckNvbnRleHRGaWxlLCBKU09OLnN0cmluZ2lmeSh7IGNvbnRleHQ6IHsgJ2NsaS10ZWxlbWV0cnknOiBmYWxzZSB9IH0pKTtcbiAgICAgIGNvbnN0IG91dHB1dDIgPSBhd2FpdCBmaXh0dXJlLmNkayhbJ2NsaS10ZWxlbWV0cnknLCAnLS1zdGF0dXMnXSk7XG4gICAgICBleHBlY3Qob3V0cHV0MikudG9Db250YWluKCdDTEkgVGVsZW1ldHJ5IGlzIGRpc2FibGVkLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLWNsaS90cmVlL21haW4vcGFja2FnZXMvYXdzLWNkayNjZGstY2xpLXRlbGVtZXRyeSBmb3Igd2F5cyB0byBlbmFibGUuJyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGZzLnVubGluayh1c2VyQ29udGV4dEZpbGUpO1xuICAgIH1cbiAgfSksXG4pO1xuIl19
|
package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-send-to-file-unstable.integtest.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tests/cli-integ-tests/cli-telemetry/cdk-cli-telemetry-send-to-file-unstable.integtest.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path = require("path");
|
|
4
|
+
const fs = require("fs-extra");
|
|
5
|
+
const lib_1 = require("../../../lib");
|
|
6
|
+
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
+
(0, lib_1.integTest)('sending cli telemetry to file fails if not invoked with --unstable', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
8
|
+
const telemetryFile = path.join(fixture.integTestDir, `telemetry-${Date.now()}.json`);
|
|
9
|
+
try {
|
|
10
|
+
await fixture.cdk(['list', `--telemetry-file=${telemetryFile}`]);
|
|
11
|
+
throw new Error('Expected command to fail');
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
expect(fs.existsSync(telemetryFile)).toBeFalsy();
|
|
15
|
+
expect(fixture.output.toString()).toContain('Unstable feature use');
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNsaS10ZWxlbWV0cnktc2VuZC10by1maWxlLXVuc3RhYmxlLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1jbGktdGVsZW1ldHJ5LXNlbmQtdG8tZmlsZS11bnN0YWJsZS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHNDQUE2RDtBQUU3RCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQ1Asb0VBQW9FLEVBQ3BFLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEYsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLG9CQUFvQixhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnc2VuZGluZyBjbGkgdGVsZW1ldHJ5IHRvIGZpbGUgZmFpbHMgaWYgbm90IGludm9rZWQgd2l0aCAtLXVuc3RhYmxlJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3QgdGVsZW1ldHJ5RmlsZSA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgYHRlbGVtZXRyeS0ke0RhdGUubm93KCl9Lmpzb25gKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydsaXN0JywgYC0tdGVsZW1ldHJ5LWZpbGU9JHt0ZWxlbWV0cnlGaWxlfWBdKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgY29tbWFuZCB0byBmYWlsJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGV4cGVjdChmcy5leGlzdHNTeW5jKHRlbGVtZXRyeUZpbGUpKS50b0JlRmFsc3koKTtcbiAgICAgIGV4cGVjdChmaXh0dXJlLm91dHB1dC50b1N0cmluZygpKS50b0NvbnRhaW4oJ1Vuc3RhYmxlIGZlYXR1cmUgdXNlJyk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path = require("path");
|
|
4
|
+
const fs = require("fs-extra");
|
|
5
|
+
const lib_1 = require("../../../lib");
|
|
6
|
+
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
+
(0, lib_1.integTest)('cdk deploy with telemetry data', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
8
|
+
const telemetryFile = path.join(fixture.integTestDir, 'telemetry.json');
|
|
9
|
+
// Deploy stack while collecting telemetry
|
|
10
|
+
await fixture.cdkDeploy('test-1', {
|
|
11
|
+
telemetryFile,
|
|
12
|
+
});
|
|
13
|
+
const json = fs.readJSONSync(telemetryFile);
|
|
14
|
+
expect(json).toEqual([
|
|
15
|
+
expect.objectContaining({
|
|
16
|
+
event: expect.objectContaining({
|
|
17
|
+
command: expect.objectContaining({
|
|
18
|
+
path: ['deploy', '$STACKS_1'],
|
|
19
|
+
}),
|
|
20
|
+
state: 'SUCCEEDED',
|
|
21
|
+
eventType: 'SYNTH',
|
|
22
|
+
}),
|
|
23
|
+
identifiers: expect.objectContaining({
|
|
24
|
+
eventId: expect.stringContaining(':1'),
|
|
25
|
+
}),
|
|
26
|
+
}),
|
|
27
|
+
expect.objectContaining({
|
|
28
|
+
event: expect.objectContaining({
|
|
29
|
+
command: expect.objectContaining({
|
|
30
|
+
path: ['deploy', '$STACKS_1'],
|
|
31
|
+
}),
|
|
32
|
+
state: 'SUCCEEDED',
|
|
33
|
+
eventType: 'DEPLOY',
|
|
34
|
+
}),
|
|
35
|
+
identifiers: expect.objectContaining({
|
|
36
|
+
eventId: expect.stringContaining(':2'),
|
|
37
|
+
}),
|
|
38
|
+
}),
|
|
39
|
+
expect.objectContaining({
|
|
40
|
+
event: expect.objectContaining({
|
|
41
|
+
command: expect.objectContaining({
|
|
42
|
+
path: ['deploy', '$STACKS_1'],
|
|
43
|
+
}),
|
|
44
|
+
state: 'SUCCEEDED',
|
|
45
|
+
eventType: 'INVOKE',
|
|
46
|
+
}),
|
|
47
|
+
identifiers: expect.objectContaining({
|
|
48
|
+
eventId: expect.stringContaining(':3'),
|
|
49
|
+
}),
|
|
50
|
+
}),
|
|
51
|
+
]);
|
|
52
|
+
fs.unlinkSync(telemetryFile);
|
|
53
|
+
}));
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS10ZWxlbWV0cnkuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWRlcGxveS10ZWxlbWV0cnkuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLGdDQUFnQyxFQUNoQyxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RSwwQ0FBMEM7SUFDMUMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUNoQyxhQUFhO0tBQ2QsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO29CQUMvQixJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDO2lCQUM5QixDQUFDO2dCQUNGLEtBQUssRUFBRSxXQUFXO2dCQUNsQixTQUFTLEVBQUUsT0FBTzthQUNuQixDQUFDO1lBQ0YsV0FBVyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7YUFDdkMsQ0FBQztTQUNILENBQUM7UUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDL0IsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQztpQkFDOUIsQ0FBQztnQkFDRixLQUFLLEVBQUUsV0FBVztnQkFDbEIsU0FBUyxFQUFFLFFBQVE7YUFDcEIsQ0FBQztZQUNGLFdBQVcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2FBQ3ZDLENBQUM7U0FDSCxDQUFDO1FBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7b0JBQy9CLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7aUJBQzlCLENBQUM7Z0JBQ0YsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLFNBQVMsRUFBRSxRQUFRO2FBQ3BCLENBQUM7WUFDRixXQUFXLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUNuQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQzthQUN2QyxDQUFDO1NBQ0gsQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ2NkayBkZXBsb3kgd2l0aCB0ZWxlbWV0cnkgZGF0YScsXG4gIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IHRlbGVtZXRyeUZpbGUgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICd0ZWxlbWV0cnkuanNvbicpO1xuXG4gICAgLy8gRGVwbG95IHN0YWNrIHdoaWxlIGNvbGxlY3RpbmcgdGVsZW1ldHJ5XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3Rlc3QtMScsIHtcbiAgICAgIHRlbGVtZXRyeUZpbGUsXG4gICAgfSk7XG4gICAgY29uc3QganNvbiA9IGZzLnJlYWRKU09OU3luYyh0ZWxlbWV0cnlGaWxlKTtcbiAgICBleHBlY3QoanNvbikudG9FcXVhbChbXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIGV2ZW50OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgY29tbWFuZDogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgcGF0aDogWydkZXBsb3knLCAnJFNUQUNLU18xJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3RhdGU6ICdTVUNDRUVERUQnLFxuICAgICAgICAgIGV2ZW50VHlwZTogJ1NZTlRIJyxcbiAgICAgICAgfSksXG4gICAgICAgIGlkZW50aWZpZXJzOiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgZXZlbnRJZDogZXhwZWN0LnN0cmluZ0NvbnRhaW5pbmcoJzoxJyksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIGV2ZW50OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgY29tbWFuZDogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgcGF0aDogWydkZXBsb3knLCAnJFNUQUNLU18xJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3RhdGU6ICdTVUNDRUVERUQnLFxuICAgICAgICAgIGV2ZW50VHlwZTogJ0RFUExPWScsXG4gICAgICAgIH0pLFxuICAgICAgICBpZGVudGlmaWVyczogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgIGV2ZW50SWQ6IGV4cGVjdC5zdHJpbmdDb250YWluaW5nKCc6MicpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICBldmVudDogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgIGNvbW1hbmQ6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICAgIHBhdGg6IFsnZGVwbG95JywgJyRTVEFDS1NfMSddLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXRlOiAnU1VDQ0VFREVEJyxcbiAgICAgICAgICBldmVudFR5cGU6ICdJTlZPS0UnLFxuICAgICAgICB9KSxcbiAgICAgICAgaWRlbnRpZmllcnM6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBldmVudElkOiBleHBlY3Quc3RyaW5nQ29udGFpbmluZygnOjMnKSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICBdKTtcbiAgICBmcy51bmxpbmtTeW5jKHRlbGVtZXRyeUZpbGUpO1xuICB9KSxcbik7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|