aws-delivlib 13.4.2 → 13.4.6
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/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/create-release.js +0 -0
- package/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/package-lock.json +100 -95
- package/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/package.json +0 -0
- package/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/publish.sh +0 -0
- package/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/sign-files.sh +0 -0
- package/cdk.out/{asset.e12c7af9b638ac5f6e69012fdab4a414bd0c107b6a233304e64b443a621ecd20 → asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451}/with-signing-key.sh +0 -0
- package/cdk.out/{asset.dc2e98009b027861f34e56eebb81faa5a3951ed9da80ce4a903a45de04268238 → asset.3044256b9586ecb8a7709713aaca30ceb34f699e3f93c8858f633aaf2f0c7140}/index.js +17 -11
- package/cdk.out/delivlib-test.assets.json +8 -8
- package/cdk.out/delivlib-test.template.json +32 -27
- package/cdk.out/manifest.json +272 -272
- package/cdk.out/tree.json +442 -437
- package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
- package/lib/publishing/github/package-lock.json +100 -95
- package/package.json +17 -18
- package/lib/__tests__/auto-build.test.d.ts +0 -1
- package/lib/__tests__/auto-build.test.js +0 -119
- package/lib/__tests__/build-spec.test.d.ts +0 -1
- package/lib/__tests__/build-spec.test.js +0 -82
- package/lib/__tests__/bump.test.d.ts +0 -1
- package/lib/__tests__/bump.test.js +0 -284
- package/lib/__tests__/canary.test.d.ts +0 -1
- package/lib/__tests__/canary.test.js +0 -144
- package/lib/__tests__/change-control-lambda/disable-transition.test.d.ts +0 -1
- package/lib/__tests__/change-control-lambda/disable-transition.test.js +0 -64
- package/lib/__tests__/change-control-lambda/handler.test.d.ts +0 -1
- package/lib/__tests__/change-control-lambda/handler.test.js +0 -143
- package/lib/__tests__/change-control-lambda/time-window.test.d.ts +0 -1
- package/lib/__tests__/change-control-lambda/time-window.test.js +0 -131
- package/lib/__tests__/chime-notifier.test.d.ts +0 -6
- package/lib/__tests__/chime-notifier.test.js +0 -138
- package/lib/__tests__/code-signing-cert.test.d.ts +0 -1
- package/lib/__tests__/code-signing-cert.test.js +0 -72
- package/lib/__tests__/custom-resource-handlers/_cloud-formation.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/_cloud-formation.test.js +0 -100
- package/lib/__tests__/custom-resource-handlers/_exec.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/_exec.test.js +0 -9
- package/lib/__tests__/custom-resource-handlers/_rmrf.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/_rmrf.test.js +0 -13
- package/lib/__tests__/custom-resource-handlers/certificate-signing-request.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/certificate-signing-request.test.js +0 -171
- package/lib/__tests__/custom-resource-handlers/pgp-secret.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/pgp-secret.test.js +0 -169
- package/lib/__tests__/custom-resource-handlers/private-key.test.d.ts +0 -1
- package/lib/__tests__/custom-resource-handlers/private-key.test.js +0 -164
- package/lib/__tests__/integ.delivlib.d.ts +0 -1
- package/lib/__tests__/integ.delivlib.js +0 -33
- package/lib/__tests__/open-pgp-key-pair.test.d.ts +0 -1
- package/lib/__tests__/open-pgp-key-pair.test.js +0 -130
- package/lib/__tests__/pipeline-notifications/chime.test.d.ts +0 -1
- package/lib/__tests__/pipeline-notifications/chime.test.js +0 -69
- package/lib/__tests__/pipeline-notifications/slack.test.d.ts +0 -1
- package/lib/__tests__/pipeline-notifications/slack.test.js +0 -82
- package/lib/__tests__/pipeline.test.d.ts +0 -1
- package/lib/__tests__/pipeline.test.js +0 -362
- package/lib/__tests__/pr.test.d.ts +0 -3
- package/lib/__tests__/pr.test.js +0 -88
- package/lib/__tests__/publishing.test.d.ts +0 -1
- package/lib/__tests__/publishing.test.js +0 -89
- package/lib/__tests__/registry-sync/ecr-mirror.test.d.ts +0 -1
- package/lib/__tests__/registry-sync/ecr-mirror.test.js +0 -313
- package/lib/__tests__/registry-sync/mirror-source.test.d.ts +0 -1
- package/lib/__tests__/registry-sync/mirror-source.test.js +0 -225
- package/lib/__tests__/shellable.test.d.ts +0 -1
- package/lib/__tests__/shellable.test.js +0 -479
- package/lib/__tests__/test-stack.d.ts +0 -4
- package/lib/__tests__/test-stack.js +0 -184
- package/lib/__tests__/watcher-handler.test.d.ts +0 -1
- package/lib/__tests__/watcher-handler.test.js +0 -190
- package/lib/__tests__/watcher.test.d.ts +0 -1
- package/lib/__tests__/watcher.test.js +0 -78
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.TestStack = void 0;
|
|
23
|
-
const path = __importStar(require("path"));
|
|
24
|
-
const monocdk_1 = require("monocdk");
|
|
25
|
-
const delivlib = __importStar(require("../../lib"));
|
|
26
|
-
const testDir = path.join(__dirname, 'delivlib-tests');
|
|
27
|
-
class TestStack extends monocdk_1.Stack {
|
|
28
|
-
constructor(parent, id, props = {}) {
|
|
29
|
-
super(parent, id, props);
|
|
30
|
-
//
|
|
31
|
-
// SOURCE
|
|
32
|
-
//
|
|
33
|
-
const githubRepo = new delivlib.WritableGitHubRepo({
|
|
34
|
-
repository: 'awslabs/aws-delivlib-sample',
|
|
35
|
-
tokenSecretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:github-token-nnAqfW',
|
|
36
|
-
sshKeySecret: { secretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:delivlib/github-ssh-lwzfjW' },
|
|
37
|
-
commitEmail: 'foo@bar.com',
|
|
38
|
-
commitUsername: 'foobar',
|
|
39
|
-
});
|
|
40
|
-
//
|
|
41
|
-
// BUILD
|
|
42
|
-
//
|
|
43
|
-
const pipeline = new delivlib.Pipeline(this, 'CodeCommitPipeline', {
|
|
44
|
-
title: 'aws-delivlib test pipeline',
|
|
45
|
-
repo: githubRepo,
|
|
46
|
-
notificationEmail: 'aws-cdk-dev+delivlib-test@amazon.com',
|
|
47
|
-
environment: {
|
|
48
|
-
DELIVLIB_ENV_TEST: 'MAGIC_1924',
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
//
|
|
52
|
-
// TEST
|
|
53
|
-
//
|
|
54
|
-
// add a test that runs on an ubuntu linux
|
|
55
|
-
pipeline.addTest('HelloLinux', {
|
|
56
|
-
platform: delivlib.ShellPlatform.LinuxUbuntu,
|
|
57
|
-
entrypoint: 'test.sh',
|
|
58
|
-
scriptDirectory: path.join(testDir, 'linux'),
|
|
59
|
-
});
|
|
60
|
-
// add a test that runs on Windows
|
|
61
|
-
pipeline.addTest('HelloWindows', {
|
|
62
|
-
platform: delivlib.ShellPlatform.Windows,
|
|
63
|
-
entrypoint: 'test.ps1',
|
|
64
|
-
scriptDirectory: path.join(testDir, 'windows'),
|
|
65
|
-
});
|
|
66
|
-
const externalId = 'require-me-please';
|
|
67
|
-
const role = new monocdk_1.aws_iam.Role(this, 'AssumeMe', {
|
|
68
|
-
assumedBy: new monocdk_1.aws_iam.AccountPrincipal(monocdk_1.Stack.of(this).account),
|
|
69
|
-
externalId,
|
|
70
|
-
});
|
|
71
|
-
pipeline.addTest('AssumeRole', {
|
|
72
|
-
entrypoint: 'test.sh',
|
|
73
|
-
scriptDirectory: path.join(testDir, 'assume-role'),
|
|
74
|
-
assumeRole: {
|
|
75
|
-
roleArn: role.roleArn,
|
|
76
|
-
sessionName: 'assume-role-test',
|
|
77
|
-
externalId,
|
|
78
|
-
},
|
|
79
|
-
environment: {
|
|
80
|
-
EXPECTED_ROLE_NAME: role.roleName,
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
const action = pipeline.addShellable('Test', 'GenerateTwoArtifacts', {
|
|
84
|
-
entrypoint: 'void.sh',
|
|
85
|
-
scriptDirectory: path.join(testDir, 'linux'),
|
|
86
|
-
buildSpec: delivlib.BuildSpec.simple({
|
|
87
|
-
build: [
|
|
88
|
-
'mkdir -p output1 output2',
|
|
89
|
-
'echo \'{"name": "output1", "version": "1.2.3", "commit": "abcdef"}\' > output1/build.json',
|
|
90
|
-
'echo \'{"name": "output2", "version": "1.2.3", "commit": "abcdef"}\' > output2/build.json',
|
|
91
|
-
],
|
|
92
|
-
artifactDirectory: 'output1',
|
|
93
|
-
additionalArtifactDirectories: {
|
|
94
|
-
artifact2: 'output2',
|
|
95
|
-
},
|
|
96
|
-
}),
|
|
97
|
-
}).action;
|
|
98
|
-
const shellableArtifacts = action.actionProperties.outputs;
|
|
99
|
-
//
|
|
100
|
-
// CANARY
|
|
101
|
-
//
|
|
102
|
-
pipeline.addCanary('HelloCanary', {
|
|
103
|
-
schedule: monocdk_1.aws_events.Schedule.expression('rate(1 minute)'),
|
|
104
|
-
scriptDirectory: path.join(testDir, 'linux'),
|
|
105
|
-
entrypoint: 'test.sh',
|
|
106
|
-
});
|
|
107
|
-
//
|
|
108
|
-
// PUBLISH
|
|
109
|
-
//
|
|
110
|
-
pipeline.publishToNpm({
|
|
111
|
-
npmTokenSecret: { secretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:delivlib/npm-OynG62' },
|
|
112
|
-
access: delivlib.NpmAccess.RESTRICTED,
|
|
113
|
-
});
|
|
114
|
-
// this creates a self-signed certificate
|
|
115
|
-
const codeSign = new delivlib.CodeSigningCertificate(this, 'X509CodeSigningKey', {
|
|
116
|
-
distinguishedName: {
|
|
117
|
-
commonName: 'delivlib-test',
|
|
118
|
-
country: 'IL',
|
|
119
|
-
emailAddress: 'aws-cdk-dev+delivlib-test@amazon.com',
|
|
120
|
-
locality: 'Zity',
|
|
121
|
-
organizationName: 'Amazon Test',
|
|
122
|
-
organizationalUnitName: 'AWS',
|
|
123
|
-
stateOrProvince: 'Ztate',
|
|
124
|
-
},
|
|
125
|
-
retainPrivateKey: false,
|
|
126
|
-
});
|
|
127
|
-
pipeline.publishToNuGet({
|
|
128
|
-
nugetApiKeySecret: { secretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:delivlib/nuget-fHzSUD' },
|
|
129
|
-
codeSign,
|
|
130
|
-
});
|
|
131
|
-
const signingKey = new delivlib.OpenPGPKeyPair(this, 'CodeSign', {
|
|
132
|
-
email: 'aws-cdk-dev+delivlib@amazon.com',
|
|
133
|
-
encryptionKey: new monocdk_1.aws_kms.Key(this, 'CodeSign-CMK'),
|
|
134
|
-
expiry: '4y',
|
|
135
|
-
identity: 'aws-cdk-dev',
|
|
136
|
-
keySizeBits: 4096,
|
|
137
|
-
pubKeyParameterName: `/${this.node.path}/CodeSign.pub`,
|
|
138
|
-
secretName: this.node.path + '/CodeSign',
|
|
139
|
-
version: 0,
|
|
140
|
-
removalPolicy: delivlib.OpenPGPKeyPairRemovalPolicy.DESTROY_IMMEDIATELY,
|
|
141
|
-
});
|
|
142
|
-
pipeline.publishToMaven({
|
|
143
|
-
mavenLoginSecret: { secretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:delivlib/maven-7ROCWi' },
|
|
144
|
-
mavenEndpoint: 'https://aws.oss.sonatype.org:443/',
|
|
145
|
-
signingKey,
|
|
146
|
-
stagingProfileId: '68a05363083174',
|
|
147
|
-
});
|
|
148
|
-
pipeline.publishToGitHub({
|
|
149
|
-
githubRepo,
|
|
150
|
-
signingKey,
|
|
151
|
-
additionalInputArtifacts: shellableArtifacts,
|
|
152
|
-
});
|
|
153
|
-
pipeline.publishToGitHubPages({
|
|
154
|
-
githubRepo,
|
|
155
|
-
});
|
|
156
|
-
pipeline.publishToPyPI({
|
|
157
|
-
loginSecret: { secretArn: 'arn:aws:secretsmanager:us-east-1:712950704752:secret:delivlib/pypi-tOhH6X' },
|
|
158
|
-
});
|
|
159
|
-
// publish go bindings to awslabs/aws-delivlib-sample under the "golang"
|
|
160
|
-
// branch (repository is derived from "go.moduleName" in package.json)
|
|
161
|
-
pipeline.publishToGolang({
|
|
162
|
-
githubTokenSecret: { secretArn: githubRepo.tokenSecretArn },
|
|
163
|
-
gitBranch: 'golang',
|
|
164
|
-
gitUserEmail: 'aws-cdk-dev+delivlib@amazon.com',
|
|
165
|
-
gitUserName: 'Delivlib Tests',
|
|
166
|
-
});
|
|
167
|
-
//
|
|
168
|
-
// BUMP
|
|
169
|
-
pipeline.autoBump({
|
|
170
|
-
bumpCommand: 'npm i && npm run bump',
|
|
171
|
-
});
|
|
172
|
-
//
|
|
173
|
-
// AUTO-BUILD
|
|
174
|
-
pipeline.autoBuild({
|
|
175
|
-
publicLogs: true,
|
|
176
|
-
});
|
|
177
|
-
//
|
|
178
|
-
// CHANGE CONTROL
|
|
179
|
-
//
|
|
180
|
-
pipeline.addChangeControl();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
exports.TestStack = TestStack;
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Qtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3QixxQ0FLaUI7QUFDakIsb0RBQXNDO0FBR3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFdkQsTUFBYSxTQUFVLFNBQVEsZUFBSztJQUNsQyxZQUFZLE1BQVcsRUFBRSxFQUFVLEVBQUUsUUFBb0IsRUFBRztRQUMxRCxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6QixFQUFFO1FBQ0YsU0FBUztRQUNULEVBQUU7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxVQUFVLEVBQUUsNkJBQTZCO1lBQ3pDLGNBQWMsRUFBRSwwRUFBMEU7WUFDMUYsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLGlGQUFpRixFQUFFO1lBQzlHLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGNBQWMsRUFBRSxRQUFRO1NBQ3pCLENBQUMsQ0FBQztRQUVILEVBQUU7UUFDRixRQUFRO1FBQ1IsRUFBRTtRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDakUsS0FBSyxFQUFFLDRCQUE0QjtZQUNuQyxJQUFJLEVBQUUsVUFBVTtZQUNoQixpQkFBaUIsRUFBRSxzQ0FBc0M7WUFDekQsV0FBVyxFQUFFO2dCQUNYLGlCQUFpQixFQUFFLFlBQVk7YUFDaEM7U0FDRixDQUFDLENBQUM7UUFFSCxFQUFFO1FBQ0YsT0FBTztRQUNQLEVBQUU7UUFFRiwwQ0FBMEM7UUFDMUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDN0IsUUFBUSxFQUFFLFFBQVEs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MkUsRUFBRTtTQUN4RyxDQUFDLENBQUM7UUFFSCx3RUFBd0U7UUFDeEUsc0VBQXNFO1FBQ3RFLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDdkIsaUJBQWlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLGNBQWMsRUFBRTtZQUMzRCxTQUFTLEVBQUUsUUFBUTtZQUNuQixZQUFZLEVBQUUsaUNBQWlDO1lBQy9DLFdBQVcsRUFBRSxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsRUFBRTtRQUNGLE9BQU87UUFFUCxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCLFdBQVcsRUFBRSx1QkFBdUI7U0FDckMsQ0FBQyxDQUFDO1FBRUgsRUFBRTtRQUNGLGFBQWE7UUFFYixRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILEVBQUU7UUFDRixpQkFBaUI7UUFDakIsRUFBRTtRQUVGLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQXhMRCw4QkF3TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQXBwLCBTdGFjaywgU3RhY2tQcm9wcyxcbiAgYXdzX2V2ZW50cyBhcyBldmVudHMsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfa21zIGFzIGttcyxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgKiBhcyBkZWxpdmxpYiBmcm9tICcuLi8uLi9saWInO1xuXG5cbmNvbnN0IHRlc3REaXIgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnZGVsaXZsaWItdGVzdHMnKTtcblxuZXhwb3J0IGNsYXNzIFRlc3RTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3IocGFyZW50OiBBcHAsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFja1Byb3BzID0geyB9KSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCwgcHJvcHMpO1xuXG4gICAgLy9cbiAgICAvLyBTT1VSQ0VcbiAgICAvL1xuXG4gICAgY29uc3QgZ2l0aHViUmVwbyA9IG5ldyBkZWxpdmxpYi5Xcml0YWJsZUdpdEh1YlJlcG8oe1xuICAgICAgcmVwb3NpdG9yeTogJ2F3c2xhYnMvYXdzLWRlbGl2bGliLXNhbXBsZScsXG4gICAgICB0b2tlblNlY3JldEFybjogJ2Fybjphd3M6c2VjcmV0c21hbmFnZXI6dXMtZWFzdC0xOjcxMjk1MDcwNDc1MjpzZWNyZXQ6Z2l0aHViLXRva2VuLW5uQXFmVycsXG4gICAgICBzc2hLZXlTZWNyZXQ6IHsgc2VjcmV0QXJuOiAnYXJuOmF3czpzZWNyZXRzbWFuYWdlcjp1cy1lYXN0LTE6NzEyOTUwNzA0NzUyOnNlY3JldDpkZWxpdmxpYi9naXRodWItc3NoLWx3emZqVycgfSxcbiAgICAgIGNvbW1pdEVtYWlsOiAnZm9vQGJhci5jb20nLFxuICAgICAgY29tbWl0VXNlcm5hbWU6ICdmb29iYXInLFxuICAgIH0pO1xuXG4gICAgLy9cbiAgICAvLyBCVUlMRFxuICAgIC8vXG5cbiAgICBjb25zdCBwaXBlbGluZSA9IG5ldyBkZWxpdmxpYi5QaXBlbGluZSh0aGlzLCAnQ29kZUNvbW1pdFBpcGVsaW5lJywge1xuICAgICAgdGl0bGU6ICdhd3MtZGVsaXZsaWIgdGVzdCBwaXBlbGluZScsXG4gICAgICByZXBvOiBnaXRodWJSZXBvLFxuICAgICAgbm90aWZpY2F0aW9uRW1haWw6ICdhd3MtY2RrLWRlditkZWxpdmxpYi10ZXN0QGFtYXpvbi5jb20nLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgREVMSVZMSUJfRU5WX1RFU1Q6ICdNQUdJQ18xOTI0JyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvL1xuICAgIC8vIFRFU1RcbiAgICAvL1xuXG4gICAgLy8gYWRkIGEgdGVzdCB0aGF0IHJ1bnMgb24gYW4gdWJ1bnR1IGxpbnV4XG4gICAgcGlwZWxpbmUuYWRkVGVzdCgnSGVsbG9MaW51eCcsIHtcbiAgICAgIHBsYXRmb3JtOiBkZWxpdmxpYi5TaGVsbFBsYXRmb3JtLkxpbnV4VWJ1bnR1LFxuICAgICAgZW50cnlwb2ludDogJ3Rlc3Quc2gnLFxuICAgICAgc2NyaXB0RGlyZWN0b3J5OiBwYXRoLmpvaW4odGVzdERpciwgJ2xpbnV4JyksXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgYSB0ZXN0IHRoYXQgcnVucyBvbiBXaW5kb3dzXG4gICAgcGlwZWxpbmUuYWRkVGVzdCgnSGVsbG9XaW5kb3dzJywge1xuICAgICAgcGxhdGZvcm06IGRlbGl2bGliLlNoZWxsUGxhdGZvcm0uV2luZG93cyxcbiAgICAgIGVudHJ5cG9pbnQ6ICd0ZXN0LnBzMScsXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbih0ZXN0RGlyLCAnd2luZG93cycpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZXh0ZXJuYWxJZCA9ICdyZXF1aXJlLW1lLXBsZWFzZSc7XG5cbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdBc3N1bWVNZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKFN0YWNrLm9mKHRoaXMpLmFjY291bnQpLFxuICAgICAgZXh0ZXJuYWxJZCxcbiAgICB9KTtcblxuICAgIHBpcGVsaW5lLmFkZFRlc3QoJ0Fzc3VtZVJvbGUnLCB7XG4gICAgICBlbnRyeXBvaW50OiAndGVzdC5zaCcsXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbih0ZXN0RGlyLCAnYXNzdW1lLXJvbGUnKSxcbiAgICAgIGFzc3VtZVJvbGU6IHtcbiAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICBzZXNzaW9uTmFtZTogJ2Fzc3VtZS1yb2xlLXRlc3QnLFxuICAgICAgICBleHRlcm5hbElkLFxuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEVYUEVDVEVEX1JPTEVfTkFNRTogcm9sZS5yb2xlTmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSBwaXBlbGluZS5hZGRTaGVsbGFibGUoJ1Rlc3QnLCAnR2VuZXJhdGVUd29BcnRpZmFjdHMnLCB7XG4gICAgICBlbnRyeXBvaW50OiAndm9pZC5zaCcsXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbih0ZXN0RGlyLCAnbGludXgnKSxcbiAgICAgIGJ1aWxkU3BlYzogZGVsaXZsaWIuQnVpbGRTcGVjLnNpbXBsZSh7XG4gICAgICAgIGJ1aWxkOiBbXG4gICAgICAgICAgJ21rZGlyIC1wIG91dHB1dDEgb3V0cHV0MicsXG4gICAgICAgICAgJ2VjaG8gXFwne1wibmFtZVwiOiBcIm91dHB1dDFcIiwgXCJ2ZXJzaW9uXCI6IFwiMS4yLjNcIiwgXCJjb21taXRcIjogXCJhYmNkZWZcIn1cXCcgPiBvdXRwdXQxL2J1aWxkLmpzb24nLFxuICAgICAgICAgICdlY2hvIFxcJ3tcIm5hbWVcIjogXCJvdXRwdXQyXCIsIFwidmVyc2lvblwiOiBcIjEuMi4zXCIsIFwiY29tbWl0XCI6IFwiYWJjZGVmXCJ9XFwnID4gb3V0cHV0Mi9idWlsZC5qc29uJyxcbiAgICAgICAgXSxcbiAgICAgICAgYXJ0aWZhY3REaXJlY3Rvcnk6ICdvdXRwdXQxJyxcbiAgICAgICAgYWRkaXRpb25hbEFydGlmYWN0RGlyZWN0b3JpZXM6IHtcbiAgICAgICAgICBhcnRpZmFjdDI6ICdvdXRwdXQyJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pLmFjdGlvbjtcbiAgICBjb25zdCBzaGVsbGFibGVBcnRpZmFjdHMgPSBhY3Rpb24uYWN0aW9uUHJvcGVydGllcy5vdXRwdXRzO1xuXG4gICAgLy9cbiAgICAvLyBDQU5BUllcbiAgICAvL1xuXG4gICAgcGlwZWxpbmUuYWRkQ2FuYXJ5KCdIZWxsb0NhbmFyeScsIHtcbiAgICAgIHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUuZXhwcmVzc2lvbigncmF0ZSgxIG1pbnV0ZSknKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKHRlc3REaXIsICdsaW51eCcpLFxuICAgICAgZW50cnlwb2ludDogJ3Rlc3Quc2gnLFxuICAgIH0pO1xuXG4gICAgLy9cbiAgICAvLyBQVUJMSVNIXG4gICAgLy9cblxuICAgIHBpcGVsaW5lLnB1Ymxpc2hUb05wbSh7XG4gICAgICBucG1Ub2tlblNlY3JldDogeyBzZWNyZXRBcm46ICdhcm46YXdzOnNlY3JldHNtYW5hZ2VyOnVzLWVhc3QtMTo3MTI5NTA3MDQ3NTI6c2VjcmV0OmRlbGl2bGliL25wbS1PeW5HNjInIH0sXG4gICAgICBhY2Nlc3M6IGRlbGl2bGliLk5wbUFjY2Vzcy5SRVNUUklDVEVELFxuICAgIH0pO1xuXG4gICAgLy8gdGhpcyBjcmVhdGVzIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGVcbiAgICBjb25zdCBjb2RlU2lnbiA9IG5ldyBkZWxpdmxpYi5Db2RlU2lnbmluZ0NlcnRpZmljYXRlKHRoaXMsICdYNTA5Q29kZVNpZ25pbmdLZXknLCB7XG4gICAgICBkaXN0aW5ndWlzaGVkTmFtZToge1xuICAgICAgICBjb21tb25OYW1lOiAnZGVsaXZsaWItdGVzdCcsXG4gICAgICAgIGNvdW50cnk6ICdJTCcsXG4gICAgICAgIGVtYWlsQWRkcmVzczogJ2F3cy1jZGstZGV2K2RlbGl2bGliLXRlc3RAYW1hem9uLmNvbScsXG4gICAgICAgIGxvY2FsaXR5OiAnWml0eScsXG4gICAgICAgIG9yZ2FuaXphdGlvbk5hbWU6ICdBbWF6b24gVGVzdCcsXG4gICAgICAgIG9yZ2FuaXphdGlvbmFsVW5pdE5hbWU6ICdBV1MnLFxuICAgICAgICBzdGF0ZU9yUHJvdmluY2U6ICdadGF0ZScsXG4gICAgICB9LFxuICAgICAgcmV0YWluUHJpdmF0ZUtleTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBwaXBlbGluZS5wdWJsaXNoVG9OdUdldCh7XG4gICAgICBudWdldEFwaUtleVNlY3JldDogeyBzZWNyZXRBcm46ICdhcm46YXdzOnNlY3JldHNtYW5hZ2VyOnVzLWVhc3QtMTo3MTI5NTA3MDQ3NTI6c2VjcmV0OmRlbGl2bGliL251Z2V0LWZIelNVRCcgfSxcbiAgICAgIGNvZGVTaWduLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmluZ0tleSA9IG5ldyBkZWxpdmxpYi5PcGVuUEdQS2V5UGFpcih0aGlzLCAnQ29kZVNpZ24nLCB7XG4gICAgICBlbWFpbDogJ2F3cy1jZGstZGV2K2RlbGl2bGliQGFtYXpvbi5jb20nLFxuICAgICAgZW5jcnlwdGlvbktleTogbmV3IGttcy5LZXkodGhpcywgJ0NvZGVTaWduLUNNSycpLFxuICAgICAgZXhwaXJ5OiAnNHknLFxuICAgICAgaWRlbnRpdHk6ICdhd3MtY2RrLWRldicsXG4gICAgICBrZXlTaXplQml0czogNF8wOTYsXG4gICAgICBwdWJLZXlQYXJhbWV0ZXJOYW1lOiBgLyR7dGhpcy5ub2RlLnBhdGh9L0NvZGVTaWduLnB1YmAsXG4gICAgICBzZWNyZXROYW1lOiB0aGlzLm5vZGUucGF0aCArICcvQ29kZVNpZ24nLFxuICAgICAgdmVyc2lvbjogMCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGRlbGl2bGliLk9wZW5QR1BLZXlQYWlyUmVtb3ZhbFBvbGljeS5ERVNUUk9ZX0lNTUVESUFURUxZLFxuICAgIH0pO1xuXG4gICAgcGlwZWxpbmUucHVibGlzaFRvTWF2ZW4oe1xuICAgICAgbWF2ZW5Mb2dpblNlY3JldDogeyBzZWNyZXRBcm46ICdhcm46YXdzOnNlY3JldHNtYW5hZ2VyOnVzLWVhc3QtMTo3MTI5NTA3MDQ3NTI6c2VjcmV0OmRlbGl2bGliL21hdmVuLTdST0NXaScgfSxcbiAgICAgIG1hdmVuRW5kcG9pbnQ6ICdodHRwczovL2F3cy5vc3Muc29uYXR5cGUub3JnOjQ0My8nLFxuICAgICAgc2lnbmluZ0tleSxcbiAgICAgIHN0YWdpbmdQcm9maWxlSWQ6ICc2OGEwNTM2MzA4MzE3NCcsXG4gICAgfSk7XG5cbiAgICBwaXBlbGluZS5wdWJsaXNoVG9HaXRIdWIoe1xuICAgICAgZ2l0aHViUmVwbyxcbiAgICAgIHNpZ25pbmdLZXksXG4gICAgICBhZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM6IHNoZWxsYWJsZUFydGlmYWN0cyxcbiAgICB9KTtcblxuICAgIHBpcGVsaW5lLnB1Ymxpc2hUb0dpdEh1YlBhZ2VzKHtcbiAgICAgIGdpdGh1YlJlcG8sXG4gICAgfSk7XG5cbiAgICBwaXBlbGluZS5wdWJsaXNoVG9QeVBJKHtcbiAgICAgIGxvZ2luU2VjcmV0OiB7IHNlY3JldEFybjogJ2Fybjphd3M6c2VjcmV0c21hbmFnZXI6dXMtZWFzdC0xOjcxMjk1MDcwNDc1MjpzZWNyZXQ6ZGVsaXZsaWIvcHlwaS10T2hINlgnIH0sXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIGdvIGJpbmRpbmdzIHRvIGF3c2xhYnMvYXdzLWRlbGl2bGliLXNhbXBsZSB1bmRlciB0aGUgXCJnb2xhbmdcIlxuICAgIC8vIGJyYW5jaCAocmVwb3NpdG9yeSBpcyBkZXJpdmVkIGZyb20gXCJnby5tb2R1bGVOYW1lXCIgaW4gcGFja2FnZS5qc29uKVxuICAgIHBpcGVsaW5lLnB1Ymxpc2hUb0dvbGFuZyh7XG4gICAgICBnaXRodWJUb2tlblNlY3JldDogeyBzZWNyZXRBcm46IGdpdGh1YlJlcG8udG9rZW5TZWNyZXRBcm4gfSxcbiAgICAgIGdpdEJyYW5jaDogJ2dvbGFuZycsXG4gICAgICBnaXRVc2VyRW1haWw6ICdhd3MtY2RrLWRlditkZWxpdmxpYkBhbWF6b24uY29tJyxcbiAgICAgIGdpdFVzZXJOYW1lOiAnRGVsaXZsaWIgVGVzdHMnLFxuICAgIH0pO1xuXG4gICAgLy9cbiAgICAvLyBCVU1QXG5cbiAgICBwaXBlbGluZS5hdXRvQnVtcCh7XG4gICAgICBidW1wQ29tbWFuZDogJ25wbSBpICYmIG5wbSBydW4gYnVtcCcsXG4gICAgfSk7XG5cbiAgICAvL1xuICAgIC8vIEFVVE8tQlVJTERcblxuICAgIHBpcGVsaW5lLmF1dG9CdWlsZCh7XG4gICAgICBwdWJsaWNMb2dzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy9cbiAgICAvLyBDSEFOR0UgQ09OVFJPTFxuICAgIC8vXG5cbiAgICBwaXBlbGluZS5hZGRDaGFuZ2VDb250cm9sKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const watcher_handler_1 = require("../../lib/pipeline-watcher/handler/watcher-handler");
|
|
4
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn();
|
|
5
|
-
describe('watcher-handler', () => {
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
process.env.METRIC_NAME = 'metricName';
|
|
8
|
-
process.env.METRIC_NAMESPACE = 'metricNamespace';
|
|
9
|
-
});
|
|
10
|
-
test('throws an error if PutMetricData fails', async () => {
|
|
11
|
-
expect.assertions(1);
|
|
12
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn(_request => {
|
|
13
|
-
return {
|
|
14
|
-
promise: () => new Promise((_, reject) => reject(new Error('fail'))),
|
|
15
|
-
};
|
|
16
|
-
});
|
|
17
|
-
try {
|
|
18
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent());
|
|
19
|
-
}
|
|
20
|
-
catch (err) {
|
|
21
|
-
expect(err.message).toEqual('fail');
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
test('throws an error if METRIC_NAME is undefined', async () => {
|
|
25
|
-
delete process.env.METRIC_NAME;
|
|
26
|
-
expect.assertions(1);
|
|
27
|
-
try {
|
|
28
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent());
|
|
29
|
-
}
|
|
30
|
-
catch (err) {
|
|
31
|
-
expect(err.message).toMatch(/environment variables must be set/);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
test('throws an error if METRIC_NAMESPACE is undefined', async () => {
|
|
35
|
-
delete process.env.METRIC_NAMESPACE;
|
|
36
|
-
expect.assertions(1);
|
|
37
|
-
try {
|
|
38
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent());
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
expect(err.message).toMatch(/environment variables must be set/);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
describe('Action Execution State Change', () => {
|
|
45
|
-
test('throws an error if state is not SUCCEEDED or FAILED', async () => {
|
|
46
|
-
expect.assertions(1);
|
|
47
|
-
try {
|
|
48
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent('STARTED'));
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
expect(err.message).toMatch(/Unsupported/);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
test('reports FAILED state metrics', async () => {
|
|
55
|
-
expect.assertions(1);
|
|
56
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn(request => {
|
|
57
|
-
expect(request).toEqual({
|
|
58
|
-
Namespace: 'metricNamespace',
|
|
59
|
-
MetricData: [
|
|
60
|
-
{
|
|
61
|
-
MetricName: 'metricName',
|
|
62
|
-
Value: 1,
|
|
63
|
-
Dimensions: [
|
|
64
|
-
{ Name: 'Pipeline', Value: 'some-pipeline' },
|
|
65
|
-
{ Name: 'Action', Value: 'some-action' },
|
|
66
|
-
],
|
|
67
|
-
Timestamp: new Date(1611751440000),
|
|
68
|
-
},
|
|
69
|
-
],
|
|
70
|
-
});
|
|
71
|
-
return {
|
|
72
|
-
promise: () => new Promise((resolve, _) => resolve({})),
|
|
73
|
-
};
|
|
74
|
-
});
|
|
75
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent('FAILED'));
|
|
76
|
-
});
|
|
77
|
-
test('reports SUCCEEDED state metrics', async () => {
|
|
78
|
-
expect.assertions(1);
|
|
79
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn(request => {
|
|
80
|
-
expect(request).toEqual({
|
|
81
|
-
Namespace: 'metricNamespace',
|
|
82
|
-
MetricData: [
|
|
83
|
-
{
|
|
84
|
-
MetricName: 'metricName',
|
|
85
|
-
Value: 0,
|
|
86
|
-
Dimensions: [
|
|
87
|
-
{ Name: 'Pipeline', Value: 'some-pipeline' },
|
|
88
|
-
{ Name: 'Action', Value: 'some-action' },
|
|
89
|
-
],
|
|
90
|
-
Timestamp: new Date(1611751440000),
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
promise: () => new Promise((resolve, _) => resolve({})),
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
await (0, watcher_handler_1.handler)(actionExecutionEvent('SUCCEEDED'));
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
describe('Pipeline Execution State Change', () => {
|
|
102
|
-
test('throws an error if state is not SUCCEEDED or FAILED', async () => {
|
|
103
|
-
expect.assertions(1);
|
|
104
|
-
try {
|
|
105
|
-
await (0, watcher_handler_1.handler)(pipelineExecutionEvent('STARTED'));
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
expect(err.message).toMatch(/Unsupported/);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
test('reports FAILED state metrics', async () => {
|
|
112
|
-
expect.assertions(1);
|
|
113
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn(request => {
|
|
114
|
-
expect(request).toEqual({
|
|
115
|
-
Namespace: 'metricNamespace',
|
|
116
|
-
MetricData: [
|
|
117
|
-
{
|
|
118
|
-
MetricName: 'metricName',
|
|
119
|
-
Value: 1,
|
|
120
|
-
Dimensions: [
|
|
121
|
-
{ Name: 'Pipeline', Value: 'some-pipeline' },
|
|
122
|
-
],
|
|
123
|
-
Timestamp: new Date(1611751440000),
|
|
124
|
-
},
|
|
125
|
-
],
|
|
126
|
-
});
|
|
127
|
-
return {
|
|
128
|
-
promise: () => new Promise((resolve, _) => resolve({})),
|
|
129
|
-
};
|
|
130
|
-
});
|
|
131
|
-
await (0, watcher_handler_1.handler)(pipelineExecutionEvent('FAILED'));
|
|
132
|
-
});
|
|
133
|
-
test('reports SUCCEEDED state metrics', async () => {
|
|
134
|
-
expect.assertions(1);
|
|
135
|
-
watcher_handler_1.cloudwatch.putMetricData = jest.fn(request => {
|
|
136
|
-
expect(request).toEqual({
|
|
137
|
-
Namespace: 'metricNamespace',
|
|
138
|
-
MetricData: [
|
|
139
|
-
{
|
|
140
|
-
MetricName: 'metricName',
|
|
141
|
-
Value: 0,
|
|
142
|
-
Dimensions: [
|
|
143
|
-
{ Name: 'Pipeline', Value: 'some-pipeline' },
|
|
144
|
-
],
|
|
145
|
-
Timestamp: new Date(1611751440000),
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
});
|
|
149
|
-
return {
|
|
150
|
-
promise: () => new Promise((resolve, _) => resolve({})),
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
await (0, watcher_handler_1.handler)(pipelineExecutionEvent('SUCCEEDED'));
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
function actionExecutionEvent(state = 'SUCCEEDED') {
|
|
158
|
-
return {
|
|
159
|
-
'id': 'some-id',
|
|
160
|
-
'version': '1',
|
|
161
|
-
'account': '0123456789',
|
|
162
|
-
'resources': ['some-resource'],
|
|
163
|
-
'time': '2021-01-27T12:44:00Z',
|
|
164
|
-
'detail-type': 'CodePipeline Action Execution State Change',
|
|
165
|
-
'region': 'us-east-1',
|
|
166
|
-
'source': 'aws.codepipeline',
|
|
167
|
-
'detail': {
|
|
168
|
-
action: 'some-action',
|
|
169
|
-
pipeline: 'some-pipeline',
|
|
170
|
-
state,
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
function pipelineExecutionEvent(state = 'SUCCEEDED') {
|
|
175
|
-
return {
|
|
176
|
-
'id': 'some-id',
|
|
177
|
-
'version': '1',
|
|
178
|
-
'account': '0123456789',
|
|
179
|
-
'resources': ['some-resource'],
|
|
180
|
-
'time': '2021-01-27T12:44:00Z',
|
|
181
|
-
'detail-type': 'CodePipeline Pipeline Execution State Change',
|
|
182
|
-
'region': 'us-east-1',
|
|
183
|
-
'source': 'aws.codepipeline',
|
|
184
|
-
'detail': {
|
|
185
|
-
pipeline: 'some-pipeline',
|
|
186
|
-
state,
|
|
187
|
-
},
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci1oYW5kbGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3YXRjaGVyLWhhbmRsZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdGQUF3SjtBQUV4Siw0QkFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFckMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQiw0QkFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDckUsQ0FBQztRQUNKLENBQUMsQ0FBUSxDQUFDO1FBQ1YsSUFBSTtZQUNGLE1BQU0sSUFBQSx5QkFBTyxFQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztTQUN2QztRQUFDLE9BQU8sR0FBUSxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7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USxFQUFFO1lBQ1IsUUFBUSxFQUFFLGVBQWU7WUFDekIsS0FBSztTQUNOO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW1iZGFBY3Rpb25TdGF0ZUNoYW5nZUV2ZW50LCBMYW1iZGFFeGVjdXRpb25TdGF0ZUNoYW5nZUV2ZW50LCBjbG91ZHdhdGNoLCBoYW5kbGVyIH0gZnJvbSAnLi4vLi4vbGliL3BpcGVsaW5lLXdhdGNoZXIvaGFuZGxlci93YXRjaGVyLWhhbmRsZXInO1xuXG5jbG91ZHdhdGNoLnB1dE1ldHJpY0RhdGEgPSBqZXN0LmZuKCk7XG5cbmRlc2NyaWJlKCd3YXRjaGVyLWhhbmRsZXInLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHByb2Nlc3MuZW52Lk1FVFJJQ19OQU1FID0gJ21ldHJpY05hbWUnO1xuICAgIHByb2Nlc3MuZW52Lk1FVFJJQ19OQU1FU1BBQ0UgPSAnbWV0cmljTmFtZXNwYWNlJztcbiAgfSk7XG5cbiAgdGVzdCgndGhyb3dzIGFuIGVycm9yIGlmIFB1dE1ldHJpY0RhdGEgZmFpbHMnLCBhc3luYyAoKSA9PiB7XG4gICAgZXhwZWN0LmFzc2VydGlvbnMoMSk7XG4gICAgY2xvdWR3YXRjaC5wdXRNZXRyaWNEYXRhID0gamVzdC5mbihfcmVxdWVzdCA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9taXNlOiAoKSA9PiBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiByZWplY3QobmV3IEVycm9yKCdmYWlsJykpKSxcbiAgICAgIH07XG4gICAgfSkgYXMgYW55O1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBoYW5kbGVyKGFjdGlvbkV4ZWN1dGlvbkV2ZW50KCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBleHBlY3QoZXJyLm1lc3NhZ2UpLnRvRXF1YWwoJ2ZhaWwnKTtcbiAgICB9XG4gIH0pO1xuXG4gIHRlc3QoJ3Rocm93cyBhbiBlcnJvciBpZiBNRVRSSUNfTkFNRSBpcyB1bmRlZmluZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52Lk1FVFJJQ19OQU1FO1xuICAgIGV4cGVjdC5hc3NlcnRpb25zKDEpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBoYW5kbGVyKGFjdGlvbkV4ZWN1dGlvbkV2ZW50KCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBleHBlY3QoZXJyLm1lc3NhZ2UpLnRvTWF0Y2goL2Vudmlyb25tZW50IHZhcmlhYmxlcyBtdXN0IGJlIHNldC8pO1xuICAgIH1cbiAgfSk7XG5cbiAgdGVzdCgndGhyb3dzIGFuIGVycm9yIGlmIE1FVFJJQ19OQU1FU1BBQ0UgaXMgdW5kZWZpbmVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5NRVRSSUNfTkFNRVNQQUNFO1xuICAgIGV4cGVjdC5hc3NlcnRpb25zKDEpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBoYW5kbGVyKGFjdGlvbkV4ZWN1dGlvbkV2ZW50KCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBleHBlY3QoZXJyLm1lc3NhZ2UpLnRvTWF0Y2goL2Vudmlyb25tZW50IHZhcmlhYmxlcyBtdXN0IGJlIHNldC8pO1xuICAgIH1cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FjdGlvbiBFeGVjdXRpb24gU3RhdGUgQ2hhbmdlJywgKCkgPT4ge1xuICAgIHRlc3QoJ3Rocm93cyBhbiBlcnJvciBpZiBzdGF0ZSBpcyBub3QgU1VDQ0VFREVEIG9yIEZBSUxFRCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDEpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgaGFuZGxlcihhY3Rpb25FeGVjdXRpb25FdmVudCgnU1RBUlRFRCcpKTtcbiAgICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICAgIGV4cGVjdChlcnIubWVzc2FnZSkudG9NYXRjaCgvVW5zdXBwb3J0ZWQvKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRlc3QoJ3JlcG9ydHMgRkFJTEVEIHN0YXRlIG1ldHJpY3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgIGNsb3Vkd2F0Y2gucHV0TWV0cmljRGF0YSA9IGplc3QuZm4ocmVxdWVzdCA9PiB7XG4gICAgICAgIGV4cGVjdChyZXF1ZXN0KS50b0VxdWFsKHtcbiAgICAgICAgICBOYW1lc3BhY2U6ICdtZXRyaWNOYW1lc3BhY2UnLFxuICAgICAgICAgIE1ldHJpY0RhdGE6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgTWV0cmljTmFtZTogJ21ldHJpY05hbWUnLFxuICAgICAgICAgICAgICBWYWx1ZTogMSxcbiAgICAgICAgICAgICAgRGltZW5zaW9uczogW1xuICAgICAgICAgICAgICAgIHsgTmFtZTogJ1BpcGVsaW5lJywgVmFsdWU6ICdzb21lLXBpcGVsaW5lJyB9LFxuICAgICAgICAgICAgICAgIHsgTmFtZTogJ0FjdGlvbicsIFZhbHVlOiAnc29tZS1hY3Rpb24nIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIFRpbWVzdGFtcDogbmV3IERhdGUoMTYxMTc1MTQ0MDAwMCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb21pc2U6ICgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCBfKSA9PiByZXNvbHZlKHt9KSksXG4gICAgICAgIH07XG4gICAgICB9KSBhcyBhbnk7XG4gICAgICBhd2FpdCBoYW5kbGVyKGFjdGlvbkV4ZWN1dGlvbkV2ZW50KCdGQUlMRUQnKSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdyZXBvcnRzIFNVQ0NFRURFRCBzdGF0ZSBtZXRyaWNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZXhwZWN0LmFzc2VydGlvbnMoMSk7XG4gICAgICBjbG91ZHdhdGNoLnB1dE1ldHJpY0RhdGEgPSBqZXN0LmZuKHJlcXVlc3QgPT4ge1xuICAgICAgICBleHBlY3QocmVxdWVzdCkudG9FcXVhbCh7XG4gICAgICAgICAgTmFtZXNwYWNlOiAnbWV0cmljTmFtZXNwYWNlJyxcbiAgICAgICAgICBNZXRyaWNEYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE1ldHJpY05hbWU6ICdtZXRyaWNOYW1lJyxcbiAgICAgICAgICAgICAgVmFsdWU6IDAsXG4gICAgICAgICAgICAgIERpbWVuc2lvbnM6IFtcbiAgICAgICAgICAgICAgICB7IE5hbWU6ICdQaXBlbGluZScsIFZhbHVlOiAnc29tZS1waXBlbGluZScgfSxcbiAgICAgICAgICAgICAgICB7IE5hbWU6ICdBY3Rpb24nLCBWYWx1ZTogJ3NvbWUtYWN0aW9uJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBUaW1lc3RhbXA6IG5ldyBEYXRlKDE2MTE3NTE0NDAwMDApLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9taXNlOiAoKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgXykgPT4gcmVzb2x2ZSh7fSkpLFxuICAgICAgICB9O1xuICAgICAgfSkgYXMgYW55O1xuICAgICAgYXdhaXQgaGFuZGxlcihhY3Rpb25FeGVjdXRpb25FdmVudCgnU1VDQ0VFREVEJykpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGlwZWxpbmUgRXhlY3V0aW9uIFN0YXRlIENoYW5nZScsICgpID0+IHtcbiAgICB0ZXN0KCd0aHJvd3MgYW4gZXJyb3IgaWYgc3RhdGUgaXMgbm90IFNVQ0NFRURFRCBvciBGQUlMRUQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGhhbmRsZXIocGlwZWxpbmVFeGVjdXRpb25FdmVudCgnU1RBUlRFRCcpKTtcbiAgICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICAgIGV4cGVjdChlcnIubWVzc2FnZSkudG9NYXRjaCgvVW5zdXBwb3J0ZWQvKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRlc3QoJ3JlcG9ydHMgRkFJTEVEIHN0YXRlIG1ldHJpY3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgIGNsb3Vkd2F0Y2gucHV0TWV0cmljRGF0YSA9IGplc3QuZm4ocmVxdWVzdCA9PiB7XG4gICAgICAgIGV4cGVjdChyZXF1ZXN0KS50b0VxdWFsKHtcbiAgICAgICAgICBOYW1lc3BhY2U6ICdtZXRyaWNOYW1lc3BhY2UnLFxuICAgICAgICAgIE1ldHJpY0RhdGE6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgTWV0cmljTmFtZTogJ21ldHJpY05hbWUnLFxuICAgICAgICAgICAgICBWYWx1ZTogMSxcbiAgICAgICAgICAgICAgRGltZW5zaW9uczogW1xuICAgICAgICAgICAgICAgIHsgTmFtZTogJ1BpcGVsaW5lJywgVmFsdWU6ICdzb21lLXBpcGVsaW5lJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBUaW1lc3RhbXA6IG5ldyBEYXRlKDE2MTE3NTE0NDAwMDApLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9taXNlOiAoKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgXykgPT4gcmVzb2x2ZSh7fSkpLFxuICAgICAgICB9O1xuICAgICAgfSkgYXMgYW55O1xuICAgICAgYXdhaXQgaGFuZGxlcihwaXBlbGluZUV4ZWN1dGlvbkV2ZW50KCdGQUlMRUQnKSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdyZXBvcnRzIFNVQ0NFRURFRCBzdGF0ZSBtZXRyaWNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZXhwZWN0LmFzc2VydGlvbnMoMSk7XG4gICAgICBjbG91ZHdhdGNoLnB1dE1ldHJpY0RhdGEgPSBqZXN0LmZuKHJlcXVlc3QgPT4ge1xuICAgICAgICBleHBlY3QocmVxdWVzdCkudG9FcXVhbCh7XG4gICAgICAgICAgTmFtZXNwYWNlOiAnbWV0cmljTmFtZXNwYWNlJyxcbiAgICAgICAgICBNZXRyaWNEYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE1ldHJpY05hbWU6ICdtZXRyaWNOYW1lJyxcbiAgICAgICAgICAgICAgVmFsdWU6IDAsXG4gICAgICAgICAgICAgIERpbWVuc2lvbnM6IFtcbiAgICAgICAgICAgICAgICB7IE5hbWU6ICdQaXBlbGluZScsIFZhbHVlOiAnc29tZS1waXBlbGluZScgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgVGltZXN0YW1wOiBuZXcgRGF0ZSgxNjExNzUxNDQwMDAwKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvbWlzZTogKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIF8pID0+IHJlc29sdmUoe30pKSxcbiAgICAgICAgfTtcbiAgICAgIH0pIGFzIGFueTtcbiAgICAgIGF3YWl0IGhhbmRsZXIocGlwZWxpbmVFeGVjdXRpb25FdmVudCgnU1VDQ0VFREVEJykpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5mdW5jdGlvbiBhY3Rpb25FeGVjdXRpb25FdmVudChcbiAgc3RhdGU6ICdTVEFSVEVEJyB8ICdDQU5DRUxFRCcgfCAnRkFJTEVEJyB8ICdTVUNDRUVERUQnID0gJ1NVQ0NFRURFRCcsXG4pOiBMYW1iZGFBY3Rpb25TdGF0ZUNoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIHtcbiAgICAnaWQnOiAnc29tZS1pZCcsXG4gICAgJ3ZlcnNpb24nOiAnMScsXG4gICAgJ2FjY291bnQnOiAnMDEyMzQ1Njc4OScsXG4gICAgJ3Jlc291cmNlcyc6IFsnc29tZS1yZXNvdXJjZSddLFxuICAgICd0aW1lJzogJzIwMjEtMDEtMjdUMTI6NDQ6MDBaJyxcbiAgICAnZGV0YWlsLXR5cGUnOiAnQ29kZVBpcGVsaW5lIEFjdGlvbiBFeGVjdXRpb24gU3RhdGUgQ2hhbmdlJyxcbiAgICAncmVnaW9uJzogJ3VzLWVhc3QtMScsXG4gICAgJ3NvdXJjZSc6ICdhd3MuY29kZXBpcGVsaW5lJyxcbiAgICAnZGV0YWlsJzoge1xuICAgICAgYWN0aW9uOiAnc29tZS1hY3Rpb24nLFxuICAgICAgcGlwZWxpbmU6ICdzb21lLXBpcGVsaW5lJyxcbiAgICAgIHN0YXRlLFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBpcGVsaW5lRXhlY3V0aW9uRXZlbnQoXG4gIHN0YXRlOiAnU1RBUlRFRCcgfCAnQ0FOQ0VMRUQnIHwgJ0ZBSUxFRCcgfCAnU1VDQ0VFREVEJyA9ICdTVUNDRUVERUQnLFxuKTogTGFtYmRhRXhlY3V0aW9uU3RhdGVDaGFuZ2VFdmVudCB7XG4gIHJldHVybiB7XG4gICAgJ2lkJzogJ3NvbWUtaWQnLFxuICAgICd2ZXJzaW9uJzogJzEnLFxuICAgICdhY2NvdW50JzogJzAxMjM0NTY3ODknLFxuICAgICdyZXNvdXJjZXMnOiBbJ3NvbWUtcmVzb3VyY2UnXSxcbiAgICAndGltZSc6ICcyMDIxLTAxLTI3VDEyOjQ0OjAwWicsXG4gICAgJ2RldGFpbC10eXBlJzogJ0NvZGVQaXBlbGluZSBQaXBlbGluZSBFeGVjdXRpb24gU3RhdGUgQ2hhbmdlJyxcbiAgICAncmVnaW9uJzogJ3VzLWVhc3QtMScsXG4gICAgJ3NvdXJjZSc6ICdhd3MuY29kZXBpcGVsaW5lJyxcbiAgICAnZGV0YWlsJzoge1xuICAgICAgcGlwZWxpbmU6ICdzb21lLXBpcGVsaW5lJyxcbiAgICAgIHN0YXRlLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@monocdk-experiment/assert/jest';
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
require("@monocdk-experiment/assert/jest");
|
|
4
|
-
const monocdk_1 = require("monocdk");
|
|
5
|
-
const aws_codepipeline_1 = require("monocdk/aws-codepipeline");
|
|
6
|
-
const pipeline_watcher_1 = require("../../lib/pipeline-watcher");
|
|
7
|
-
const props = {
|
|
8
|
-
metricNamespace: 'Namespace',
|
|
9
|
-
failureMetricName: 'FailureMetricName',
|
|
10
|
-
};
|
|
11
|
-
describe('PipelineWatcher', () => {
|
|
12
|
-
test('default', () => {
|
|
13
|
-
const stack = new monocdk_1.Stack();
|
|
14
|
-
const pipeline = aws_codepipeline_1.Pipeline.fromPipelineArn(stack, 'Pipeline', 'arn:aws:codepipeline:us-east-1:012345789:MyPipeline');
|
|
15
|
-
new pipeline_watcher_1.PipelineWatcher(stack, 'Watcher', { pipeline, ...props });
|
|
16
|
-
expect(stack).toHaveResource('AWS::Events::Rule');
|
|
17
|
-
expect(stack).toHaveResource('AWS::Lambda::Function');
|
|
18
|
-
expect(stack).toHaveResource('AWS::CloudWatch::Alarm', {
|
|
19
|
-
ComparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
20
|
-
EvaluationPeriods: 1,
|
|
21
|
-
AlarmDescription: 'Pipeline MyPipeline has failed stages',
|
|
22
|
-
Dimensions: [
|
|
23
|
-
{
|
|
24
|
-
Name: 'Pipeline',
|
|
25
|
-
Value: 'MyPipeline',
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
MetricName: 'FailureMetricName',
|
|
29
|
-
Namespace: 'Namespace',
|
|
30
|
-
Period: 300,
|
|
31
|
-
Statistic: 'Maximum',
|
|
32
|
-
Threshold: 1,
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
test('title option is correctly handled', () => {
|
|
36
|
-
const stack = new monocdk_1.Stack();
|
|
37
|
-
const pipeline = aws_codepipeline_1.Pipeline.fromPipelineArn(stack, 'Pipeline', 'arn:aws:codepipeline:us-east-1:012345789:MyPipeline');
|
|
38
|
-
new pipeline_watcher_1.PipelineWatcher(stack, 'Watcher', { pipeline, title: 'MyTitle', ...props });
|
|
39
|
-
expect(stack).toHaveResource('AWS::CloudWatch::Alarm', {
|
|
40
|
-
AlarmDescription: 'Pipeline MyTitle has failed stages',
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
test('lambda function has the expected policy', () => {
|
|
44
|
-
const stack = new monocdk_1.Stack();
|
|
45
|
-
const pipeline = aws_codepipeline_1.Pipeline.fromPipelineArn(stack, 'Pipeline', 'arn:aws:codepipeline:us-east-1:012345789:MyPipeline');
|
|
46
|
-
new pipeline_watcher_1.PipelineWatcher(stack, 'Watcher', { pipeline, ...props });
|
|
47
|
-
expect(stack).toHaveResourceLike('AWS::IAM::Policy', {
|
|
48
|
-
PolicyDocument: {
|
|
49
|
-
Statement: [
|
|
50
|
-
{
|
|
51
|
-
Action: 'cloudwatch:PutMetricData',
|
|
52
|
-
Condition: {
|
|
53
|
-
StringEquals: {
|
|
54
|
-
'cloudwatch:namespace': 'Namespace',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
Effect: 'Allow',
|
|
58
|
-
Resource: '*',
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
},
|
|
62
|
-
Roles: [
|
|
63
|
-
{
|
|
64
|
-
Ref: 'WatcherPollerServiceRole04A8CDED',
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
test('missing data should be treated as ignore', () => {
|
|
70
|
-
const stack = new monocdk_1.Stack();
|
|
71
|
-
const pipeline = aws_codepipeline_1.Pipeline.fromPipelineArn(stack, 'Pipeline', 'arn:aws:codepipeline:us-east-1:012345789:MyPipeline');
|
|
72
|
-
new pipeline_watcher_1.PipelineWatcher(stack, 'Watcher', { pipeline, ...props });
|
|
73
|
-
expect(stack).toHaveResource('AWS::CloudWatch::Alarm', {
|
|
74
|
-
TreatMissingData: 'ignore',
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2F0Y2hlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQXlDO0FBQ3pDLHFDQUFnQztBQUNoQywrREFBb0Q7QUFDcEQsaUVBQTZEO0FBRTdELE1BQU0sS0FBSyxHQUFHO0lBQ1osZUFBZSxFQUFFLFdBQVc7SUFDNUIsaUJBQWlCLEVBQUUsbUJBQW1CO0NBQ3ZDLENBQUM7QUFFRixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxRQUFRLEdBQUcsMkJBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxxREFBcUQsQ0FBQyxDQUFDO1FBQ3BILElBQUksa0NBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU5RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUU7WUFDckQsa0JBQWtCLEVBQUUsK0JBQStCO1lBQ25ELGlCQUFpQixFQUFFLENBQUM7WUFDcEIsZ0JBQWdCLEVBQUUsdUNBQXVDO1lBQ3pELFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxJQUFJLEVBQUUsVUFBVTtvQkFDaEIsS0FBSyxFQUFFLFlBQVk7aUJBQ3BCO2FBQ0Y7WUFDRCxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFLLEVBQUUsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRywyQkFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLHFEQUFxRCxDQUFDLENBQUM7UUFDcEgsSUFBSSxrQ0FBZSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFaEYsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtZQUNyRCxnQkFBZ0IsRUFBRSxvQ0FBb0M7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1FBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksZUFBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxRQUFRLEdBQUcsMkJBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxxREFBcUQsQ0FBQyxDQUFDO1FBQ3BILElBQUksa0NBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU5RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEVBQUU7WUFDbkQsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxNQUFNLEVBQUUsMEJBQTBCO3dCQUNsQyxTQUFTLEVBQUU7NEJBQ1QsWUFBWSxFQUFFO2dDQUNaLHNCQUFzQixFQUFFLFdBQVc7NkJBQ3BDO3lCQUNGO3dCQUNELE1BQU0sRUFBRSxPQUFPO3dCQUNmLFFBQVEsRUFBRSxHQUFHO3FCQUNkO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsR0FBRyxFQUFFLGtDQUFrQztpQkFDeEM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtRQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLGVBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLDJCQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUscURBQXFELENBQUMsQ0FBQztRQUNwSCxJQUFJLGtDQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFOUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0Btb25vY2RrLWV4cGVyaW1lbnQvYXNzZXJ0L2plc3QnO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSAnbW9ub2Nkay9hd3MtY29kZXBpcGVsaW5lJztcbmltcG9ydCB7IFBpcGVsaW5lV2F0Y2hlciB9IGZyb20gJy4uLy4uL2xpYi9waXBlbGluZS13YXRjaGVyJztcblxuY29uc3QgcHJvcHMgPSB7XG4gIG1ldHJpY05hbWVzcGFjZTogJ05hbWVzcGFjZScsXG4gIGZhaWx1cmVNZXRyaWNOYW1lOiAnRmFpbHVyZU1ldHJpY05hbWUnLFxufTtcblxuZGVzY3JpYmUoJ1BpcGVsaW5lV2F0Y2hlcicsICgpID0+IHtcbiAgdGVzdCgnZGVmYXVsdCcsICgpID0+IHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgIGNvbnN0IHBpcGVsaW5lID0gUGlwZWxpbmUuZnJvbVBpcGVsaW5lQXJuKHN0YWNrLCAnUGlwZWxpbmUnLCAnYXJuOmF3czpjb2RlcGlwZWxpbmU6dXMtZWFzdC0xOjAxMjM0NTc4OTpNeVBpcGVsaW5lJyk7XG4gICAgbmV3IFBpcGVsaW5lV2F0Y2hlcihzdGFjaywgJ1dhdGNoZXInLCB7IHBpcGVsaW5lLCAuLi5wcm9wcyB9KTtcblxuICAgIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoJ0FXUzo6RXZlbnRzOjpSdWxlJyk7XG4gICAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZSgnQVdTOjpMYW1iZGE6OkZ1bmN0aW9uJyk7XG4gICAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpBbGFybScsIHtcbiAgICAgIENvbXBhcmlzb25PcGVyYXRvcjogJ0dyZWF0ZXJUaGFuT3JFcXVhbFRvVGhyZXNob2xkJyxcbiAgICAgIEV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgQWxhcm1EZXNjcmlwdGlvbjogJ1BpcGVsaW5lIE15UGlwZWxpbmUgaGFzIGZhaWxlZCBzdGFnZXMnLFxuICAgICAgRGltZW5zaW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgTmFtZTogJ1BpcGVsaW5lJyxcbiAgICAgICAgICBWYWx1ZTogJ015UGlwZWxpbmUnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIE1ldHJpY05hbWU6ICdGYWlsdXJlTWV0cmljTmFtZScsXG4gICAgICBOYW1lc3BhY2U6ICdOYW1lc3BhY2UnLFxuICAgICAgUGVyaW9kOiAzMDAsXG4gICAgICBTdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIFRocmVzaG9sZDogMSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgndGl0bGUgb3B0aW9uIGlzIGNvcnJlY3RseSBoYW5kbGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSBQaXBlbGluZS5mcm9tUGlwZWxpbmVBcm4oc3RhY2ssICdQaXBlbGluZScsICdhcm46YXdzOmNvZGVwaXBlbGluZTp1cy1lYXN0LTE6MDEyMzQ1Nzg5Ok15UGlwZWxpbmUnKTtcbiAgICBuZXcgUGlwZWxpbmVXYXRjaGVyKHN0YWNrLCAnV2F0Y2hlcicsIHsgcGlwZWxpbmUsIHRpdGxlOiAnTXlUaXRsZScsIC4uLnByb3BzIH0pO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpBbGFybScsIHtcbiAgICAgIEFsYXJtRGVzY3JpcHRpb246ICdQaXBlbGluZSBNeVRpdGxlIGhhcyBmYWlsZWQgc3RhZ2VzJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgnbGFtYmRhIGZ1bmN0aW9uIGhhcyB0aGUgZXhwZWN0ZWQgcG9saWN5JywgKCkgPT4ge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSBQaXBlbGluZS5mcm9tUGlwZWxpbmVBcm4oc3RhY2ssICdQaXBlbGluZScsICdhcm46YXdzOmNvZGVwaXBlbGluZTp1cy1lYXN0LTE6MDEyMzQ1Nzg5Ok15UGlwZWxpbmUnKTtcbiAgICBuZXcgUGlwZWxpbmVXYXRjaGVyKHN0YWNrLCAnV2F0Y2hlcicsIHsgcGlwZWxpbmUsIC4uLnByb3BzIH0pO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoJ0FXUzo6SUFNOjpQb2xpY3knLCB7XG4gICAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBBY3Rpb246ICdjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGEnLFxuICAgICAgICAgICAgQ29uZGl0aW9uOiB7XG4gICAgICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgICAgICdjbG91ZHdhdGNoOm5hbWVzcGFjZSc6ICdOYW1lc3BhY2UnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgIFJlc291cmNlOiAnKicsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBSb2xlczogW1xuICAgICAgICB7XG4gICAgICAgICAgUmVmOiAnV2F0Y2hlclBvbGxlclNlcnZpY2VSb2xlMDRBOENERUQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgnbWlzc2luZyBkYXRhIHNob3VsZCBiZSB0cmVhdGVkIGFzIGlnbm9yZScsICgpID0+IHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgIGNvbnN0IHBpcGVsaW5lID0gUGlwZWxpbmUuZnJvbVBpcGVsaW5lQXJuKHN0YWNrLCAnUGlwZWxpbmUnLCAnYXJuOmF3czpjb2RlcGlwZWxpbmU6dXMtZWFzdC0xOjAxMjM0NTc4OTpNeVBpcGVsaW5lJyk7XG4gICAgbmV3IFBpcGVsaW5lV2F0Y2hlcihzdGFjaywgJ1dhdGNoZXInLCB7IHBpcGVsaW5lLCAuLi5wcm9wcyB9KTtcblxuICAgIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoJ0FXUzo6Q2xvdWRXYXRjaDo6QWxhcm0nLCB7XG4gICAgICBUcmVhdE1pc3NpbmdEYXRhOiAnaWdub3JlJyxcbiAgICB9KTtcbiAgfSk7XG59KTsiXX0=
|