diff --git a/packages/@aws-cdk-testing/cli-integ/lib/cli/run-suite.ts b/packages/@aws-cdk-testing/cli-integ/lib/cli/run-suite.ts index 405031d364d57..311db0e5b3231 100644 --- a/packages/@aws-cdk-testing/cli-integ/lib/cli/run-suite.ts +++ b/packages/@aws-cdk-testing/cli-integ/lib/cli/run-suite.ts @@ -127,7 +127,6 @@ async function main() { ...passWithNoTests ? ['--passWithNoTests'] : [], ...args['test-file'] ? [args['test-file']] : [], ], path.resolve(__dirname, '..', '..', 'resources', 'integ.jest.config.js')); - } finally { await packageSource.cleanup(); } diff --git a/packages/@aws-cdk-testing/cli-integ/lib/cli/stage-distribution.ts b/packages/@aws-cdk-testing/cli-integ/lib/cli/stage-distribution.ts index e23127a588581..2d909e8f367ac 100644 --- a/packages/@aws-cdk-testing/cli-integ/lib/cli/stage-distribution.ts +++ b/packages/@aws-cdk-testing/cli-integ/lib/cli/stage-distribution.ts @@ -52,7 +52,6 @@ async function main() { type: 'string', requiresArg: true, }), async (args) => { - await validateDirectory(args); const repo = await (args.name ? TestRepository.newWithName(args.name) : TestRepository.newRandom()); const usageDir = UsageDir.default(); @@ -71,7 +70,6 @@ async function main() { requiresArg: true, demandOption: true, }), async (args) => { - const repo = TestRepository.existing(args.name); const usageDir = UsageDir.default(); @@ -99,7 +97,6 @@ async function main() { default: true, requiresArg: false, }), async (args) => { - await validateDirectory(args); const repo = await TestRepository.newRandom(); const usageDir = UsageDir.default(); @@ -114,7 +111,6 @@ async function main() { shell: true, show: 'always', }); - } finally { if (args.cleanup) { await repo.delete(); @@ -128,7 +124,6 @@ async function main() { type: 'string', requiresArg: true, }), async (args) => { - const usageDir = UsageDir.default(); let repositoryName = args.name; diff --git a/packages/@aws-cdk-testing/cli-integ/lib/with-aws.ts b/packages/@aws-cdk-testing/cli-integ/lib/with-aws.ts index 405e13fbe1363..e95e547cdb07e 100644 --- a/packages/@aws-cdk-testing/cli-integ/lib/with-aws.ts +++ b/packages/@aws-cdk-testing/cli-integ/lib/with-aws.ts @@ -37,7 +37,6 @@ export function withAws( disableBootstrap: boolean = false, ): (context: A) => Promise { return async (context: A) => { - if (atmosphereEnabled()) { const atmosphere = new AtmosphereClient(atmosphereEndpoint()); const allocation = await atmosphere.acquire({ pool: atmospherePool(), requester: context.name }); @@ -59,7 +58,6 @@ export function withAws( } finally { await atmosphere.release(allocation.id, outcome); } - } else { return regionPool().using(async (region) => { const aws = await AwsClients.forRegion(region, context.output); @@ -68,7 +66,6 @@ export function withAws( return block({ ...context, disableBootstrap, aws }); }); } - }; } diff --git a/packages/@aws-cdk-testing/cli-integ/lib/with-cdk-app.ts b/packages/@aws-cdk-testing/cli-integ/lib/with-cdk-app.ts index 966becf2c2f64..22675477b3cc7 100644 --- a/packages/@aws-cdk-testing/cli-integ/lib/with-cdk-app.ts +++ b/packages/@aws-cdk-testing/cli-integ/lib/with-cdk-app.ts @@ -331,7 +331,6 @@ export class TestFixture extends ShellHelper { public readonly output: NodeJS.WritableStream, public readonly aws: AwsClients, public readonly randomString: string) { - super(integTestDir, output); this.packages = packageSourceInSubprocess(); @@ -566,11 +565,9 @@ export class TestFixture extends ShellHelper { * Cleanup leftover stacks and bootstrapped resources */ public async dispose(success: boolean) { - // when using the atmosphere service, it does resource cleanup on our behalf // so we don't have to wait for it. if (!atmosphereEnabled()) { - const stacksToDelete = await this.deleteableStacks(this.stackNamePrefix); this.sortBootstrapStacksToTheEnd(stacksToDelete); @@ -603,7 +600,6 @@ export class TestFixture extends ShellHelper { for (const bucket of this.bucketsToDelete) { await this.aws.deleteBucket(bucket); } - } // If the tests completed successfully, happily delete the fixture @@ -644,7 +640,6 @@ export class TestFixture extends ShellHelper { private sortBootstrapStacksToTheEnd(stacks: Stack[]) { stacks.sort((a, b) => { - if (!a.StackName || !b.StackName) { throw new Error('Stack names do not exists. These are required for sorting the bootstrap stacks.'); } diff --git a/packages/@aws-cdk-testing/cli-integ/package.json b/packages/@aws-cdk-testing/cli-integ/package.json index 15260cf813ff2..2436c0830b5fd 100644 --- a/packages/@aws-cdk-testing/cli-integ/package.json +++ b/packages/@aws-cdk-testing/cli-integ/package.json @@ -87,4 +87,4 @@ "publishConfig": { "tag": "latest" } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/bootstrapping.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/bootstrapping.integtest.ts index 09992e4d1d798..0d1de5f1f0b62 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/bootstrapping.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/bootstrapping.integtest.ts @@ -372,7 +372,6 @@ integTest('can remove customPermissionsBoundary', withoutBootstrap(async (fixtur throw new Error('Role not found'); } expect(role.Role.PermissionsBoundary).toBeUndefined(); - } finally { if (policyArn) { await fixture.aws.iam.send(new DeletePolicyCommand({ PolicyArn: policyArn })); diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index d167f3288263b..afa146d1633a6 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1264,7 +1264,6 @@ integTest( integTest( 'cdk diff doesnt show resource metadata changes', withDefaultFixture(async (fixture) => { - // GIVEN - small initial stack with default resource metadata await fixture.cdkDeploy('metadata'); @@ -1284,7 +1283,6 @@ integTest( integTest( 'cdk diff shows resource metadata changes with --no-change-set', withDefaultFixture(async (fixture) => { - // GIVEN - small initial stack with default resource metadata await fixture.cdkDeploy('metadata'); @@ -2838,7 +2836,6 @@ integTest( ); integTest('cdk notices are displayed correctly', withDefaultFixture(async (fixture) => { - const cache = { expiration: 4125963264000, // year 2100 so we never overwrite the cache notices: [ @@ -2872,7 +2869,6 @@ integTest('cdk notices are displayed correctly', withDefaultFixture(async (fixtu // assert dynamic environments are resolved expect(output).toContain(`AffectedEnvironments:`); - })); integTest('requests go through a proxy when configured', diff --git a/packages/@aws-cdk-testing/cli-integ/tests/init-javascript/init-javascript.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/init-javascript/init-javascript.integtest.ts index f0ff5ed37ad5d..b189df2b1e217 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/init-javascript/init-javascript.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/init-javascript/init-javascript.integtest.ts @@ -55,5 +55,4 @@ new TestjsStack(app, 'TestjsStack'); await fs.writeJson(path.join(context.integTestDir, 'cdk.json'), cdkJson); await shell.shell(['cdk', 'synth']); - }))); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-autoscaling-hooktargets/test/integ.queue-hook.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-autoscaling-hooktargets/test/integ.queue-hook.ts index 90cdd1c0d9c1e..966797d97fd87 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-autoscaling-hooktargets/test/integ.queue-hook.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-autoscaling-hooktargets/test/integ.queue-hook.ts @@ -43,7 +43,6 @@ class TestStack extends cdk.Stack { notificationTarget: new QueueHook(queue), }); this.hookName = hook.lifecycleHookName; - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codeguruprofiler/test/integ.profiler-group.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-codeguruprofiler/test/integ.profiler-group.ts index 0895a2f28bf39..3f4e54ec69405 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codeguruprofiler/test/integ.profiler-group.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codeguruprofiler/test/integ.profiler-group.ts @@ -18,7 +18,6 @@ class ProfilerGroupIntegrationTest extends Stack { assumedBy: new AccountRootPrincipal(), }); profilingGroup.grantRead(readAppRole); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy-ff.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy-ff.ts index 7573b718a6b77..1f28245a6b5fe 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy-ff.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy-ff.ts @@ -36,7 +36,6 @@ class TestStack extends Stack { region: 'eu-west-2', }], }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy.ts index 024aeaff698e0..f3ff5f1ef4cd8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.policy.ts @@ -33,7 +33,6 @@ class TestStack extends Stack { removalPolicy: RemovalPolicy.DESTROY, resourcePolicy: docu, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.warm-throughput.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.warm-throughput.ts index 3bbefa857e1c7..1943448d8b9fc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.warm-throughput.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb-v2.warm-throughput.ts @@ -37,7 +37,6 @@ export class TestStack extends Stack { ], removalPolicy: RemovalPolicy.DESTROY, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb.warm-throughput.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb.warm-throughput.ts index 9f1fefd983efb..ec6f68cf3e64c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb.warm-throughput.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.dynamodb.warm-throughput.ts @@ -29,7 +29,6 @@ export class TestStack extends Stack { writeUnitsPerSecond: 5000, }, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js similarity index 77% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js index 12f017f21494c..5a86242674505 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -103,4 +103,4 @@ function redactDataFromPayload(payload) { class Retry extends Error { } exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEsVUFBRyxFQUFDLDRDQUE0QyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7U0FBTSxDQUFDO1FBQ04sSUFBQSxVQUFHLEVBQUMsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztJQUNGLE1BQU0sSUFBQSxrQkFBVyxFQUFDLFlBQVksRUFBRSxzQkFBVyxDQUFDLENBQUM7UUFDM0MsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1FBQzVCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztTQUMxRDtLQUNGLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVVLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsaUJBQWlCO0FBRXZELFNBQWdCLFdBQVcsQ0FBQyxLQUFvQztJQUM5RCxPQUFPLEtBQUssRUFBRSxLQUFVLEVBQUUsRUFBRTtRQUMxQix1RUFBdUU7UUFDdkUsdUVBQXVFO1FBQ3ZFLGFBQWE7UUFDYixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyx3Q0FBZ0MsRUFBRSxDQUFDO1lBQ3BHLElBQUEsVUFBRyxFQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDN0QsTUFBTSxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIscUNBQXFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUN2QixJQUFBLFVBQUcsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzlCLHlFQUF5RTtnQkFDekUsbUVBQW1FO2dCQUNuRSx3RUFBd0U7Z0JBQ3hFLHFFQUFxRTtnQkFDckUsZ0NBQWdDO2dCQUNoQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQ25DLElBQUEsVUFBRyxFQUFDLDRHQUE0RyxDQUFDLENBQUM7b0JBQ2xILEtBQUssQ0FBQyxrQkFBa0IsR0FBRyx3Q0FBZ0MsQ0FBQztnQkFDOUQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGtFQUFrRTtvQkFDbEUsNkRBQTZEO29CQUM3RCxJQUFBLFVBQUcsRUFBQyw2REFBNkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkgsQ0FBQztZQUNILENBQUM7WUFFRCxtRUFBbUU7WUFDbkUsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDcEMsTUFBTSxFQUFFLDBCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzthQUNqRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLE9BQXdCO0lBQzVELDJDQUEyQztJQUMzQyxNQUFNLGVBQWUsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFN0UsK0NBQStDO0lBQy9DLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json index e2c0368e4c480..5f8c3d0616f2e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json @@ -14,20 +14,20 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "faf0712a1359d1e87541a9e7b4d1a3afc6f999593c695d9ae90698b6b51e9168": { + "9f9e7436ed98342a4f1f0b598ef9976aa52d9ad4f145e5ef3b06928a267551fd": { "source": { "path": "awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json", "packaging": "file" @@ -35,12 +35,12 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "faf0712a1359d1e87541a9e7b4d1a3afc6f999593c695d9ae90698b6b51e9168.json", + "objectKey": "9f9e7436ed98342a4f1f0b598ef9976aa52d9ad4f145e5ef3b06928a267551fd.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "f7a03e8ec38ea1a6e05e4296978e60b99ee349d3f9e9311b1b71b6a2b909c4cc": { + "762db13f1a00b8f830d9abd4721ad1280fab279e84a33f1fa954091188fae226": { "source": { "path": "aws-cdk-dynamodb-global-replicas-provisioned.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f7a03e8ec38ea1a6e05e4296978e60b99ee349d3f9e9311b1b71b6a2b909c4cc.json", + "objectKey": "762db13f1a00b8f830d9abd4721ad1280fab279e84a33f1fa954091188fae226.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.template.json index aa3a265869e59..b2f70261ca29a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.template.json @@ -291,7 +291,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/faf0712a1359d1e87541a9e7b4d1a3afc6f999593c695d9ae90698b6b51e9168.json" + "/9f9e7436ed98342a4f1f0b598ef9976aa52d9ad4f145e5ef3b06928a267551fd.json" ] ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json index fe252bd796a66..bad6dcab28573 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json @@ -444,7 +444,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { @@ -589,7 +589,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { @@ -731,7 +731,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/manifest.json index 572484dc155a7..52c0c25140281 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f7a03e8ec38ea1a6e05e4296978e60b99ee349d3f9e9311b1b71b6a2b909c4cc.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/762db13f1a00b8f830d9abd4721ad1280fab279e84a33f1fa954091188fae226.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/tree.json index bf38addddae33..3f47e7e3f8123 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global-replicas-provisioned.js.snapshot/tree.json @@ -972,7 +972,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1201,7 +1201,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1427,7 +1427,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (aws-cdk-dynamodb-global-replicas-provisioned/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1793,7 +1793,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/faf0712a1359d1e87541a9e7b4d1a3afc6f999593c695d9ae90698b6b51e9168.json" + "/9f9e7436ed98342a4f1f0b598ef9976aa52d9ad4f145e5ef3b06928a267551fd.json" ] ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js similarity index 77% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js index 12f017f21494c..5a86242674505 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -103,4 +103,4 @@ function redactDataFromPayload(payload) { class Retry extends Error { } exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEsVUFBRyxFQUFDLDRDQUE0QyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7U0FBTSxDQUFDO1FBQ04sSUFBQSxVQUFHLEVBQUMsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztJQUNGLE1BQU0sSUFBQSxrQkFBVyxFQUFDLFlBQVksRUFBRSxzQkFBVyxDQUFDLENBQUM7UUFDM0MsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1FBQzVCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztTQUMxRDtLQUNGLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVVLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsaUJBQWlCO0FBRXZELFNBQWdCLFdBQVcsQ0FBQyxLQUFvQztJQUM5RCxPQUFPLEtBQUssRUFBRSxLQUFVLEVBQUUsRUFBRTtRQUMxQix1RUFBdUU7UUFDdkUsdUVBQXVFO1FBQ3ZFLGFBQWE7UUFDYixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyx3Q0FBZ0MsRUFBRSxDQUFDO1lBQ3BHLElBQUEsVUFBRyxFQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDN0QsTUFBTSxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIscUNBQXFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUN2QixJQUFBLFVBQUcsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzlCLHlFQUF5RTtnQkFDekUsbUVBQW1FO2dCQUNuRSx3RUFBd0U7Z0JBQ3hFLHFFQUFxRTtnQkFDckUsZ0NBQWdDO2dCQUNoQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQ25DLElBQUEsVUFBRyxFQUFDLDRHQUE0RyxDQUFDLENBQUM7b0JBQ2xILEtBQUssQ0FBQyxrQkFBa0IsR0FBRyx3Q0FBZ0MsQ0FBQztnQkFDOUQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGtFQUFrRTtvQkFDbEUsNkRBQTZEO29CQUM3RCxJQUFBLFVBQUcsRUFBQyw2REFBNkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkgsQ0FBQztZQUNILENBQUM7WUFFRCxtRUFBbUU7WUFDbkUsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDcEMsTUFBTSxFQUFFLDBCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzthQUNqRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLE9BQXdCO0lBQzVELDJDQUEyQztJQUMzQyxNQUFNLGVBQWUsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFN0UsK0NBQStDO0lBQy9DLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.assets.json index f9b2cd3d7a07b..e94a0578c299f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "654051b03fb3684cba885b9015a42237db092a98a4fd2ffc75f07919dde1aca4": { "source": { @@ -15,21 +15,21 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-eu-west-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "region": "eu-west-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" } } }, - "4d7e876e7ecbd787c769dbfe05917a92bbc63c8b98b3a2df7e1241181df05af3": { + "5d87eb5120979a918240100326d776a84cf6f760c983751bed4dbfd01e0727d7": { "source": { "path": "cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json", "packaging": "file" @@ -37,13 +37,13 @@ "destinations": { "current_account-eu-west-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", - "objectKey": "4d7e876e7ecbd787c769dbfe05917a92bbc63c8b98b3a2df7e1241181df05af3.json", + "objectKey": "5d87eb5120979a918240100326d776a84cf6f760c983751bed4dbfd01e0727d7.json", "region": "eu-west-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" } } }, - "ec56f75e99fdad3fc57d97dd801c0407cf59d417ca10eed91a89137df3c9fe4e": { + "e88f7dc799488ac70517b9e0605a810c816eeda66c444953274ad513c4595916": { "source": { "path": "cdk-dynamodb-global-20191121.template.json", "packaging": "file" @@ -51,7 +51,7 @@ "destinations": { "current_account-eu-west-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", - "objectKey": "ec56f75e99fdad3fc57d97dd801c0407cf59d417ca10eed91a89137df3c9fe4e.json", + "objectKey": "e88f7dc799488ac70517b9e0605a810c816eeda66c444953274ad513c4595916.json", "region": "eu-west-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.template.json index f19cba1656208..670d02b03ab24 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk-dynamodb-global-20191121.template.json @@ -246,7 +246,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "/4d7e876e7ecbd787c769dbfe05917a92bbc63c8b98b3a2df7e1241181df05af3.json" + "/5d87eb5120979a918240100326d776a84cf6f760c983751bed4dbfd01e0727d7.json" ] ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk.out index c6e612584e352..91e1a8b9901d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"38.0.1"} \ No newline at end of file +{"version":"39.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json index bb76c37deb310..583a1697fcd8e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json @@ -300,7 +300,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { @@ -437,7 +437,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { @@ -571,7 +571,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121testDefaultTestDeployAssert469C3611.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121testDefaultTestDeployAssert469C3611.assets.json index d8f80122f5615..a0ec03a5cc475 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121testDefaultTestDeployAssert469C3611.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/cdkdynamodbglobal20191121testDefaultTestDeployAssert469C3611.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/integ.json index 0cab16bb8c2fc..13aa54ae8e81a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "testCases": { "cdk-dynamodb-global-20191121-test/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/manifest.json index 3ce9d93e29ef5..25cb0a13c0d8e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "artifacts": { "cdk-dynamodb-global-20191121.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-eu-west-1", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-eu-west-1", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1/ec56f75e99fdad3fc57d97dd801c0407cf59d417ca10eed91a89137df3c9fe4e.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1/e88f7dc799488ac70517b9e0605a810c816eeda66c444953274ad513c4595916.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/tree.json index 979f0ec66eb30..42c7bd5d769ab 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.global.js.snapshot/tree.json @@ -859,7 +859,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1080,7 +1080,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1298,7 +1298,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (cdk-dynamodb-global-20191121/@aws-cdk--aws-dynamodb.ReplicaProvider/Provider)", "environment": { @@ -1652,7 +1652,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1" }, - "/4d7e876e7ecbd787c769dbfe05917a92bbc63c8b98b3a2df7e1241181df05af3.json" + "/5d87eb5120979a918240100326d776a84cf6f760c983751bed4dbfd01e0727d7.json" ] ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-flow-logs-customformat.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-flow-logs-customformat.ts index cc6cd4608cc8f..7e26a7654b948 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-flow-logs-customformat.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-flow-logs-customformat.ts @@ -79,7 +79,6 @@ class TestStack extends Stack { LogFormat.SRC_PORT, ], }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.ts index 859eb7296c357..f781dc474a627 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.ts @@ -65,7 +65,6 @@ class EksClusterAlbControllerStack extends Stack { new CfnOutput(this, 'IngressPingerResponse', { value: pinger.response, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.ts index d37a5f75b786f..893723c93b531 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.ts @@ -156,7 +156,6 @@ class EksClusterStack extends Stack { clusterName: cluster.clusterName, }, }); - } } const app = new cdk8s.App(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.ts index e4d9f11018043..80ae3425ee965 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.ts @@ -182,7 +182,6 @@ class EksClusterStack extends Stack { } private assertSimpleCdk8sChart() { - class Chart extends cdk8s.Chart { constructor(scope: constructs.Construct, ns: string, cluster: eks.ICluster) { super(scope, ns); @@ -192,7 +191,6 @@ class EksClusterStack extends Stack { clusterName: cluster.clusterName, }, }); - } } const app = new cdk8s.App(); @@ -319,7 +317,6 @@ class EksClusterStack extends Stack { minCapacity: 2, machineImageType: eks.MachineImageType.BOTTLEROCKET, }); - } private assertCapacityX86() { // add some x86_64 capacity to the cluster. The IAM instance role will @@ -344,7 +341,6 @@ class EksClusterStack extends Stack { this.cluster.addFargateProfile('default', { selectors: [{ namespace: 'default' }], }); - } } @@ -369,7 +365,6 @@ const stack = new EksClusterStack(app, 'aws-cdk-eks-cluster-ipv6-test', { }); if (process.env.CDK_INTEG_ACCOUNT !== '12345678') { - // only validate if we are about to actually deploy. // TODO: better way to determine this, right now the 'CDK_INTEG_ACCOUNT' seems like the only way. @@ -380,7 +375,6 @@ if (process.env.CDK_INTEG_ACCOUNT !== '12345678') { if (!supportedRegions.includes(stack.region)) { throw new Error(`region (${stack.region}) must be configured to one of: ${supportedRegions}`); } - } new integ.IntegTest(app, 'aws-cdk-eks-cluster-ipv6', { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-private-endpoint.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-private-endpoint.ts index b81444766badc..cc80a3ac2ddfc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-private-endpoint.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-private-endpoint.ts @@ -38,7 +38,6 @@ class EksClusterStack extends Stack { name: 'config-map', }, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.ts index fabf35f884ab5..bc56cd78eefd3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.ts @@ -153,7 +153,6 @@ class EksClusterStack extends Stack { } private assertSimpleCdk8sChart() { - class Chart extends cdk8s.Chart { constructor(scope: constructs.Construct, ns: string, cluster: eks.ICluster) { super(scope, ns); @@ -163,7 +162,6 @@ class EksClusterStack extends Stack { clusterName: cluster.clusterName, }, }); - } } const app = new cdk8s.App(); @@ -311,7 +309,6 @@ class EksClusterStack extends Stack { minCapacity: 2, machineImageType: eks.MachineImageType.BOTTLEROCKET, }); - } private assertCapacityX86() { // add some x86_64 capacity to the cluster. The IAM instance role will @@ -336,7 +333,6 @@ class EksClusterStack extends Stack { this.cluster.addFargateProfile('default', { selectors: [{ namespace: 'default' }], }); - } } @@ -361,7 +357,6 @@ const stack = new EksClusterStack(app, 'aws-cdk-eks-cluster', { }); if (process.env.CDK_INTEG_ACCOUNT !== '12345678') { - // only validate if we are about to actually deploy. // TODO: better way to determine this, right now the 'CDK_INTEG_ACCOUNT' seems like the only way. @@ -372,7 +367,6 @@ if (process.env.CDK_INTEG_ACCOUNT !== '12345678') { if (!supportedRegions.includes(stack.region)) { throw new Error(`region (${stack.region}) must be configured to one of: ${supportedRegions}`); } - } new integ.IntegTest(app, 'aws-cdk-eks-cluster-integ', { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb-target-group-cross-zone.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb-target-group-cross-zone.ts index 4ac8f9aa9e620..e1ac30f969cd6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb-target-group-cross-zone.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb-target-group-cross-zone.ts @@ -14,7 +14,6 @@ class TargetGroupCrossZoneStack extends Stack { targetType: elbv2.TargetType.INSTANCE, crossZoneEnabled: true, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.nlb-target-group-cross-zone.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.nlb-target-group-cross-zone.ts index 8215c028d6134..17080be1efc70 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.nlb-target-group-cross-zone.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.nlb-target-group-cross-zone.ts @@ -14,7 +14,6 @@ class TargetGroupCrossZoneStack extends Stack { targetType: elbv2.TargetType.INSTANCE, crossZoneEnabled: true, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/appsync/integ.appsync-events.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/appsync/integ.appsync-events.ts index cc62b0faacb60..4bfef726fe2d9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/appsync/integ.appsync-events.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/appsync/integ.appsync-events.ts @@ -41,7 +41,6 @@ export const response = (ctx) => ctx.args.message }), deadLetterQueue: queue, })); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/aws-api/integ.aws-api.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/aws-api/integ.aws-api.ts index b294afb292101..773c9e4f26546 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/aws-api/integ.aws-api.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/aws-api/integ.aws-api.ts @@ -90,7 +90,6 @@ class AwsApi extends cdk.Stack { Plaintext: events.EventField.fromPath('$.detail.Plaintext'), }, })); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.ts index 5d2fa6446f829..d49e2cce974ab 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.ts @@ -53,7 +53,6 @@ class GaStack extends Stack { }); alb.connections.allowFrom(group.connectionsPeer('Peer', vpc), ec2.Port.tcp(443)); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/ClusterSnapshotIntegDefaultTestDeployAssert647D4685.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/ClusterSnapshotIntegDefaultTestDeployAssert647D4685.assets.json index 59a3b16cd98ea..1d9ac37d3b05a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/ClusterSnapshotIntegDefaultTestDeployAssert647D4685.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/ClusterSnapshotIntegDefaultTestDeployAssert647D4685.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js similarity index 77% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js index 12f017f21494c..5a86242674505 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -103,4 +103,4 @@ function redactDataFromPayload(payload) { class Retry extends Error { } exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.assets.json index 5d89e47c6447f..7a18d77f7ef7c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "7531d12b1fd853bba70fda1369698d729b1ef9986621d19d7cbdbf9648a32ba5": { "source": { @@ -14,20 +14,20 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "ea570d2bdffbdf45cb87c7ec32cd1f79c8afc6f2c7df73881bc5153d3762c23f": { + "94a049b3839eccda570b3c06d2537684d417f05038c6400eed1ecd5120ba59a6": { "source": { "path": "cdk-integ-cluster-snapshot.template.json", "packaging": "file" @@ -35,7 +35,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ea570d2bdffbdf45cb87c7ec32cd1f79c8afc6f2c7df73881bc5153d3762c23f.json", + "objectKey": "94a049b3839eccda570b3c06d2537684d417f05038c6400eed1ecd5120ba59a6.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.template.json index 84435e7df6451..c211fcbbcf7e2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk-integ-cluster-snapshot.template.json @@ -858,7 +858,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "Environment": { @@ -1003,7 +1003,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "Environment": { @@ -1145,7 +1145,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk.out index c6e612584e352..91e1a8b9901d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"38.0.1"} \ No newline at end of file +{"version":"39.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/integ.json index 24a71573d99c7..e86fadf606d33 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "testCases": { "ClusterSnapshotInteg/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/manifest.json index fff240d814403..85d92ea1c8187 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "artifacts": { "cdk-integ-cluster-snapshot.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/ea570d2bdffbdf45cb87c7ec32cd1f79c8afc6f2c7df73881bc5153d3762c23f.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/94a049b3839eccda570b3c06d2537684d417f05038c6400eed1ecd5120ba59a6.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/tree.json index 7cd8619316a05..b14e6db405b9e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-snapshot.js.snapshot/tree.json @@ -1442,7 +1442,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "environment": { @@ -1671,7 +1671,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "environment": { @@ -1897,7 +1897,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", "environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-deployment/test/integ.bucket-deployment-cloudfront.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-deployment/test/integ.bucket-deployment-cloudfront.ts index b174d926bbc0a..d6542e71ff49c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-deployment/test/integ.bucket-deployment-cloudfront.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-deployment/test/integ.bucket-deployment-cloudfront.ts @@ -31,7 +31,6 @@ class TestBucketDeployment extends cdk.Stack { distributionPaths: ['/images/*.png'], retainOnDelete: false, // default is true, which will block the integration test cleanup }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.ts index 7b8e9c989b707..3fd933409960e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.ts @@ -15,7 +15,6 @@ class MyStack extends cdk.Stack { bucket.addObjectCreatedNotification(new s3n.SnsDestination(objectCreateTopic)); bucket.addObjectRemovedNotification(new s3n.SnsDestination(objectRemovedTopic), { prefix: 'foo/', suffix: '.txt' }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ses/test/integ.configuration-set.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-ses/test/integ.configuration-set.ts index 43876905fd3cd..6c22a4ecba544 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ses/test/integ.configuration-set.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ses/test/integ.configuration-set.ts @@ -25,7 +25,6 @@ class TestStack extends Stack { defaultValue: 'no_domain', }]), }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ssm/test/integ.parameter-store-string-sharing.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-ssm/test/integ.parameter-store-string-sharing.ts index c6d6ff331b126..b786dab4efba5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ssm/test/integ.parameter-store-string-sharing.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ssm/test/integ.parameter-store-string-sharing.ts @@ -62,7 +62,6 @@ class ProducingStack extends cdk.Stack { new cdk.CfnOutput(this, 'ParameterArn', { value: this.parameterArn }); share.node.addDependency(publicParameter); - } } class AcceptingStack extends cdk.Stack { @@ -88,7 +87,6 @@ class AcceptingStack extends cdk.Stack { resourceShareInvitationArn, }, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-dynamic-worker-type.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-dynamic-worker-type.ts index d96fb164ac711..07428239a3605 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-dynamic-worker-type.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-dynamic-worker-type.ts @@ -56,7 +56,6 @@ class GlueStartJobRunWorkerStack extends cdk.Stack { this.stateMachine = new sfn.StateMachine(this, 'State Machine', { definition: sfn.Chain.start(startTask).next(jobTask).next(endTask), }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-execution-class.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-execution-class.ts index d0041e60ee967..d59b4446f9840 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-execution-class.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-execution-class.ts @@ -53,7 +53,6 @@ class GlueStartJobRunExecutionClassStack extends cdk.Stack { this.stateMachine = new sfn.StateMachine(this, 'State Machine', { definition: sfn.Chain.start(startTask).next(jobTask).next(endTask), }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-worker.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-worker.ts index 381ec124275d4..acc9cd89b7dfc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-worker.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/glue/integ.start-job-run-worker.ts @@ -56,7 +56,6 @@ class GlueStartJobRunWorkerStack extends cdk.Stack { this.stateMachine = new sfn.StateMachine(this, 'State Machine', { definition: sfn.Chain.start(startTask).next(jobTask).next(endTask), }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.distributed-map.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.distributed-map.ts index 07287bb5034db..7f7a33da53d8d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.distributed-map.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.distributed-map.ts @@ -33,7 +33,6 @@ class DistributedMapStack extends cdk.Stack { this.stateMachine = new sfn.StateMachine(this, 'StateMachine', { definition: distributedMap, }); - } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/core/test/tree-metadata.test.ts b/packages/@aws-cdk-testing/framework-integ/test/core/test/tree-metadata.test.ts index 74556391123b5..462bbba15ff71 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/core/test/tree-metadata.test.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/core/test/tree-metadata.test.ts @@ -130,7 +130,6 @@ describe('tree metadata', () => { }, }), }); - }); test('tree metadata has construct class & version in there', () => { @@ -184,7 +183,6 @@ describe('tree metadata', () => { }), }), }); - }); test('token resolution & cfn parameter', () => { @@ -241,7 +239,6 @@ describe('tree metadata', () => { }, }), }); - }); test('cross-stack tokens', () => { @@ -393,7 +390,6 @@ describe('tree metadata', () => { }, }), }); - }); }); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/IntegProviderWithWaiterStateMachineDefaultTestDeployAssert2D0F0427.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/IntegProviderWithWaiterStateMachineDefaultTestDeployAssert2D0F0427.assets.json index dd8dddbb818ec..927e6584e4cf0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/IntegProviderWithWaiterStateMachineDefaultTestDeployAssert2D0F0427.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/IntegProviderWithWaiterStateMachineDefaultTestDeployAssert2D0F0427.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js similarity index 77% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js index 12f017f21494c..5a86242674505 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -103,4 +103,4 @@ function redactDataFromPayload(payload) { class Retry extends Error { } exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/cdk.out index c6e612584e352..91e1a8b9901d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"38.0.1"} \ No newline at end of file +{"version":"39.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.assets.json index 78165bcd262e5..625985f9902bc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "a1acfc2b5f4f6b183fd2bb9863f486bc5edef6a357b355a070d9a0e502df418c": { "source": { @@ -14,20 +14,20 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "039d74f2f521fb2bf79815cc04d372da77ae2cdbe195d8d88673da37d3d63118": { + "002c17f9704c91cc0a9e7837275b66a0ba4c0da562739bc39d9e887bd0a46178": { "source": { "path": "integ-provider-with-waiter-state-machine.template.json", "packaging": "file" @@ -35,7 +35,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "039d74f2f521fb2bf79815cc04d372da77ae2cdbe195d8d88673da37d3d63118.json", + "objectKey": "002c17f9704c91cc0a9e7837275b66a0ba4c0da562739bc39d9e887bd0a46178.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.template.json index 8a8abe297d746..48575e94c1aa6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ-provider-with-waiter-state-machine.template.json @@ -770,7 +770,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (integ-provider-with-waiter-state-machine/MyProvider)", "Environment": { @@ -961,7 +961,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (integ-provider-with-waiter-state-machine/MyProvider)", "Environment": { @@ -1149,7 +1149,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (integ-provider-with-waiter-state-machine/MyProvider)", "Environment": { @@ -1492,7 +1492,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "Environment": { @@ -1683,7 +1683,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "Environment": { @@ -1871,7 +1871,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ.json index c1860a1d1178b..7af45efebb873 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "testCases": { "IntegProviderWithWaiterStateMachine/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/manifest.json index d7354d8e98131..f9a3f59c98f54 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "artifacts": { "integ-provider-with-waiter-state-machine.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/039d74f2f521fb2bf79815cc04d372da77ae2cdbe195d8d88673da37d3d63118.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/002c17f9704c91cc0a9e7837275b66a0ba4c0da562739bc39d9e887bd0a46178.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/tree.json index f45f957f217b3..9e18cf78eefa1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider-with-waiter-state-machine.js.snapshot/tree.json @@ -1151,7 +1151,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (integ-provider-with-waiter-state-machine/MyProvider)", "environment": { @@ -1410,7 +1410,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (integ-provider-with-waiter-state-machine/MyProvider)", "environment": { @@ -1666,7 +1666,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (integ-provider-with-waiter-state-machine/MyProvider)", "environment": { @@ -2145,7 +2145,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "environment": { @@ -2404,7 +2404,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "environment": { @@ -2660,7 +2660,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (integ-provider-with-waiter-state-machine/MyProviderWithoutLogOptions)", "environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/IntegProviderFrameworkTestDefaultTestDeployAssertAEF9AF2E.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/IntegProviderFrameworkTestDefaultTestDeployAssertAEF9AF2E.assets.json index 83b98f259cd1f..dd44c35f73a2d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/IntegProviderFrameworkTestDefaultTestDeployAssertAEF9AF2E.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/IntegProviderFrameworkTestDefaultTestDeployAssertAEF9AF2E.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js new file mode 100644 index 0000000000000..5a86242674505 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -0,0 +1,106 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; +exports.submitResponse = submitResponse; +exports.safeHandler = safeHandler; +exports.redactDataFromPayload = redactDataFromPayload; +/* eslint-disable max-len */ +/* eslint-disable no-console */ +const url = require("url"); +const outbound_1 = require("./outbound"); +const util_1 = require("./util"); +exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; +exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; +async function submitResponse(status, event, options = {}) { + const json = { + Status: status, + Reason: options.reason || status, + StackId: event.StackId, + RequestId: event.RequestId, + PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, + LogicalResourceId: event.LogicalResourceId, + NoEcho: options.noEcho, + Data: event.Data, + }; + const responseBody = JSON.stringify(json); + const parsedUrl = url.parse(event.ResponseURL); + const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; + if (options?.noEcho) { + (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); + } + else { + (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); + } + const retryOptions = { + attempts: 5, + sleep: 1000, + }; + await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: 'PUT', + headers: { + 'content-type': '', + 'content-length': Buffer.byteLength(responseBody, 'utf8'), + }, + }, responseBody); +} +exports.includeStackTraces = true; // for unit tests +function safeHandler(block) { + return async (event) => { + // ignore DELETE event when the physical resource ID is the marker that + // indicates that this DELETE is a subsequent DELETE to a failed CREATE + // operation. + if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { + (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); + await submitResponse('SUCCESS', event); + return; + } + try { + await block(event); + } + catch (e) { + // tell waiter state machine to retry + if (e instanceof Retry) { + (0, util_1.log)('retry requested by handler'); + throw e; + } + if (!event.PhysicalResourceId) { + // special case: if CREATE fails, which usually implies, we usually don't + // have a physical resource id. in this case, the subsequent DELETE + // operation does not have any meaning, and will likely fail as well. to + // address this, we use a marker so the provider framework can simply + // ignore the subsequent DELETE. + if (event.RequestType === 'Create') { + (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); + event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; + } + else { + // otherwise, if PhysicalResourceId is not specified, something is + // terribly wrong because all other events should have an ID. + (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); + } + } + // this is an actual error, fail the activity altogether and exist. + await submitResponse('FAILED', event, { + reason: exports.includeStackTraces ? e.stack : e.message, + }); + } + }; +} +function redactDataFromPayload(payload) { + // Create a deep copy of the payload object + const redactedPayload = JSON.parse(JSON.stringify(payload)); + // Redact the data in the copied payload object + if (redactedPayload.Data) { + const keys = Object.keys(redactedPayload.Data); + for (const key of keys) { + redactedPayload.Data[key] = '*****'; + } + } + return redactedPayload; +} +class Retry extends Error { +} +exports.Retry = Retry; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js deleted file mode 100644 index 12f017f21494c..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; -exports.submitResponse = submitResponse; -exports.safeHandler = safeHandler; -exports.redactDataFromPayload = redactDataFromPayload; -/* eslint-disable max-len */ -/* eslint-disable no-console */ -const url = require("url"); -const outbound_1 = require("./outbound"); -const util_1 = require("./util"); -exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; -exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; -async function submitResponse(status, event, options = {}) { - const json = { - Status: status, - Reason: options.reason || status, - StackId: event.StackId, - RequestId: event.RequestId, - PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, - LogicalResourceId: event.LogicalResourceId, - NoEcho: options.noEcho, - Data: event.Data, - }; - const responseBody = JSON.stringify(json); - const parsedUrl = url.parse(event.ResponseURL); - const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; - if (options?.noEcho) { - (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); - } - else { - (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); - } - const retryOptions = { - attempts: 5, - sleep: 1000, - }; - await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: 'PUT', - headers: { - 'content-type': '', - 'content-length': Buffer.byteLength(responseBody, 'utf8'), - }, - }, responseBody); -} -exports.includeStackTraces = true; // for unit tests -function safeHandler(block) { - return async (event) => { - // ignore DELETE event when the physical resource ID is the marker that - // indicates that this DELETE is a subsequent DELETE to a failed CREATE - // operation. - if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { - (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); - await submitResponse('SUCCESS', event); - return; - } - try { - await block(event); - } - catch (e) { - // tell waiter state machine to retry - if (e instanceof Retry) { - (0, util_1.log)('retry requested by handler'); - throw e; - } - if (!event.PhysicalResourceId) { - // special case: if CREATE fails, which usually implies, we usually don't - // have a physical resource id. in this case, the subsequent DELETE - // operation does not have any meaning, and will likely fail as well. to - // address this, we use a marker so the provider framework can simply - // ignore the subsequent DELETE. - if (event.RequestType === 'Create') { - (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); - event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; - } - else { - // otherwise, if PhysicalResourceId is not specified, something is - // terribly wrong because all other events should have an ID. - (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); - } - } - // this is an actual error, fail the activity altogether and exist. - await submitResponse('FAILED', event, { - reason: exports.includeStackTraces ? e.stack : e.message, - }); - } - }; -} -function redactDataFromPayload(payload) { - // Create a deep copy of the payload object - const redactedPayload = JSON.parse(JSON.stringify(payload)); - // Redact the data in the copied payload object - if (redactedPayload.Data) { - const keys = Object.keys(redactedPayload.Data); - for (const key of keys) { - redactedPayload.Data[key] = '*****'; - } - } - return redactedPayload; -} -class Retry extends Error { -} -exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/cdk.out index c6e612584e352..91e1a8b9901d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"38.0.1"} \ No newline at end of file +{"version":"39.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.assets.json index 80900c9831704..175e9b553263a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "4e48efd39ed107e3d109e81d320e0c66d56d3dbcb4c232e7b8e0ea5b62f911af": { "source": { @@ -14,15 +14,15 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -40,7 +40,7 @@ } } }, - "4c0d53caa7e2a1036bb7f069d33466c7014538a8159f775700a52cc693539a15": { + "fef820e506c665e32f30944536a78ddb708be6397c9f9936837f262558aaf0a6": { "source": { "path": "integ-provider-framework.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "4c0d53caa7e2a1036bb7f069d33466c7014538a8159f775700a52cc693539a15.json", + "objectKey": "fef820e506c665e32f30944536a78ddb708be6397c9f9936837f262558aaf0a6.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.template.json index 0c43538e87f02..2453b5a18bd70 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ-provider-framework.template.json @@ -185,7 +185,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3file-provider/s3file-provider)", "Environment": { @@ -521,7 +521,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "Environment": { @@ -666,7 +666,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - isComplete (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "Environment": { @@ -808,7 +808,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onTimeout (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ.json index fd096057284d0..e8bc3dd759891 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "testCases": { "IntegProviderFrameworkTest/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/manifest.json index 3995d45364be3..5221065619c64 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "artifacts": { "integ-provider-framework.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4c0d53caa7e2a1036bb7f069d33466c7014538a8159f775700a52cc693539a15.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/fef820e506c665e32f30944536a78ddb708be6397c9f9936837f262558aaf0a6.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/tree.json index 7be15d6fc5561..813f6f7efa73a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/provider-framework/integ.provider.js.snapshot/tree.json @@ -389,7 +389,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3file-provider/s3file-provider)", "environment": { @@ -1011,7 +1011,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "environment": { @@ -1240,7 +1240,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - isComplete (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "environment": { @@ -1466,7 +1466,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onTimeout (integ-provider-framework/com.amazonaws.cdk.custom-resources.s3assert-provider/s3assert-provider)", "environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js new file mode 100644 index 0000000000000..5a86242674505 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -0,0 +1,106 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; +exports.submitResponse = submitResponse; +exports.safeHandler = safeHandler; +exports.redactDataFromPayload = redactDataFromPayload; +/* eslint-disable max-len */ +/* eslint-disable no-console */ +const url = require("url"); +const outbound_1 = require("./outbound"); +const util_1 = require("./util"); +exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; +exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; +async function submitResponse(status, event, options = {}) { + const json = { + Status: status, + Reason: options.reason || status, + StackId: event.StackId, + RequestId: event.RequestId, + PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, + LogicalResourceId: event.LogicalResourceId, + NoEcho: options.noEcho, + Data: event.Data, + }; + const responseBody = JSON.stringify(json); + const parsedUrl = url.parse(event.ResponseURL); + const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; + if (options?.noEcho) { + (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); + } + else { + (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); + } + const retryOptions = { + attempts: 5, + sleep: 1000, + }; + await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: 'PUT', + headers: { + 'content-type': '', + 'content-length': Buffer.byteLength(responseBody, 'utf8'), + }, + }, responseBody); +} +exports.includeStackTraces = true; // for unit tests +function safeHandler(block) { + return async (event) => { + // ignore DELETE event when the physical resource ID is the marker that + // indicates that this DELETE is a subsequent DELETE to a failed CREATE + // operation. + if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { + (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); + await submitResponse('SUCCESS', event); + return; + } + try { + await block(event); + } + catch (e) { + // tell waiter state machine to retry + if (e instanceof Retry) { + (0, util_1.log)('retry requested by handler'); + throw e; + } + if (!event.PhysicalResourceId) { + // special case: if CREATE fails, which usually implies, we usually don't + // have a physical resource id. in this case, the subsequent DELETE + // operation does not have any meaning, and will likely fail as well. to + // address this, we use a marker so the provider framework can simply + // ignore the subsequent DELETE. + if (event.RequestType === 'Create') { + (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); + event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; + } + else { + // otherwise, if PhysicalResourceId is not specified, something is + // terribly wrong because all other events should have an ID. + (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); + } + } + // this is an actual error, fail the activity altogether and exist. + await submitResponse('FAILED', event, { + reason: exports.includeStackTraces ? e.stack : e.message, + }); + } + }; +} +function redactDataFromPayload(payload) { + // Create a deep copy of the payload object + const redactedPayload = JSON.parse(JSON.stringify(payload)); + // Redact the data in the copied payload object + if (redactedPayload.Data) { + const keys = Object.keys(redactedPayload.Data); + for (const key of keys) { + redactedPayload.Data[key] = '*****'; + } + } + return redactedPayload; +} +class Retry extends Error { +} +exports.Retry = Retry; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js deleted file mode 100644 index 12f017f21494c..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; -exports.submitResponse = submitResponse; -exports.safeHandler = safeHandler; -exports.redactDataFromPayload = redactDataFromPayload; -/* eslint-disable max-len */ -/* eslint-disable no-console */ -const url = require("url"); -const outbound_1 = require("./outbound"); -const util_1 = require("./util"); -exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; -exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; -async function submitResponse(status, event, options = {}) { - const json = { - Status: status, - Reason: options.reason || status, - StackId: event.StackId, - RequestId: event.RequestId, - PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, - LogicalResourceId: event.LogicalResourceId, - NoEcho: options.noEcho, - Data: event.Data, - }; - const responseBody = JSON.stringify(json); - const parsedUrl = url.parse(event.ResponseURL); - const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; - if (options?.noEcho) { - (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); - } - else { - (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); - } - const retryOptions = { - attempts: 5, - sleep: 1000, - }; - await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: 'PUT', - headers: { - 'content-type': '', - 'content-length': Buffer.byteLength(responseBody, 'utf8'), - }, - }, responseBody); -} -exports.includeStackTraces = true; // for unit tests -function safeHandler(block) { - return async (event) => { - // ignore DELETE event when the physical resource ID is the marker that - // indicates that this DELETE is a subsequent DELETE to a failed CREATE - // operation. - if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { - (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); - await submitResponse('SUCCESS', event); - return; - } - try { - await block(event); - } - catch (e) { - // tell waiter state machine to retry - if (e instanceof Retry) { - (0, util_1.log)('retry requested by handler'); - throw e; - } - if (!event.PhysicalResourceId) { - // special case: if CREATE fails, which usually implies, we usually don't - // have a physical resource id. in this case, the subsequent DELETE - // operation does not have any meaning, and will likely fail as well. to - // address this, we use a marker so the provider framework can simply - // ignore the subsequent DELETE. - if (event.RequestType === 'Create') { - (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); - event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; - } - else { - // otherwise, if PhysicalResourceId is not specified, something is - // terribly wrong because all other events should have an ID. - (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); - } - } - // this is an actual error, fail the activity altogether and exist. - await submitResponse('FAILED', event, { - reason: exports.includeStackTraces ? e.stack : e.message, - }); - } - }; -} -function redactDataFromPayload(payload) { - // Create a deep copy of the payload object - const redactedPayload = JSON.parse(JSON.stringify(payload)); - // Redact the data in the copied payload object - if (redactedPayload.Data) { - const keys = Object.keys(redactedPayload.Data); - for (const key of keys) { - redactedPayload.Data[key] = '*****'; - } - } - return redactedPayload; -} -class Retry extends Error { -} -exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.assets.json index a492f13534844..54f19a71e0edb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.assets.json @@ -27,20 +27,20 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "3ffb12b8b0a42bc63235695396c67f5903bf17686ebfc81a78f8d9ff56401620": { + "e028e8bb9a9f54d5e0fe74d29f7e54bc22c2eca44f8cd2427c80aacc5809e3fc": { "source": { "path": "lambda-layer-awscli-integ-stack.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "3ffb12b8b0a42bc63235695396c67f5903bf17686ebfc81a78f8d9ff56401620.json", + "objectKey": "e028e8bb9a9f54d5e0fe74d29f7e54bc22c2eca44f8cd2427c80aacc5809e3fc.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.template.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.template.json index 758287b74d70b..71c2f30f6183a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/lambda-layer-awscli-integ-stack.template.json @@ -152,7 +152,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (lambda-layer-awscli-integ-stack/Providerpython3.9)", "Environment": { @@ -341,7 +341,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (lambda-layer-awscli-integ-stack/Providerpython3.10)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/manifest.json index 0bb6d7b41a2c0..b96e2e649fcad 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3ffb12b8b0a42bc63235695396c67f5903bf17686ebfc81a78f8d9ff56401620.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e028e8bb9a9f54d5e0fe74d29f7e54bc22c2eca44f8cd2427c80aacc5809e3fc.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/tree.json index a3e307916c9b5..8dff4a8cfb3e4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-awscli/test/integ.awscli-layer.js.snapshot/tree.json @@ -352,7 +352,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (lambda-layer-awscli-integ-stack/Providerpython3.9)", "environment": { @@ -715,7 +715,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (lambda-layer-awscli-integ-stack/Providerpython3.10)", "environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js new file mode 100644 index 0000000000000..5a86242674505 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/cfn-response.js @@ -0,0 +1,106 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; +exports.submitResponse = submitResponse; +exports.safeHandler = safeHandler; +exports.redactDataFromPayload = redactDataFromPayload; +/* eslint-disable max-len */ +/* eslint-disable no-console */ +const url = require("url"); +const outbound_1 = require("./outbound"); +const util_1 = require("./util"); +exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; +exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; +async function submitResponse(status, event, options = {}) { + const json = { + Status: status, + Reason: options.reason || status, + StackId: event.StackId, + RequestId: event.RequestId, + PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, + LogicalResourceId: event.LogicalResourceId, + NoEcho: options.noEcho, + Data: event.Data, + }; + const responseBody = JSON.stringify(json); + const parsedUrl = url.parse(event.ResponseURL); + const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; + if (options?.noEcho) { + (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); + } + else { + (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); + } + const retryOptions = { + attempts: 5, + sleep: 1000, + }; + await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: 'PUT', + headers: { + 'content-type': '', + 'content-length': Buffer.byteLength(responseBody, 'utf8'), + }, + }, responseBody); +} +exports.includeStackTraces = true; // for unit tests +function safeHandler(block) { + return async (event) => { + // ignore DELETE event when the physical resource ID is the marker that + // indicates that this DELETE is a subsequent DELETE to a failed CREATE + // operation. + if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { + (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); + await submitResponse('SUCCESS', event); + return; + } + try { + await block(event); + } + catch (e) { + // tell waiter state machine to retry + if (e instanceof Retry) { + (0, util_1.log)('retry requested by handler'); + throw e; + } + if (!event.PhysicalResourceId) { + // special case: if CREATE fails, which usually implies, we usually don't + // have a physical resource id. in this case, the subsequent DELETE + // operation does not have any meaning, and will likely fail as well. to + // address this, we use a marker so the provider framework can simply + // ignore the subsequent DELETE. + if (event.RequestType === 'Create') { + (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); + event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; + } + else { + // otherwise, if PhysicalResourceId is not specified, something is + // terribly wrong because all other events should have an ID. + (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); + } + } + // this is an actual error, fail the activity altogether and exist. + await submitResponse('FAILED', event, { + reason: exports.includeStackTraces ? e.stack : e.message, + }); + } + }; +} +function redactDataFromPayload(payload) { + // Create a deep copy of the payload object + const redactedPayload = JSON.parse(JSON.stringify(payload)); + // Redact the data in the copied payload object + if (redactedPayload.Data) { + const keys = Object.keys(redactedPayload.Data); + for (const key of keys) { + redactedPayload.Data[key] = '*****'; + } + } + return redactedPayload; +} +class Retry extends Error { +} +exports.Retry = Retry; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EwQ0M7QUFFRCxzREFZQztBQXZIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAgIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gICAgLy8gb3BlcmF0aW9uLlxuICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgICAgbG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGJsb2NrKGV2ZW50KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIHRlbGwgd2FpdGVyIHN0YXRlIG1hY2hpbmUgdG8gcmV0cnlcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmV0cnkpIHtcbiAgICAgICAgbG9nKCdyZXRyeSByZXF1ZXN0ZWQgYnkgaGFuZGxlcicpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAgIC8vIGhhdmUgYSBwaHlzaWNhbCByZXNvdXJjZSBpZC4gaW4gdGhpcyBjYXNlLCB0aGUgc3Vic2VxdWVudCBERUxFVEVcbiAgICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgICAvLyBpZ25vcmUgdGhlIHN1YnNlcXVlbnQgREVMRVRFLlxuICAgICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgICAgbG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgICAgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICAgIGxvZyhgRVJST1I6IE1hbGZvcm1lZCBldmVudC4gXCJQaHlzaWNhbFJlc291cmNlSWRcIiBpcyByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhpcyBpcyBhbiBhY3R1YWwgZXJyb3IsIGZhaWwgdGhlIGFjdGl2aXR5IGFsdG9nZXRoZXIgYW5kIGV4aXN0LlxuICAgICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGV2ZW50LCB7XG4gICAgICAgIHJlYXNvbjogaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdERhdGFGcm9tUGF5bG9hZChwYXlsb2FkOiBPbkV2ZW50UmVzcG9uc2UpIHtcbiAgLy8gQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoZSBwYXlsb2FkIG9iamVjdFxuICBjb25zdCByZWRhY3RlZFBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuXG4gIC8vIFJlZGFjdCB0aGUgZGF0YSBpbiB0aGUgY29waWVkIHBheWxvYWQgb2JqZWN0XG4gIGlmIChyZWRhY3RlZFBheWxvYWQuRGF0YSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZWRhY3RlZFBheWxvYWQuRGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgcmVkYWN0ZWRQYXlsb2FkLkRhdGFba2V5XSA9ICcqKioqKic7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWRhY3RlZFBheWxvYWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeSBleHRlbmRzIEVycm9yIHsgfVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/consts.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/consts.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/framework.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/framework.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/outbound.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/outbound.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/util.js rename to packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6/util.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js deleted file mode 100644 index 12f017f21494c..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b/cfn-response.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Retry = exports.includeStackTraces = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; -exports.submitResponse = submitResponse; -exports.safeHandler = safeHandler; -exports.redactDataFromPayload = redactDataFromPayload; -/* eslint-disable max-len */ -/* eslint-disable no-console */ -const url = require("url"); -const outbound_1 = require("./outbound"); -const util_1 = require("./util"); -exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; -exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; -async function submitResponse(status, event, options = {}) { - const json = { - Status: status, - Reason: options.reason || status, - StackId: event.StackId, - RequestId: event.RequestId, - PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, - LogicalResourceId: event.LogicalResourceId, - NoEcho: options.noEcho, - Data: event.Data, - }; - const responseBody = JSON.stringify(json); - const parsedUrl = url.parse(event.ResponseURL); - const loggingSafeUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`; - if (options?.noEcho) { - (0, util_1.log)('submit redacted response to cloudformation', loggingSafeUrl, redactDataFromPayload(json)); - } - else { - (0, util_1.log)('submit response to cloudformation', loggingSafeUrl, json); - } - const retryOptions = { - attempts: 5, - sleep: 1000, - }; - await (0, util_1.withRetries)(retryOptions, outbound_1.httpRequest)({ - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: 'PUT', - headers: { - 'content-type': '', - 'content-length': Buffer.byteLength(responseBody, 'utf8'), - }, - }, responseBody); -} -exports.includeStackTraces = true; // for unit tests -function safeHandler(block) { - return async (event) => { - // ignore DELETE event when the physical resource ID is the marker that - // indicates that this DELETE is a subsequent DELETE to a failed CREATE - // operation. - if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { - (0, util_1.log)('ignoring DELETE event caused by a failed CREATE event'); - await submitResponse('SUCCESS', event); - return; - } - try { - await block(event); - } - catch (e) { - // tell waiter state machine to retry - if (e instanceof Retry) { - (0, util_1.log)('retry requested by handler'); - throw e; - } - if (!event.PhysicalResourceId) { - // special case: if CREATE fails, which usually implies, we usually don't - // have a physical resource id. in this case, the subsequent DELETE - // operation does not have any meaning, and will likely fail as well. to - // address this, we use a marker so the provider framework can simply - // ignore the subsequent DELETE. - if (event.RequestType === 'Create') { - (0, util_1.log)('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); - event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; - } - else { - // otherwise, if PhysicalResourceId is not specified, something is - // terribly wrong because all other events should have an ID. - (0, util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({ ...event, ResponseURL: '...' })}`); - } - } - // this is an actual error, fail the activity altogether and exist. - await submitResponse('FAILED', event, { - reason: exports.includeStackTraces ? e.stack : e.message, - }); - } - }; -} -function redactDataFromPayload(payload) { - // Create a deep copy of the payload object - const redactedPayload = JSON.parse(JSON.stringify(payload)); - // Redact the data in the copied payload object - if (redactedPayload.Data) { - const keys = Object.keys(redactedPayload.Data); - for (const key of keys) { - redactedPayload.Data[key] = '*****'; - } - } - return redactedPayload; -} -class Retry extends Error { -} -exports.Retry = Retry; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSx3Q0FtQ0M7QUFJRCxrQ0EyQ0M7QUFFRCxzREFZQztBQXhIRCw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsaUNBQTBDO0FBRzdCLFFBQUEsZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQWdCbEcsS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUE0QixFQUFFLEtBQWlDLEVBQUUsVUFBeUMsRUFBRztJQUNoSixNQUFNLElBQUksR0FBbUQ7UUFDM0QsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNO1FBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLGtDQUEwQjtRQUMxRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7S0FDakIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsTUFBTSxDQUFDO0lBQ2hHLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUEs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RUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZywgd2l0aFJldHJpZXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmV4cG9ydCBjb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uUmVzcG9uc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuICByZWFkb25seSBub0VjaG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0IHtcbiAgU3RhY2tJZDogc3RyaW5nO1xuICBSZXF1ZXN0SWQ6IHN0cmluZztcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICBSZXNwb25zZVVSTDogc3RyaW5nO1xuICBEYXRhPzogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IENsb3VkRm9ybWF0aW9uRXZlbnRDb250ZXh0LCBvcHRpb25zOiBDbG91ZEZvcm1hdGlvblJlc3BvbnNlT3B0aW9ucyA9IHsgfSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogb3B0aW9ucy5yZWFzb24gfHwgc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogb3B0aW9ucy5ub0VjaG8sXG4gICAgRGF0YTogZXZlbnQuRGF0YSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBjb25zdCBsb2dnaW5nU2FmZVVybCA9IGAke3BhcnNlZFVybC5wcm90b2NvbH0vLyR7cGFyc2VkVXJsLmhvc3RuYW1lfS8ke3BhcnNlZFVybC5wYXRobmFtZX0/KioqYDtcbiAgaWYgKG9wdGlvbnM/Lm5vRWNobykge1xuICAgIGxvZygnc3VibWl0IHJlZGFjdGVkIHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywgbG9nZ2luZ1NhZmVVcmwsIHJlZGFjdERhdGFGcm9tUGF5bG9hZChqc29uKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBsb2dnaW5nU2FmZVVybCwganNvbik7XG4gIH1cblxuICBjb25zdCByZXRyeU9wdGlvbnMgPSB7XG4gICAgYXR0ZW1wdHM6IDUsXG4gICAgc2xlZXA6IDEwMDAsXG4gIH07XG4gIGF3YWl0IHdpdGhSZXRyaWVzKHJldHJ5T3B0aW9ucywgaHR0cFJlcXVlc3QpKHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH0sIHJlc3BvbnNlQm9keSk7XG59XG5cbmV4cG9ydCBsZXQgaW5jbHVkZVN0YWNrVHJhY2VzID0gdHJ1ZTsgLy8gZm9yIHVuaXQgdGVzdHNcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVIYW5kbGVyKGJsb2NrOiAoZXZlbnQ6IGFueSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBhbnkpID0+IHtcblxuICAgIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gICAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgICAvLyBvcGVyYXRpb24uXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgICBsb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmxvY2soZXZlbnQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0RGF0YUZyb21QYXlsb2FkKHBheWxvYWQ6IE9uRXZlbnRSZXNwb25zZSkge1xuICAvLyBDcmVhdGUgYSBkZWVwIGNvcHkgb2YgdGhlIHBheWxvYWQgb2JqZWN0XG4gIGNvbnN0IHJlZGFjdGVkUGF5bG9hZDogT25FdmVudFJlc3BvbnNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG5cbiAgLy8gUmVkYWN0IHRoZSBkYXRhIGluIHRoZSBjb3BpZWQgcGF5bG9hZCBvYmplY3RcbiAgaWYgKHJlZGFjdGVkUGF5bG9hZC5EYXRhKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlZGFjdGVkUGF5bG9hZC5EYXRhKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICByZWRhY3RlZFBheWxvYWQuRGF0YVtrZXldID0gJyoqKioqJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlZGFjdGVkUGF5bG9hZDtcbn1cblxuZXhwb3J0IGNsYXNzIFJldHJ5IGV4dGVuZHMgRXJyb3IgeyB9XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/cdk.out index c6e612584e352..91e1a8b9901d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"38.0.1"} \ No newline at end of file +{"version":"39.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/integ.json index 51fdd165cccc8..d98496b1d9b5f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "testCases": { "lambda-layer-kubectl-integ-test/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.assets.json index 0be3d33712b96..6b0078bb3dfa7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "e35d06c04a5f086530cad7876451b9fbd93ded1d4940950bb104fb78dd322310": { "source": { @@ -27,20 +27,20 @@ } } }, - "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b": { + "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6": { "source": { - "path": "asset.9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b", + "path": "asset.39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip", + "objectKey": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "8b7389afdda599172e891d62e144960799b38a7173365b598894027ef4ecc350": { + "22c7760492bc72f43b044bcf10a76ac1c0bcf38681d7c71f79fcac63c0977cd5": { "source": { "path": "lambda-layer-kubectl-integ-stack.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "8b7389afdda599172e891d62e144960799b38a7173365b598894027ef4ecc350.json", + "objectKey": "22c7760492bc72f43b044bcf10a76ac1c0bcf38681d7c71f79fcac63c0977cd5.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.template.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.template.json index 256e6ea267afb..af9202b226c9c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambda-layer-kubectl-integ-stack.template.json @@ -152,7 +152,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (lambda-layer-kubectl-integ-stack/Providerpython3.9)", "Environment": { @@ -341,7 +341,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "S3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "Description": "AWS CDK resource provider framework - onEvent (lambda-layer-kubectl-integ-stack/Providerpython3.10)", "Environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambdalayerkubectlintegtestDefaultTestDeployAssertB3B33DD7.assets.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambdalayerkubectlintegtestDefaultTestDeployAssertB3B33DD7.assets.json index 3151a0bb915d1..bdda2e85f6cf2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambdalayerkubectlintegtestDefaultTestDeployAssertB3B33DD7.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/lambdalayerkubectlintegtestDefaultTestDeployAssertB3B33DD7.assets.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/manifest.json index aa563c4728570..9db2ba9c75d1f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "38.0.1", + "version": "39.0.0", "artifacts": { "lambda-layer-kubectl-integ-stack.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8b7389afdda599172e891d62e144960799b38a7173365b598894027ef4ecc350.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/22c7760492bc72f43b044bcf10a76ac1c0bcf38681d7c71f79fcac63c0977cd5.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/tree.json index cb53f5091703b..bb28dda307e82 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/lambda-layer-kubectl/test/integ.kubectl-layer.js.snapshot/tree.json @@ -352,7 +352,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (lambda-layer-kubectl-integ-stack/Providerpython3.9)", "environment": { @@ -715,7 +715,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "9ebfbf95d93057cd65617a9d6f72a0e7dd31520f28cf423c3afd3cbaf0662e6b.zip" + "s3Key": "39472b1c2875cf306d4ba429aeccdd34cb49bcf59dbde81f7e6b6cb9deac23a6.zip" }, "description": "AWS CDK resource provider framework - onEvent (lambda-layer-kubectl-integ-stack/Providerpython3.10)", "environment": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-codestar-connection.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-codestar-connection.ts index 4874d71b08240..fd9077278726b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-codestar-connection.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-codestar-connection.ts @@ -26,7 +26,6 @@ class PipelineStack extends Stack { }); pipeline.addStage(new AppStage(this, 'Beta')); - } } diff --git a/packages/@aws-cdk/app-staging-synthesizer-alpha/lib/app-staging-synthesizer.ts b/packages/@aws-cdk/app-staging-synthesizer-alpha/lib/app-staging-synthesizer.ts index 7e926d00e6ad0..a843f8843cab7 100644 --- a/packages/@aws-cdk/app-staging-synthesizer-alpha/lib/app-staging-synthesizer.ts +++ b/packages/@aws-cdk/app-staging-synthesizer-alpha/lib/app-staging-synthesizer.ts @@ -251,7 +251,6 @@ export class AppStagingSynthesizer extends StackSynthesizer implements IReusable (isAgnostic ? agnosticStacks : envAwareStacks).add(stack); if (agnosticStacks.size > 0 && envAwareStacks.size > 0) { - const describeStacks = (xs: Set) => Array.from(xs).map(s => s.node.path).join(', '); throw new Error([ diff --git a/packages/@aws-cdk/aws-amplify-alpha/test/integ.app-asset-deployment.ts b/packages/@aws-cdk/aws-amplify-alpha/test/integ.app-asset-deployment.ts index 56cfaa3f29c18..3c8b73fa67cc6 100644 --- a/packages/@aws-cdk/aws-amplify-alpha/test/integ.app-asset-deployment.ts +++ b/packages/@aws-cdk/aws-amplify-alpha/test/integ.app-asset-deployment.ts @@ -26,5 +26,4 @@ const stack = new TestStack(app, 'cdk-amplify-app-asset-deployment'); // On updating the asset file and re-deploying it updates the existing Amplify app with the new change. new IntegTest(app, 'cdk-amplify-app-integ-test', { testCases: [stack], - diffAssets: true, }); diff --git a/packages/@aws-cdk/aws-apprunner-alpha/lib/auto-scaling-configuration.ts b/packages/@aws-cdk/aws-apprunner-alpha/lib/auto-scaling-configuration.ts index cab73fc75338f..2164aeccb09f6 100644 --- a/packages/@aws-cdk/aws-apprunner-alpha/lib/auto-scaling-configuration.ts +++ b/packages/@aws-cdk/aws-apprunner-alpha/lib/auto-scaling-configuration.ts @@ -171,7 +171,6 @@ export class AutoScalingConfiguration extends cdk.Resource implements IAutoScali private validateAutoScalingConfiguration(props: AutoScalingConfigurationProps) { if (props.autoScalingConfigurationName !== undefined && !cdk.Token.isUnresolved(props.autoScalingConfigurationName)) { - if (props.autoScalingConfigurationName.length < 4 || props.autoScalingConfigurationName.length > 32) { throw new Error( `\`autoScalingConfigurationName\` must be between 4 and 32 characters, got: ${props.autoScalingConfigurationName.length} characters.`, diff --git a/packages/@aws-cdk/aws-apprunner-alpha/lib/observability-configuration.ts b/packages/@aws-cdk/aws-apprunner-alpha/lib/observability-configuration.ts index 4b7fddee0786b..cf72bcc41de19 100644 --- a/packages/@aws-cdk/aws-apprunner-alpha/lib/observability-configuration.ts +++ b/packages/@aws-cdk/aws-apprunner-alpha/lib/observability-configuration.ts @@ -142,7 +142,6 @@ export class ObservabilityConfiguration extends cdk.Resource implements IObserva }); if (props.observabilityConfigurationName !== undefined && !cdk.Token.isUnresolved(props.observabilityConfigurationName)) { - if (props.observabilityConfigurationName.length < 4 || props.observabilityConfigurationName.length > 32) { throw new Error( `\`observabilityConfigurationName\` must be between 4 and 32 characters, got: ${props.observabilityConfigurationName.length} characters.`, diff --git a/packages/@aws-cdk/aws-apprunner-alpha/lib/service.ts b/packages/@aws-cdk/aws-apprunner-alpha/lib/service.ts index 338d7c7c863ca..4bbb61183193c 100644 --- a/packages/@aws-cdk/aws-apprunner-alpha/lib/service.ts +++ b/packages/@aws-cdk/aws-apprunner-alpha/lib/service.ts @@ -1294,7 +1294,6 @@ export class Service extends cdk.Resource implements IService, iam.IGrantable { } if (props.serviceName !== undefined && !cdk.Token.isUnresolved(props.serviceName)) { - if (props.serviceName.length < 4 || props.serviceName.length > 40) { throw new Error( `\`serviceName\` must be between 4 and 40 characters, got: ${props.serviceName.length} characters.`, diff --git a/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-connector.ts b/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-connector.ts index a7e798ec5df16..7d1bf10e63f4b 100644 --- a/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-connector.ts +++ b/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-connector.ts @@ -137,7 +137,6 @@ export class VpcConnector extends cdk.Resource implements IVpcConnector { }); if (props.vpcConnectorName !== undefined && !cdk.Token.isUnresolved(props.vpcConnectorName)) { - if (props.vpcConnectorName.length < 4 || props.vpcConnectorName.length > 40) { throw new Error( `\`vpcConnectorName\` must be between 4 and 40 characters, got: ${props.vpcConnectorName.length} characters.`, diff --git a/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-ingress-connection.ts b/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-ingress-connection.ts index df47330c29693..2a7bf76be20d0 100644 --- a/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-ingress-connection.ts +++ b/packages/@aws-cdk/aws-apprunner-alpha/lib/vpc-ingress-connection.ts @@ -144,7 +144,6 @@ export class VpcIngressConnection extends cdk.Resource implements IVpcIngressCon }); if (props.vpcIngressConnectionName !== undefined && !cdk.Token.isUnresolved(props.vpcIngressConnectionName)) { - if (props.vpcIngressConnectionName.length < 4 || props.vpcIngressConnectionName.length > 40) { throw new Error( `\`vpcIngressConnectionName\` must be between 4 and 40 characters, got: ${props.vpcIngressConnectionName.length} characters.`, diff --git a/packages/@aws-cdk/aws-custom-resource-sdk-adapter/test/coerce-api-parameters.test.ts b/packages/@aws-cdk/aws-custom-resource-sdk-adapter/test/coerce-api-parameters.test.ts index 63332fd307912..36a9964f93c44 100644 --- a/packages/@aws-cdk/aws-custom-resource-sdk-adapter/test/coerce-api-parameters.test.ts +++ b/packages/@aws-cdk/aws-custom-resource-sdk-adapter/test/coerce-api-parameters.test.ts @@ -4,7 +4,6 @@ import { TypeCoercionStateMachine } from '../lib/parameter-types'; const encode = (v: any) => new TextEncoder().encode(v); describe('Uint8Array', () => { - describe('should coerce', () => { test('a nested value', () => { // GIVEN @@ -136,7 +135,6 @@ describe('Uint8Array', () => { // EXPECT expect(obj).toMatchObject({ a: { b: { c: encode('0') } } }); }); - }); describe('should NOT coerce', () => { @@ -197,7 +195,6 @@ describe('Uint8Array', () => { }); describe('given an api call description', () => { - test('can convert string parameters to Uint8Array when needed', () => { const params = coerceApiParameters('KMS', 'encrypt', { KeyId: 'key-id', @@ -294,11 +291,9 @@ describe('Uint8Array', () => { }); }); }); - }); describe('number', () => { - describe('should coerce', () => { test('a nested value', () => { // GIVEN @@ -477,7 +472,6 @@ describe('number', () => { }); describe('given an api call description', () => { - test('can convert string parameters to number when needed', () => { const params = coerceApiParameters('Amplify', 'listApps', { maxResults: '15', diff --git a/packages/@aws-cdk/aws-ec2-alpha/lib/ipam.ts b/packages/@aws-cdk/aws-ec2-alpha/lib/ipam.ts index 4c10b25e6eb53..c7feb9359df37 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/lib/ipam.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/lib/ipam.ts @@ -536,7 +536,6 @@ export class Ipam extends Resource { }); this.scopes.push(this.publicScope, this.privateScope); - } /** diff --git a/packages/@aws-cdk/aws-ec2-alpha/lib/route.ts b/packages/@aws-cdk/aws-ec2-alpha/lib/route.ts index 4dcd9e7588ccc..9ca80460798d8 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/lib/route.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/lib/route.ts @@ -529,7 +529,6 @@ export class VPCPeeringConnection extends Resource implements IRouteTarget { * @internal */ private validateVpcCidrOverlap(requestorVpc: IVpcV2, acceptorVpc: IVpcV2): boolean { - const requestorCidrs = [requestorVpc.ipv4CidrBlock]; const acceptorCidrs = [acceptorVpc.ipv4CidrBlock]; diff --git a/packages/@aws-cdk/aws-ec2-alpha/lib/subnet-v2.ts b/packages/@aws-cdk/aws-ec2-alpha/lib/subnet-v2.ts index ca3cb192b775a..36fdc186a056d 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/lib/subnet-v2.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/lib/subnet-v2.ts @@ -509,7 +509,6 @@ function checkCidrRanges(vpc: IVpcV2, cidrRange: string) { */ function validateOverlappingCidrRanges(vpc: IVpcV2, ipv4CidrBlock: string): boolean { - let allSubnets: ISubnetV2[]; try { allSubnets = vpc.selectSubnets().subnets; @@ -548,7 +547,6 @@ function validateOverlappingCidrRanges(vpc: IVpcV2, ipv4CidrBlock: string): bool * @internal */ function validateOverlappingCidrRangesipv6(vpc: IVpcV2, ipv6CidrBlock: string): boolean { - let allSubnets: ISubnetV2[]; try { allSubnets = vpc.selectSubnets().subnets; diff --git a/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2-base.ts b/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2-base.ts index 440b945693a22..5fd04f7dcdc2f 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2-base.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2-base.ts @@ -364,7 +364,6 @@ export abstract class VpcV2Base extends Resource implements IVpcV2 { * Adds VPNGAtewayV2 to this VPC */ public enableVpnGatewayV2(options: VPNGatewayV2Options): VPNGatewayV2 { - if (this.vpnGatewayId) { throw new Error('The VPN Gateway has already been enabled.'); } @@ -427,7 +426,6 @@ export abstract class VpcV2Base extends Resource implements IVpcV2 { * @default - in case of no input subnets, no route is created */ public addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions): void { - const egw = new EgressOnlyInternetGateway(this, 'EgressOnlyGW', { vpc: this, egressOnlyInternetGatewayName: options?.egressOnlyInternetGatewayName, @@ -513,7 +511,6 @@ export abstract class VpcV2Base extends Resource implements IVpcV2 { * @internal */ private addDefaultInternetRoute(subnet: ISubnetV2, igw: InternetGateway, options?: InternetGatewayOptions): void { - // Add default route to IGW for IPv6 if (subnet.ipv6CidrBlock) { new Route(this, `${subnet.node.id}-DefaultIPv6Route`, { @@ -624,7 +621,6 @@ export abstract class VpcV2Base extends Resource implements IVpcV2 { if (selection.subnetGroupName !== undefined) { // Select by name subnets = this.selectSubnetObjectsByName(selection.subnetGroupName); - } else { // Or specify by type const type = selection.subnetType || SubnetType.PRIVATE_WITH_EGRESS; subnets = this.selectSubnetObjectsByType(type); @@ -688,7 +684,6 @@ export abstract class VpcV2Base extends Resource implements IVpcV2 { * PUBLIC (in that order) that has any subnets. */ private reifySelectionDefaults(placement: SubnetSelection): SubnetSelection { - // TODO: throw error as new VpcV2 cannot support subnetName or subnetGroupName anymore if ('subnetName' in placement && placement.subnetName !== undefined) { if (placement.subnetGroupName !== undefined) { @@ -761,5 +756,4 @@ class CompositeDependable implements IDependable { function tap(x: T, fn: (x: T) => void): T { fn(x); return x; - } diff --git a/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2.ts b/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2.ts index 149c305252eaa..b986eb0018f94 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2.ts @@ -532,7 +532,6 @@ export class VpcV2 extends VpcV2Base { const secondaryAddressBlocks: IIpAddresses[] = props.secondaryAddressBlocks; for (const secondaryAddressBlock of secondaryAddressBlocks) { - const secondaryVpcOptions: VpcCidrOptions = secondaryAddressBlock.allocateVpcCidr(); if (!secondaryVpcOptions.cidrBlockName) { throw new Error('Cidr Block Name is required to create secondary IP address'); @@ -662,7 +661,6 @@ class IpamIpv4 implements IIpAddresses { constructor(private readonly props: IpamOptions) { } allocateVpcCidr(): VpcCidrOptions { - return { ipv4NetmaskLength: this.props.netmaskLength, ipv4IpamPool: this.props.ipamPool, diff --git a/packages/@aws-cdk/aws-ec2-alpha/test/ipam.test.ts b/packages/@aws-cdk/aws-ec2-alpha/test/ipam.test.ts index d417568c59dbe..79a945aba0734 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/test/ipam.test.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/test/ipam.test.ts @@ -23,7 +23,6 @@ describe('IPAM Test', () => { }); test('Creates IP Pool under Public Scope', () => { - const pool = ipam.publicScope.addPool('Public', { addressFamily: AddressFamily.IP_V6, awsService: vpc.AwsServiceName.EC2, @@ -52,7 +51,6 @@ describe('IPAM Test', () => { }); // End Test test('Creates IP Pool under Private Scope', () => { - const pool = ipam.privateScope.addPool('Private', { addressFamily: vpc.AddressFamily.IP_V4, ipv4ProvisionedCidrs: ['10.2.0.0/16'], diff --git a/packages/@aws-cdk/aws-ec2-alpha/test/route.test.ts b/packages/@aws-cdk/aws-ec2-alpha/test/route.test.ts index b7215c8db2bdb..ece10d0c2eb2b 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/test/route.test.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/test/route.test.ts @@ -575,7 +575,6 @@ describe('EC2 Routing', () => { }); describe('VPCPeeringConnection', () => { - let stackA: cdk.Stack; let stackB: cdk.Stack; let stackC: cdk.Stack; @@ -632,7 +631,6 @@ describe('VPCPeeringConnection', () => { }); test('Creates a cross account VPC peering connection', () => { - const importedVpcB = vpc.VpcV2.fromVpcV2Attributes(stackA, 'VpcB', { vpcId: 'mockVpcBId', // cross account stack references are not supported vpcCidrBlock: '10.2.0.0/16', @@ -658,7 +656,6 @@ describe('VPCPeeringConnection', () => { }); test('Creates a cross region VPC peering connection', () => { - const importedVpcC = vpc.VpcV2.fromVpcV2Attributes(stackA, 'VpcB', { vpcId: 'mockVpcCId', // cross account stack references are not supported vpcCidrBlock: '10.3.0.0/16', diff --git a/packages/@aws-cdk/aws-ec2-alpha/test/subnet-v2.test.ts b/packages/@aws-cdk/aws-ec2-alpha/test/subnet-v2.test.ts index cb9a40369a98f..e58fe7aa63009 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/test/subnet-v2.test.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/test/subnet-v2.test.ts @@ -20,11 +20,9 @@ describe('Subnet V2 with custom IP and routing', () => { }, }); stack = new cdk.Stack(app); - }); test('should create a subnet with valid input parameters', () => { - const testVpc = new vpc.VpcV2(stack, 'TestVPC', { primaryAddressBlock: vpc.IpAddresses.ipv4('10.1.0.0/16'), secondaryAddressBlocks: [vpc.IpAddresses.ipv4('10.2.0.0/16', { @@ -64,7 +62,6 @@ describe('Subnet V2 with custom IP and routing', () => { }, }, }); - }); test('Should throw error if overlapping CIDR block(IPv4) for the subnet', () => { diff --git a/packages/@aws-cdk/aws-ec2-alpha/test/vpc-v2.test.ts b/packages/@aws-cdk/aws-ec2-alpha/test/vpc-v2.test.ts index f4ec206cbb888..edfe53e4f41eb 100644 --- a/packages/@aws-cdk/aws-ec2-alpha/test/vpc-v2.test.ts +++ b/packages/@aws-cdk/aws-ec2-alpha/test/vpc-v2.test.ts @@ -69,7 +69,6 @@ describe('Vpc V2 with full control', () => { }, }, }); - }); test('VPC throws error with incorrect cidr range (IPv4)', () => { @@ -118,11 +117,9 @@ describe('Vpc V2 with full control', () => { }, }, }); - }); test('VPC Primary IP from Ipv4 Ipam', () => { - const ipam = new Ipam(stack, 'TestIpam', { operatingRegions: ['us-west-1'], }); diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/cluster.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/cluster.ts index f9ecedb9efce4..2ab1b23476cf0 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/cluster.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/cluster.ts @@ -805,7 +805,6 @@ abstract class ClusterBase extends Resource implements ICluster { * @returns a `KubernetesManifest` construct representing the chart. */ public addCdk8sChart(id: string, chart: Construct, options: KubernetesManifestOptions = {}): KubernetesManifest { - const cdk8sChart = chart as any; // see https://github.com/awslabs/cdk8s/blob/master/packages/cdk8s/src/chart.ts#L84 @@ -1201,7 +1200,6 @@ export class Cluster extends ClusterBase { let kubectlSubnets = this._kubectlProviderOptions?.privateSubnets; if (this.endpointAccess._config.privateAccess && privateSubnets.length !== 0) { - // when private access is enabled and the vpc has private subnets, lets connect // the provider to the vpc so that it will work even when restricting public access. @@ -1313,7 +1311,6 @@ export class Cluster extends ClusterBase { * @param options Additional operation options. */ public getServiceLoadBalancerAddress(serviceName: string, options: ServiceLoadBalancerAddressOptions = {}): string { - const loadBalancerAddress = new KubernetesObjectValue(this, `${serviceName}LoadBalancerAddress`, { cluster: this, objectType: 'service', @@ -1324,7 +1321,6 @@ export class Cluster extends ClusterBase { }); return loadBalancerAddress.value; - } /** @@ -1334,7 +1330,6 @@ export class Cluster extends ClusterBase { * @param options Additional operation options. */ public getIngressLoadBalancerAddress(ingressName: string, options: IngressLoadBalancerAddressOptions = {}): string { - const loadBalancerAddress = new KubernetesObjectValue(this, `${ingressName}LoadBalancerAddress`, { cluster: this, objectType: 'ingress', @@ -1345,7 +1340,6 @@ export class Cluster extends ClusterBase { }); return loadBalancerAddress.value; - } /** @@ -1543,9 +1537,7 @@ export class Cluster extends ClusterBase { const vpcPublicSubnetIds = this.vpc.publicSubnets.map(s => s.subnetId); for (const placement of this.vpcSubnets) { - for (const subnet of this.vpc.selectSubnets(placement).subnets) { - if (vpcPrivateSubnetIds.includes(subnet.subnetId)) { // definitely private, take it. privateSubnets.push(subnet); @@ -1562,7 +1554,6 @@ export class Cluster extends ClusterBase { // fail at deploy time :\ (its better than filtering it out and preventing a possibly successful deployment) privateSubnets.push(subnet); } - } return privateSubnets; diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-manifest.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-manifest.ts index e0b127ac96179..29142a1a80664 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-manifest.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-manifest.ts @@ -196,9 +196,7 @@ export class KubernetesManifest extends Construct { * @see https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/ */ private injectIngressAlbAnnotations(manifest: Record[], scheme: AlbScheme) { - for (const resource of manifest) { - // skip resource if it's not an object or if it does not have a "kind" if (typeof(resource) !== 'object' || !resource.kind) { continue; @@ -212,6 +210,5 @@ export class KubernetesManifest extends Construct { }; } } - } } diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-object-value.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-object-value.ts index a49a13066b239..246eeeb946ba8 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-object-value.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/k8s-object-value.ts @@ -80,7 +80,6 @@ export class KubernetesObjectValue extends Construct { TimeoutSeconds: (props?.timeout ?? Duration.minutes(5)).toSeconds(), }, }); - } /** diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/oidc-provider.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/oidc-provider.ts index ca52b9c1dbb50..9d6b1f7445b02 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/oidc-provider.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/oidc-provider.ts @@ -41,7 +41,6 @@ export class OpenIdConnectProvider extends iam.OpenIdConnectProvider { * @param props Initialization properties */ public constructor(scope: Construct, id: string, props: OpenIdConnectProviderProps) { - const clientIds = ['sts.amazonaws.com']; super(scope, id, { diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/service-account.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/service-account.ts index e5a98df9d9038..45cdea445549c 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/service-account.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/service-account.ts @@ -178,7 +178,6 @@ export class ServiceAccount extends Construct implements IPrincipal { principal = new OpenIdConnectPrincipal(cluster.openIdConnectProvider).withConditions({ StringEquals: conditions, }); - } else { /** * Identity type is POD_IDENTITY. @@ -213,7 +212,6 @@ export class ServiceAccount extends Construct implements IPrincipal { roleArn: role.roleArn, serviceAccount: this.serviceAccountName, }); - } this.role = role; diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/lib/user-data.ts b/packages/@aws-cdk/aws-eks-v2-alpha/lib/user-data.ts index b2911a75a2461..57b753f6e3f8e 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/lib/user-data.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/lib/user-data.ts @@ -4,7 +4,6 @@ import { Stack } from 'aws-cdk-lib/core'; // eslint-disable-next-line max-len export function renderAmazonLinuxUserData(cluster: ICluster, autoScalingGroup: autoscaling.AutoScalingGroup, options: BootstrapOptions = {}): string[] { - const stack = Stack.of(autoScalingGroup); // determine logical id of ASG so we can signal cloudformation diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/test/access-policy.test.ts b/packages/@aws-cdk/aws-eks-v2-alpha/test/access-policy.test.ts index 5e08859a4f830..21d7e2b21cfcc 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/test/access-policy.test.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/test/access-policy.test.ts @@ -45,7 +45,6 @@ describe('AccessPolicy', () => { describe('constructor', () => { test('creates an AccessPolicy with the provided props', () => { - const accessPolicy = new AccessPolicy({ accessScope: { type: AccessScopeType.NAMESPACE, diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/test/alb-controller.test.ts b/packages/@aws-cdk/aws-eks-v2-alpha/test/alb-controller.test.ts index ad853de629f3b..35afac9b7882a 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/test/alb-controller.test.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/test/alb-controller.test.ts @@ -50,11 +50,9 @@ test('all vended policies are valid', () => { if (addOn.startsWith('alb-iam_policy')) { const policy = JSON.parse(fs.readFileSync(path.join(addOnsDir, addOn)).toString()); try { - for (const statement of policy.Statement) { iam.PolicyStatement.fromJson(statement); } - } catch (error) { throw new Error(`Invalid policy: ${addOn}: ${error}`); } diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/test/cluster.test.ts b/packages/@aws-cdk/aws-eks-v2-alpha/test/cluster.test.ts index adbc767327e7b..bc745b4c28094 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/test/cluster.test.ts @@ -443,7 +443,6 @@ describe('cluster', () => { const resource = new cdk.CfnResource(this, 'resource', { type: 'MyType' }); new eks.HelmChart(this, `chart-${id}`, { cluster: props.cluster, chart: resource.ref }); - } } @@ -1059,7 +1058,6 @@ describe('cluster', () => { }); describe('spot instances', () => { - test('nodes labeled an tainted accordingly', () => { // GIVEN const { app, stack } = testFixtureNoVpc(); diff --git a/packages/@aws-cdk/aws-eks-v2-alpha/test/helm-chart.test.ts b/packages/@aws-cdk/aws-eks-v2-alpha/test/helm-chart.test.ts index 58817e9e4226b..dd72881aea692 100644 --- a/packages/@aws-cdk/aws-eks-v2-alpha/test/helm-chart.test.ts +++ b/packages/@aws-cdk/aws-eks-v2-alpha/test/helm-chart.test.ts @@ -233,7 +233,6 @@ describe('helm chart', () => { // THEN const charts = Template.fromStack(stack).findResources(eks.HelmChart.RESOURCE_TYPE, { Atomic: true }); expect(Object.keys(charts).length).toEqual(0); - }); test('should timeout only after 10 minutes', () => { diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/alias.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/alias.test.ts index e7ec0e95136b2..ae895f4c9f36a 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/alias.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/alias.test.ts @@ -6,7 +6,6 @@ import * as cdk from 'aws-cdk-lib'; import * as gamelift from '../lib'; describe('alias', () => { - describe('new', () => { let stack: cdk.Stack; let fleet: gamelift.FleetBase; diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/build-fleet.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/build-fleet.test.ts index 30f0782e3a6f7..6e74ae6017633 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/build-fleet.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/build-fleet.test.ts @@ -7,7 +7,6 @@ import * as cdk from 'aws-cdk-lib'; import * as gamelift from '../lib'; describe('build fleet', () => { - describe('new', () => { let stack: cdk.Stack; @@ -362,7 +361,6 @@ describe('build fleet', () => { expect(() => fleet.addIngressRule(gamelift.Peer.anyIpv4(), gamelift.Port.tcp(144))) .toThrow('No more than 50 ingress rules are allowed per fleet'); }); - }); describe('add locations', () => { @@ -679,5 +677,4 @@ describe('build fleet', () => { Annotations.fromStack(stack).hasWarning('/Default/MyBuildFleet', Match.stringLikeRegexp(warningMessage)); }); }); - }); diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/build.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/build.test.ts index b2d1698f273f5..ce14b0f19f038 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/build.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/build.test.ts @@ -7,7 +7,6 @@ import * as cxapi from 'aws-cdk-lib/cx-api'; import * as gamelift from '../lib'; describe('build', () => { - describe('new', () => { const localAsset = path.join(__dirname, 'my-game-build'); const contentBucketName = 'bucketname'; @@ -59,7 +58,6 @@ describe('build', () => { }, }, }); - }); }); @@ -73,7 +71,6 @@ describe('build', () => { Key: 'content', }, }); - }); }); diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/game-server-group.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/game-server-group.test.ts index b0a3a55cc70e3..e7f255a824a91 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/game-server-group.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/game-server-group.test.ts @@ -18,7 +18,6 @@ describe('gameservergroup', () => { }); test('default gameservergroup', () => { - new gamelift.GameServerGroup(stack, 'MyGameServerGroup', { instanceDefinitions: [{ instanceType: ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.LARGE), diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/game-session-queue.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/game-session-queue.test.ts index 5206a45db2c91..0873fe6437954 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/game-session-queue.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/game-session-queue.test.ts @@ -8,7 +8,6 @@ import * as cdk from 'aws-cdk-lib'; import * as gamelift from '../lib'; describe('gameSessionQueue', () => { - describe('new', () => { let stack: cdk.Stack; let fleet: gamelift.FleetBase; @@ -484,7 +483,6 @@ describe('gameSessionQueue', () => { }, }); }); - }); describe('test import methods', () => { diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/matchmaking-ruleset.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/matchmaking-ruleset.test.ts index f85256377ad17..60b20d7b209d0 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/matchmaking-ruleset.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/matchmaking-ruleset.test.ts @@ -4,7 +4,6 @@ import * as cdk from 'aws-cdk-lib'; import * as gamelift from '../lib'; describe('MatchmakingRuleSet', () => { - describe('new', () => { let stack: cdk.Stack; const ruleSetBody = JSON.stringify('{}'); diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/script.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/script.test.ts index 9fdfc83a7838e..668a456762568 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/script.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/script.test.ts @@ -95,7 +95,6 @@ describe('script', () => { }, }, }); - }); }); @@ -109,7 +108,6 @@ describe('script', () => { Key: 'content', }, }); - }); }); diff --git a/packages/@aws-cdk/aws-gamelift-alpha/test/standalone-matchmaking-configuration.test.ts b/packages/@aws-cdk/aws-gamelift-alpha/test/standalone-matchmaking-configuration.test.ts index f1f4aed3a51b6..46212f0b92850 100644 --- a/packages/@aws-cdk/aws-gamelift-alpha/test/standalone-matchmaking-configuration.test.ts +++ b/packages/@aws-cdk/aws-gamelift-alpha/test/standalone-matchmaking-configuration.test.ts @@ -5,7 +5,6 @@ import { Duration } from 'aws-cdk-lib'; import * as gamelift from '../lib'; describe('standaloneMatchmakingConfiguration', () => { - describe('new', () => { let stack: cdk.Stack; const ruleSetBody = JSON.stringify('{}'); @@ -242,7 +241,6 @@ describe('standaloneMatchmakingConfiguration', () => { }, }); }); - }); describe('test import methods', () => { diff --git a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/pyspark-flex-etl-job.ts b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/pyspark-flex-etl-job.ts index 5ef2187ea8070..03d77e1c7c955 100644 --- a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/pyspark-flex-etl-job.ts +++ b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/pyspark-flex-etl-job.ts @@ -168,7 +168,6 @@ export class PySparkFlexEtlJob extends Job { */ private setupSparkUI(role: iam.IRole, sparkUiProps: SparkUIProps) { - validateSparkUiPrefix(sparkUiProps.prefix); const bucket = sparkUiProps.bucket ?? new Bucket(this, 'SparkUIBucket', { enforceSSL: true, encryption: BucketEncryption.S3_MANAGED }); bucket.grantReadWrite(role, cleanSparkUiPrefixForGrant(sparkUiProps.prefix)); diff --git a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-etl-job.ts b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-etl-job.ts index 67bdf275105f7..a1da6c6620d6f 100644 --- a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-etl-job.ts +++ b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-etl-job.ts @@ -164,7 +164,6 @@ export class ScalaSparkEtlJob extends Job { } private setupSparkUI(role: iam.IRole, sparkUiProps: SparkUIProps) { - validateSparkUiPrefix(sparkUiProps.prefix); const bucket = sparkUiProps.bucket ?? new Bucket(this, 'SparkUIBucket', { enforceSSL: true, encryption: BucketEncryption.S3_MANAGED }); bucket.grantReadWrite(role, cleanSparkUiPrefixForGrant(sparkUiProps.prefix)); diff --git a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-flex-etl-job.ts b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-flex-etl-job.ts index 7d73540787def..5b56793ef6e86 100644 --- a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-flex-etl-job.ts +++ b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-flex-etl-job.ts @@ -192,7 +192,6 @@ export class ScalaSparkFlexEtlJob extends Job { args['--user-jars-first'] = 'true'; } return args; - } /** @@ -201,7 +200,6 @@ export class ScalaSparkFlexEtlJob extends Job { * @returns An array of arguments for enabling sparkUI */ private setupSparkUI(role: iam.IRole, sparkUiProps: SparkUIProps) { - validateSparkUiPrefix(sparkUiProps.prefix); const bucket = sparkUiProps.bucket ?? new Bucket(this, 'SparkUIBucket', { enforceSSL: true, encryption: BucketEncryption.S3_MANAGED }); bucket.grantReadWrite(role, cleanSparkUiPrefixForGrant(sparkUiProps.prefix)); diff --git a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-streaming-job.ts b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-streaming-job.ts index 5b4b9f9810c44..403070319b8e9 100644 --- a/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-streaming-job.ts +++ b/packages/@aws-cdk/aws-glue-alpha/lib/jobs/scala-spark-streaming-job.ts @@ -159,7 +159,6 @@ export class ScalaSparkStreamingJob extends Job { } private setupSparkUI(role: iam.IRole, sparkUiProps: SparkUIProps) { - validateSparkUiPrefix(sparkUiProps.prefix); const bucket = sparkUiProps.bucket ?? new Bucket(this, 'SparkUIBucket', { enforceSSL: true, encryption: BucketEncryption.S3_MANAGED }); bucket.grantReadWrite(role, cleanSparkUiPrefixForGrant(sparkUiProps.prefix)); diff --git a/packages/@aws-cdk/aws-glue-alpha/lib/security-configuration.ts b/packages/@aws-cdk/aws-glue-alpha/lib/security-configuration.ts index 570a4871d9329..7f61f2f4f979b 100644 --- a/packages/@aws-cdk/aws-glue-alpha/lib/security-configuration.ts +++ b/packages/@aws-cdk/aws-glue-alpha/lib/security-configuration.ts @@ -158,7 +158,6 @@ export class SecurityConfiguration extends cdk.Resource implements ISecurityConf */ public static fromSecurityConfigurationName(scope: constructs.Construct, id: string, securityConfigurationName: string): ISecurityConfiguration { - class Import extends cdk.Resource implements ISecurityConfiguration { public readonly securityConfigurationName = securityConfigurationName; } diff --git a/packages/@aws-cdk/aws-glue-alpha/test/constants.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/constants.test.ts index a14cb9d24cf2c..ce265bf44270d 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/constants.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/constants.test.ts @@ -14,7 +14,6 @@ describe('WorkerType', () => { test('.G_025X should set the name correctly', () => expect(glue.WorkerType.G_025X).toEqual('G.025X')); test('.Z_2X should set the name correctly', () => expect(glue.WorkerType.Z_2X).toEqual('Z.2X')); - }); describe('JobState', () => { @@ -31,21 +30,18 @@ describe('JobState', () => { test('STOPPING should set Job State correctly', () => expect(glue.JobState.STOPPING).toEqual('STOPPING')); test('TIMEOUT should set Job State correctly', () => expect(glue.JobState.TIMEOUT).toEqual('TIMEOUT')); - }); describe('Metric Type', () => { test('GAUGE should set Metric Type correctly', () => expect(glue.MetricType.GAUGE).toEqual('gauge')); test('COUNT should set Metric Type correctly', () => expect(glue.MetricType.COUNT).toEqual('count')); - }); describe('Execution Class', () => { test('FLEX should set Execution Class correctly', () => expect(glue.ExecutionClass.FLEX).toEqual('FLEX')); test('STANDARD should set Execution Class correctly', () => expect(glue.ExecutionClass.STANDARD).toEqual('STANDARD')); - }); describe('Glue Version', () => { @@ -58,14 +54,12 @@ describe('Glue Version', () => { test('V3_0 should set Glue Version correctly', () => expect(glue.GlueVersion.V3_0).toEqual('3.0')); test('V4_0 should set Glue Version correctly', () => expect(glue.GlueVersion.V4_0).toEqual('4.0')); - }); describe('Job Language', () => { test('PYTHON should set Job Language correctly', () => expect(glue.JobLanguage.PYTHON).toEqual('python')); test('SCALA should set Job Language correctly', () => expect(glue.JobLanguage.SCALA).toEqual('scala')); - }); describe('Python Version', () => { @@ -74,12 +68,10 @@ describe('Python Version', () => { test('THREE should set Python Version correctly', () => expect(glue.PythonVersion.THREE).toEqual('3')); test('THREE_NINE should set Python Version correctly', () => expect(glue.PythonVersion.THREE_NINE).toEqual('3.9')); - }); describe('Runtime', () => { test('RAY_TWO_FOUR should set Runtime correctly', () => expect(glue.Runtime.RAY_TWO_FOUR).toEqual('Ray2.4')); - }); describe('JobType', () => { @@ -90,5 +82,4 @@ describe('JobType', () => { test('RAY should set Runtime correctly', () => expect(glue.JobType.RAY).toEqual('glueray')); test('STREAMING should set Runtime correctly', () => expect(glue.JobType.STREAMING).toEqual('gluestreaming')); - }); diff --git a/packages/@aws-cdk/aws-glue-alpha/test/database.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/database.test.ts index 2379c07071808..34ac1b98cb18f 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/database.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/database.test.ts @@ -31,7 +31,6 @@ test('default database does not create a bucket', () => { }, }, }); - }); test('explicit locationURI', () => { @@ -55,7 +54,6 @@ test('explicit locationURI', () => { }, }, }); - }); test('explicit description', () => { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-etl-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-etl-jobs.test.ts index 44e9ee4a4d409..5a8d5b67f7956 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-etl-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-etl-jobs.test.ts @@ -21,7 +21,6 @@ describe('Job', () => { }); describe('Create new PySpark ETL Job with default parameters', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { role, @@ -80,7 +79,6 @@ describe('Job', () => { }); describe('Create new PySpark ETL Job with log override parameters', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { jobName: 'PySparkETLJob', @@ -120,11 +118,9 @@ describe('Job', () => { JobRunQueuingEnabled: false, }); }); - }); describe('Create new PySpark ETL Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { jobName: 'PySparkETLJob', @@ -145,11 +141,9 @@ describe('Job', () => { }, }); }); - }); describe('Create PySpark ETL Job with G2 worker type with 2 workers', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { role, @@ -200,7 +194,6 @@ describe('Job', () => { }); describe('Create PySpark ETL Job with G4 worker type with 4 workers', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { role, @@ -251,7 +244,6 @@ describe('Job', () => { }); describe('Create PySpark ETL Job with G8 worker type and 8 workers', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { role, @@ -302,7 +294,6 @@ describe('Job', () => { }); describe('Override SparkUI properties for PySpark ETL Job', () => { - beforeEach(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { @@ -355,7 +346,6 @@ describe('Job', () => { }); describe('Invalid overrides should cause errors', () => { - test('Invalid SparkUI prefix should throw an error', () => { expect(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); @@ -373,11 +363,9 @@ describe('Job', () => { }); }).toThrow('Invalid prefix format (value: prefix)'); }); - }); describe('Create PySpark ETL Job with extraPythonFiles and extraFiles', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { role, @@ -438,7 +426,6 @@ describe('Job', () => { }); describe('Create PySpark ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { jobName: 'PySparkETLJobCustomName', @@ -552,7 +539,6 @@ describe('Job', () => { }); describe('Create PySpark ETL Job with overridden job run queueing', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { jobName: 'PySparkETLJobCustomName', @@ -671,5 +657,4 @@ describe('Job', () => { }); }); }); - }); diff --git a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-flex-etl-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-flex-etl-jobs.test.ts index ae9c1e7b677a6..84fd9a8cc5c04 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-flex-etl-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-flex-etl-jobs.test.ts @@ -20,7 +20,6 @@ describe('Job', () => { }); describe('Create new PySpark ETL Flex Job with default parameters', () => { - beforeEach(() => { job = new glue.PySparkFlexEtlJob(stack, 'ImportedJob', { role, script }); }); @@ -74,11 +73,9 @@ describe('Job', () => { JobRunQueuingEnabled: false, }); }); - }); describe('Create new PySpark ETL Job with log override parameters', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'PySparkETLJob', { jobName: 'PySparkETLJob', @@ -112,11 +109,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new PySpark ETL Flex Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.PySparkFlexEtlJob(stack, 'PySparkFlexETLJob', { jobName: 'PySparkFlexETLJob', @@ -137,11 +132,9 @@ describe('Job', () => { }, }); }); - }); describe('Create pySpark ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.PySparkEtlJob(stack, 'pySparkEtlJob', { jobName: 'pySparkEtlJob', @@ -253,5 +246,4 @@ describe('Job', () => { }); }); }); - }); diff --git a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-streaming-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-streaming-jobs.test.ts index ce22721af335d..b47095d61e5e8 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/pyspark-streaming-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/pyspark-streaming-jobs.test.ts @@ -21,7 +21,6 @@ describe('Job', () => { }); describe('Create new PySpark Streaming Job with default parameters', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script }); }); @@ -88,7 +87,6 @@ describe('Job', () => { }); describe('Create new PySpark Streaming Job with log override parameters', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { jobName: 'PySparkStreamingJob', @@ -122,11 +120,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new PySpark Streaming Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { jobName: 'PySparkStreamingJob', @@ -147,11 +143,9 @@ describe('Job', () => { }, }); }); - }); describe('Create PySpark Streaming Job with G2 worker type with 2 workers', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { role, @@ -212,7 +206,6 @@ describe('Job', () => { }); describe('Create PySpark Streaming Job with G4 worker type with 4 workers', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { role, @@ -263,7 +256,6 @@ describe('Job', () => { }); describe('Create PySpark Streaming Job with G8 worker type and 8 workers', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { role, @@ -314,7 +306,6 @@ describe('Job', () => { }); describe('Override SparkUI properties for PySpark Streaming Job', () => { - beforeEach(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { @@ -367,7 +358,6 @@ describe('Job', () => { }); describe('Invalid overrides should cause errors', () => { - test('Invalid SparkUI prefix should throw an error', () => { expect(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); @@ -385,11 +375,9 @@ describe('Job', () => { }); }).toThrow('Invalid prefix format (value: prefix)'); }); - }); describe('Create PySpark Streaming Job with extraPythonFiles and extraFiles', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { role, @@ -450,7 +438,6 @@ describe('Job', () => { }); describe('Create PySpark Streaming Job with optional properties', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { jobName: 'PySparkStreamingJobCustomName', @@ -574,7 +561,6 @@ describe('Job', () => { }); describe('Create PySpark Streaming Job with job run queuing enabled', () => { - beforeEach(() => { job = new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', { jobName: 'PySparkStreamingJobCustomName', diff --git a/packages/@aws-cdk/aws-glue-alpha/test/python-shell-job.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/python-shell-job.test.ts index d66ae5fe9d95d..ff8fc000e8713 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/python-shell-job.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/python-shell-job.test.ts @@ -20,7 +20,6 @@ describe('Job', () => { }); describe('Create new Python Shell Job with default parameters', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'ImportedJob', { role, script }); }); @@ -79,11 +78,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new Python Shell Job with log override parameters', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'PythonShellJob', { jobName: 'PythonShellJob', @@ -117,11 +114,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new Python Shell Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'PythonShellJob', { jobName: 'PythonShellJob', @@ -142,11 +137,9 @@ describe('Job', () => { }, }); }); - }); describe('Create Python Shell Job with overridden Python verion and max capacity', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'PythonShellJob', { role, @@ -181,11 +174,9 @@ describe('Job', () => { MaxCapacity: 1, }); }); - }); describe('Create Python Shell Job with optional properties', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'PythonShellJob', { jobName: 'PythonShellJobCustomName', @@ -305,7 +296,6 @@ describe('Job', () => { }); describe('Create Python Shell Job with job run queuing enabled', () => { - beforeEach(() => { job = new glue.PythonShellJob(stack, 'PythonShellJob', { jobName: 'PythonShellJobCustomName', diff --git a/packages/@aws-cdk/aws-glue-alpha/test/ray-job.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/ray-job.test.ts index 71cb6d67d3bcb..a40a24ed5c386 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/ray-job.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/ray-job.test.ts @@ -21,7 +21,6 @@ describe('Job', () => { }); describe('Create new Ray Job with default parameters', () => { - beforeEach(() => { job = new glue.RayJob(stack, 'ImportedJob', { role, script }); }); @@ -68,11 +67,9 @@ describe('Job', () => { JobRunQueuingEnabled: false, }); }); - }); describe('Create new Ray Job with log override parameters', () => { - beforeEach(() => { job = new glue.RayJob(stack, 'RayJob', { jobName: 'RayJob', @@ -105,11 +102,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new Ray Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.RayJob(stack, 'RayJob', { jobName: 'RayJob', @@ -129,11 +124,9 @@ describe('Job', () => { }, }); }); - }); describe('Create Ray Job with optional override parameters', () => { - beforeEach(() => { job = new glue.RayJob(stack, 'ImportedJob', { role, @@ -255,7 +248,6 @@ describe('Job', () => { }); describe('Create Ray Job with job run queuing enabled', () => { - beforeEach(() => { job = new glue.RayJob(stack, 'ImportedJob', { role, @@ -384,7 +376,6 @@ describe('Job', () => { }); describe('Invalid overrides should cause errors', () => { - test('Create Ray Job overriding only workerType to cause an Error', () => { expect(() => { job = new glue.RayJob(stack, 'RayJob', { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-etl-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-etl-jobs.test.ts index 4e6c26bf53317..613fbfe77fe66 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-etl-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-etl-jobs.test.ts @@ -23,7 +23,6 @@ describe('Job', () => { }); describe('Create new Scala Spark ETL Job with default parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ImportedJob', { role, script, className }); }); @@ -80,7 +79,6 @@ describe('Job', () => { }); describe('Create new Scala ETL Job with log override parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { jobName: 'ScalaSparkEtlJob', @@ -115,11 +113,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new Scala ETL Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { jobName: 'ScalaSparkEtlJob', @@ -141,11 +137,9 @@ describe('Job', () => { }, }); }); - }); describe('Create ScalaSpark ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { jobName: 'ScalaSparkEtlJob', @@ -260,7 +254,6 @@ describe('Job', () => { }); describe('Create ScalaSpark ETL Job with job run queuing enabled', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { jobName: 'ScalaSparkEtlJob', @@ -382,7 +375,6 @@ describe('Job', () => { }); describe('Create ScalaSpark ETL Job with extraJars', () => { - beforeEach(() => { job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { role, @@ -438,7 +430,6 @@ describe('Job', () => { }); describe('Override SparkUI properties for ScalaSpark ETL Job', () => { - beforeEach(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); job = new glue.ScalaSparkEtlJob(stack, 'ScalaSparkEtlJob', { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-flex-etl-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-flex-etl-jobs.test.ts index 3ae334a6be572..1c2b9375fc7d5 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-flex-etl-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-flex-etl-jobs.test.ts @@ -23,7 +23,6 @@ describe('Job', () => { }); describe('Create new Scala Spark ETL Flex Job with default parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkFlexEtlJob(stack, 'ImportedJob', { role, script, className }); }); @@ -80,7 +79,6 @@ describe('Job', () => { }); describe('Create new ScalaSpark ETL Job with log override parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkFlexEtlJob(stack, 'ScalaSparkFlexETLJob', { jobName: 'ScalaSparkFlexETLJob', @@ -115,11 +113,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new ScalaSpark ETL Flex Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.ScalaSparkFlexEtlJob(stack, 'ScalaSparkFlexETLJob', { jobName: 'ScalaSparkFlexETLJob', @@ -144,7 +140,6 @@ describe('Job', () => { }); describe('Create ScalaSpark Flex ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.ScalaSparkFlexEtlJob(stack, 'ScalaSparkFlexEtlJob', { jobName: 'ScalaSparkFlexEtlJob', @@ -259,7 +254,6 @@ describe('Job', () => { }); describe('Create ScalaSpark Flex ETL Job with extraJars and extraFiles', () => { - beforeEach(() => { job = new glue.ScalaSparkFlexEtlJob(stack, 'ScalaSparkFlexEtlJob', { role, @@ -321,7 +315,6 @@ describe('Job', () => { }); describe('Override SparkUI properties for ScalaSpark Flex ETL Job', () => { - beforeEach(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); job = new glue.ScalaSparkFlexEtlJob(stack, 'ScalaSparkFlexEtlJob', { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-streaming-jobs.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-streaming-jobs.test.ts index da8dca9895c3f..7005024bc20b7 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-streaming-jobs.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/scalaspark-streaming-jobs.test.ts @@ -23,7 +23,6 @@ describe('Job', () => { }); describe('Create new Scala Spark Streaming Job with default parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkStreamingJob(stack, 'ImportedJob', { role, script, className }); }); @@ -80,7 +79,6 @@ describe('Job', () => { }); describe('Create new ScalaSpark Streaming Job with log override parameters', () => { - beforeEach(() => { job = new glue.ScalaSparkStreamingJob(stack, 'ScalaSparkStreamingJob', { jobName: 'ScalaSparkStreamingJob', @@ -115,11 +113,9 @@ describe('Job', () => { }), }); }); - }); describe('Create new ScalaSpark Streaming Job with logging explicitly disabled', () => { - beforeEach(() => { job = new glue.ScalaSparkStreamingJob(stack, 'ScalaSparkStreamingJob', { jobName: 'ScalaSparkStreamingJob', @@ -141,11 +137,9 @@ describe('Job', () => { }, }); }); - }); describe('Create ScalaSpark Streaming ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.ScalaSparkStreamingJob(stack, 'ScalaSparkStreamingJob', { jobName: 'ScalaSparkStreamingJob', @@ -260,7 +254,6 @@ describe('Job', () => { }); describe('Create ScalaSpark Streaming ETL Job with optional properties', () => { - beforeEach(() => { job = new glue.ScalaSparkStreamingJob(stack, 'ScalaSparkStreamingJob', { jobName: 'ScalaSparkStreamingJob', @@ -382,7 +375,6 @@ describe('Job', () => { }); describe('Override SparkUI properties for ScalaSpark Streaming ETL Job', () => { - beforeEach(() => { sparkUIBucket = new s3.Bucket(stack, 'sparkUIbucket', { bucketName: 'bucket-name' }); job = new glue.ScalaSparkStreamingJob(stack, 'ScalaSparkStreamingJob', { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/table-deprecated.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/table-deprecated.test.ts index cc7b458047cfa..2a3299be71389 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/table-deprecated.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/table-deprecated.test.ts @@ -1380,7 +1380,6 @@ describe('validate', () => { columns: [], }); }).toThrow('you must specify at least one column for the table'); - }); test('unique column names', () => { @@ -1395,7 +1394,6 @@ describe('validate', () => { }], }); }).toThrow("column names and partition keys must be unique, but 'col1' is duplicated"); - }); test('unique partition keys', () => { @@ -1414,7 +1412,6 @@ describe('validate', () => { }], }); }).toThrow("column names and partition keys must be unique, but 'p1' is duplicated"); - }); test('column names and partition keys are all unique', () => { @@ -1430,7 +1427,6 @@ describe('validate', () => { }], }); }).toThrow("column names and partition keys must be unique, but 'col1' is duplicated"); - }); test('can not specify an explicit bucket and encryption', () => { diff --git a/packages/@aws-cdk/aws-glue-alpha/test/workflow-triggers.test.ts b/packages/@aws-cdk/aws-glue-alpha/test/workflow-triggers.test.ts index 49a9d536561ba..c9ad807b07272 100644 --- a/packages/@aws-cdk/aws-glue-alpha/test/workflow-triggers.test.ts +++ b/packages/@aws-cdk/aws-glue-alpha/test/workflow-triggers.test.ts @@ -61,7 +61,6 @@ describe('Workflow and Triggers', () => { }, }, ); - }); test('creates a workflow with conditional trigger', () => { diff --git a/packages/@aws-cdk/aws-ivs-alpha/lib/recording-configuration.ts b/packages/@aws-cdk/aws-ivs-alpha/lib/recording-configuration.ts index eea64a80d4bea..d594d810240bf 100644 --- a/packages/@aws-cdk/aws-ivs-alpha/lib/recording-configuration.ts +++ b/packages/@aws-cdk/aws-ivs-alpha/lib/recording-configuration.ts @@ -79,7 +79,6 @@ export class RecordingConfiguration extends Resource implements IRecordingConfig */ public static fromRecordingConfigurationId(scope: Construct, id: string, recordingConfigurationId: string): IRecordingConfiguration { - class Import extends Resource implements IRecordingConfiguration { public readonly recordingConfigurationId = recordingConfigurationId; public readonly recordingConfigurationArn = Stack.of(this).formatArn({ diff --git a/packages/@aws-cdk/aws-ivs-alpha/lib/thumbnail-configuration.ts b/packages/@aws-cdk/aws-ivs-alpha/lib/thumbnail-configuration.ts index ba8d060bdf832..a1f105b59e66f 100644 --- a/packages/@aws-cdk/aws-ivs-alpha/lib/thumbnail-configuration.ts +++ b/packages/@aws-cdk/aws-ivs-alpha/lib/thumbnail-configuration.ts @@ -65,7 +65,6 @@ export class ThumbnailConfiguration { public readonly storage?: Storage[], public readonly targetInterval?: Duration, ) { - if (targetInterval === undefined || Token.isUnresolved(targetInterval)) { return; } diff --git a/packages/@aws-cdk/aws-ivs-alpha/test/recording-configuration.test.ts b/packages/@aws-cdk/aws-ivs-alpha/test/recording-configuration.test.ts index eb38d25e413f1..a7f5d1c52825c 100644 --- a/packages/@aws-cdk/aws-ivs-alpha/test/recording-configuration.test.ts +++ b/packages/@aws-cdk/aws-ivs-alpha/test/recording-configuration.test.ts @@ -239,7 +239,6 @@ describe('IVS Recording Configuration', () => { describe('validateRecordingReconnectWindowSeconds test', () => { test('throws when recordingReconnectWindow is smaller than 1 second.', () => { - expect(() => { new RecordingConfiguration(stack, 'MyRecordingConfiguration', { bucket, diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts index 8e5aa0c784eda..2c35b636ce0b9 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts @@ -40,7 +40,6 @@ describe('S3 destination', () => { }); it('creates a role when none is provided', () => { - new firehose.DeliveryStream(stack, 'DeliveryStream', { destination: new firehosedestinations.S3Bucket(bucket), }); diff --git a/packages/@aws-cdk/aws-lambda-go-alpha/lib/bundling.ts b/packages/@aws-cdk/aws-lambda-go-alpha/lib/bundling.ts index f9f8f4eb27026..77a5bdba507ef 100644 --- a/packages/@aws-cdk/aws-lambda-go-alpha/lib/bundling.ts +++ b/packages/@aws-cdk/aws-lambda-go-alpha/lib/bundling.ts @@ -165,7 +165,6 @@ export class Bundling implements cdk.BundlingOptions { // Local bundling if (!props.forcedDockerBundling) { // only if Docker is not forced - const osPlatform = os.platform(); const createLocalCommand = (outputDir: string) => this.createBundlingCommand(projectRoot, outputDir, osPlatform); diff --git a/packages/@aws-cdk/aws-lambda-python-alpha/test/bundling.test.ts b/packages/@aws-cdk/aws-lambda-python-alpha/test/bundling.test.ts index 54b61b3c03a34..9a108cda638e5 100644 --- a/packages/@aws-cdk/aws-lambda-python-alpha/test/bundling.test.ts +++ b/packages/@aws-cdk/aws-lambda-python-alpha/test/bundling.test.ts @@ -280,7 +280,6 @@ test('Bundling a function with poetry and assetExcludes', () => { ], }), })); - }); test('Bundling a function with poetry and no assetExcludes', () => { diff --git a/packages/@aws-cdk/aws-lambda-python-alpha/test/integ.function.ts b/packages/@aws-cdk/aws-lambda-python-alpha/test/integ.function.ts index 1ad48ddb55e30..dd433b6073457 100644 --- a/packages/@aws-cdk/aws-lambda-python-alpha/test/integ.function.ts +++ b/packages/@aws-cdk/aws-lambda-python-alpha/test/integ.function.ts @@ -55,7 +55,6 @@ class TestStack extends Stack { new CfnOutput(this, 'functionWithCustomPypi', { value: functionWithCustomPypi.functionArn, }); - } } diff --git a/packages/@aws-cdk/aws-location-alpha/lib/geofence-collection.ts b/packages/@aws-cdk/aws-location-alpha/lib/geofence-collection.ts index 20a70aa754d8a..ea1d51d6307b8 100644 --- a/packages/@aws-cdk/aws-location-alpha/lib/geofence-collection.ts +++ b/packages/@aws-cdk/aws-location-alpha/lib/geofence-collection.ts @@ -113,7 +113,6 @@ export class GeofenceCollection extends Resource implements IGeofenceCollection public readonly geofenceCollectionUpdateTime: string; constructor(scope: Construct, id: string, props: GeofenceCollectionProps = {}) { - if (props.description && !Token.isUnresolved(props.description) && props.description.length > 1000) { throw new Error(`\`description\` must be between 0 and 1000 characters. Received: ${props.description.length} characters`); } diff --git a/packages/@aws-cdk/aws-location-alpha/lib/route-calculator.ts b/packages/@aws-cdk/aws-location-alpha/lib/route-calculator.ts index 63d83ee373ec3..d891dda58a3cc 100644 --- a/packages/@aws-cdk/aws-location-alpha/lib/route-calculator.ts +++ b/packages/@aws-cdk/aws-location-alpha/lib/route-calculator.ts @@ -109,7 +109,6 @@ export class RouteCalculator extends Resource implements IRouteCalculator { public readonly routeCalculatorUpdateTime: string; constructor(scope: Construct, id: string, props: RouteCalculatorProps) { - if (props.description && !Token.isUnresolved(props.description) && props.description.length > 1000) { throw new Error(`\`description\` must be between 0 and 1000 characters. Received: ${props.description.length} characters`); } diff --git a/packages/@aws-cdk/aws-location-alpha/lib/tracker.ts b/packages/@aws-cdk/aws-location-alpha/lib/tracker.ts index 8f3049f4e240d..e862ee04cfc6e 100644 --- a/packages/@aws-cdk/aws-location-alpha/lib/tracker.ts +++ b/packages/@aws-cdk/aws-location-alpha/lib/tracker.ts @@ -172,7 +172,6 @@ export class Tracker extends Resource implements ITracker { public readonly trackerUpdateTime: string; constructor(scope: Construct, id: string, props: TrackerProps = {}) { - if (props.description && !Token.isUnresolved(props.description) && props.description.length > 1000) { throw new Error(`\`description\` must be between 0 and 1000 characters. Received: ${props.description.length} characters`); } diff --git a/packages/@aws-cdk/aws-msk-alpha/lib/cluster.ts b/packages/@aws-cdk/aws-msk-alpha/lib/cluster.ts index ffb6226e51402..55400bf498973 100644 --- a/packages/@aws-cdk/aws-msk-alpha/lib/cluster.ts +++ b/packages/@aws-cdk/aws-msk-alpha/lib/cluster.ts @@ -837,7 +837,6 @@ export class Cluster extends ClusterBase { }); } return this._clusterBootstrapBrokers.getResponseField(responseField); - } /** * Get the list of brokers that a client application can use to bootstrap diff --git a/packages/@aws-cdk/aws-msk-alpha/test/integ.cluster.ts b/packages/@aws-cdk/aws-msk-alpha/test/integ.cluster.ts index 3530b033668f5..41e384c278c13 100644 --- a/packages/@aws-cdk/aws-msk-alpha/test/integ.cluster.ts +++ b/packages/@aws-cdk/aws-msk-alpha/test/integ.cluster.ts @@ -195,7 +195,6 @@ class FeatureFlagStack extends cdk.Stack { removalPolicy: cdk.RemovalPolicy.DESTROY, }); new cdk.CfnOutput(this, 'BootstrapBrokers9', { value: cluster7.bootstrapBrokersTls }); - } } diff --git a/packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts index df6db3487db4c..7173c4034d8da 100644 --- a/packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts @@ -9,7 +9,6 @@ import * as cdk from 'aws-cdk-lib'; import { ClusterParameterGroup, DatabaseCluster, EngineVersion, InstanceType, LogType } from '../lib'; describe('DatabaseCluster', () => { - test('check that instantiation works', () => { // GIVEN const stack = testStack(); @@ -641,7 +640,6 @@ describe('DatabaseCluster', () => { }); test('autoMinorVersionUpgrade is enabled when configured', () => { - // GIVEN const stack = testStack(); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -657,11 +655,9 @@ describe('DatabaseCluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::Neptune::DBInstance', { AutoMinorVersionUpgrade: true, }); - }); test('autoMinorVersionUpgrade is not enabled when not configured', () => { - // GIVEN const stack = testStack(); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -676,7 +672,6 @@ describe('DatabaseCluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::Neptune::DBInstance', { AutoMinorVersionUpgrade: false, }); - }); test('cloudwatchLogsExports is enabled when configured', () => { diff --git a/packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts index cd5bd17bd3af2..9578e9d9fdf66 100644 --- a/packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts +++ b/packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts @@ -11,5 +11,4 @@ describe('Endpoint', () => { expect(endpoint.port).toBe(port); } }); - }); diff --git a/packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts index 6da616f6fbd1b..500d859e22e71 100644 --- a/packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts +++ b/packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts @@ -3,7 +3,6 @@ import { Stack } from 'aws-cdk-lib'; import { ClusterParameterGroup, ParameterGroup, ParameterGroupFamily } from '../lib'; describe('ClusterParameterGroup', () => { - test('create a cluster parameter group', () => { // GIVEN const stack = new Stack(); diff --git a/packages/@aws-cdk/aws-pipes-alpha/lib/inputTransformation.ts b/packages/@aws-cdk/aws-pipes-alpha/lib/inputTransformation.ts index 8cd2c729a4b19..535ee9483c55a 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/lib/inputTransformation.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/lib/inputTransformation.ts @@ -71,7 +71,6 @@ export class InputTransformation implements IInputTransformation { } public bind(pipe: IPipe): InputTransformationConfig { - if (this.type === 'Text') { return { inputTemplate: this.inputTemplate as string }; } @@ -85,7 +84,6 @@ export class InputTransformation implements IInputTransformation { } private unquoteDynamicInputs(sub: string) { - return Lazy.uncachedString({ produce: (ctx: IResolveContext) => Token.asString(deepUnquote(ctx.resolve(sub))) }); /** diff --git a/packages/@aws-cdk/aws-pipes-alpha/lib/pipe.ts b/packages/@aws-cdk/aws-pipes-alpha/lib/pipe.ts index eb60a6053a983..cefc75fbf0bc2 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/lib/pipe.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/lib/pipe.ts @@ -206,7 +206,6 @@ export class Pipe extends PipeBase { * Creates a pipe from the name of a pipe. */ static fromPipeName(scope: Construct, id: string, pipeName: string): IPipe { - return new ImportedPipe(scope, id, pipeName); } @@ -215,7 +214,6 @@ export class Pipe extends PipeBase { public readonly pipeRole: IRole; constructor(scope: Construct, id: string, props: PipeProps) { - super(scope, id, { physicalName: props.pipeName }); /** diff --git a/packages/@aws-cdk/aws-pipes-alpha/test/filterPattern.test.ts b/packages/@aws-cdk/aws-pipes-alpha/test/filterPattern.test.ts index 15bbe072553fb..52f729c9d8d89 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/test/filterPattern.test.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/test/filterPattern.test.ts @@ -18,5 +18,4 @@ describe('FilterPattern', () => { ); }); }); - }); diff --git a/packages/@aws-cdk/aws-pipes-alpha/test/inputTransformation.test.ts b/packages/@aws-cdk/aws-pipes-alpha/test/inputTransformation.test.ts index b497305d38f2b..4228cfee369a2 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/test/inputTransformation.test.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/test/inputTransformation.test.ts @@ -246,5 +246,4 @@ describe('InputTransformation', () => { }); }, ); - }); diff --git a/packages/@aws-cdk/aws-pipes-alpha/test/pipe.test.ts b/packages/@aws-cdk/aws-pipes-alpha/test/pipe.test.ts index 0e4575775907b..097825675ec83 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/test/pipe.test.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/test/pipe.test.ts @@ -89,7 +89,6 @@ describe('Pipe', () => { }, }, ); - }); it('should add filter criteria to the source parameters', () => { @@ -124,7 +123,6 @@ describe('Pipe', () => { }, }, ); - }); it('should merge filter criteria and source parameters', () => { // GIVEN @@ -168,7 +166,6 @@ describe('Pipe', () => { }, }, ); - }); test('grantPush is called for sources with an SNS topic DLQ', () => { @@ -242,7 +239,6 @@ describe('Pipe', () => { }); describe('target', () => { - it('should grant push permissions to the target', () => { // WHEN const pipe = new Pipe(stack, 'TestPipe', { @@ -372,7 +368,6 @@ describe('Pipe', () => { expect(source.grantRead).toHaveBeenCalledWith(role); expect(target.grantPush).toHaveBeenCalledWith(role); expect(enrichment.grantInvoke).toHaveBeenCalledWith(role); - }); it('should call grant on the provided role', () => { diff --git a/packages/@aws-cdk/aws-pipes-alpha/test/unquoteVariables.test.ts b/packages/@aws-cdk/aws-pipes-alpha/test/unquoteVariables.test.ts index 0866c67c89420..37b7b0dee556b 100644 --- a/packages/@aws-cdk/aws-pipes-alpha/test/unquoteVariables.test.ts +++ b/packages/@aws-cdk/aws-pipes-alpha/test/unquoteVariables.test.ts @@ -10,7 +10,6 @@ describe('unquote', () => { const result = unquote(stringValue); expect(result).toBe('{"pipeName":"some-name"}'); - }); it('should unquote single variables', () => { @@ -21,7 +20,6 @@ describe('unquote', () => { const result = unquote(stringValue); expect(result).toBe('{"pipeName":}'); - }); it('should unquote multiple variables', () => { @@ -33,7 +31,6 @@ describe('unquote', () => { const result = unquote(stringValue); expect(result).toBe('{"pipeName":,"pipeArn":}'); - }); it('should unquote single event path expression', () => { @@ -44,7 +41,6 @@ describe('unquote', () => { const result = unquote(stringValue); expect(result).toBe('{"pipeName":<$.foo.bar>}'); - }); it('should unquote multiple event path expressions', () => { @@ -56,7 +52,6 @@ describe('unquote', () => { const result = unquote(stringValue); expect(result).toBe('{"pipeName":<$.foo.bar>,"second":<$.foo.baz>}'); - }); it('should unquote variables and event path expressions', () => { @@ -69,5 +64,4 @@ describe('unquote', () => { expect(result).toBe('{"pipeName":<$.foo.bar>,"second":<$.foo.baz>}'); }); - }); diff --git a/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-destination.ts b/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-destination.ts index fcf76fa2a18af..05fdcf532caa5 100644 --- a/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-destination.ts +++ b/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-destination.ts @@ -56,7 +56,6 @@ export class ApiDestinationEnrichment implements IEnrichment { } bind(pipe: IPipe): EnrichmentParametersConfig { - const httpParameters: CfnPipe.PipeEnrichmentHttpParametersProperty | undefined = this.headerParameters ?? this.pathParameterValues ?? diff --git a/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-gateway.ts b/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-gateway.ts index 1701f40d0e484..75a13782fca37 100644 --- a/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-gateway.ts +++ b/packages/@aws-cdk/aws-pipes-enrichments-alpha/lib/api-gateway.ts @@ -81,7 +81,6 @@ export class ApiGatewayEnrichment implements IEnrichment { } bind(pipe: IPipe): EnrichmentParametersConfig { - const httpParameters: CfnPipe.PipeEnrichmentHttpParametersProperty | undefined = this.headerParameters ?? this.pathParameterValues ?? diff --git a/packages/@aws-cdk/aws-pipes-enrichments-alpha/test/api-gateway.test.ts b/packages/@aws-cdk/aws-pipes-enrichments-alpha/test/api-gateway.test.ts index 8ee32a218ab4c..6f286b71d437e 100644 --- a/packages/@aws-cdk/aws-pipes-enrichments-alpha/test/api-gateway.test.ts +++ b/packages/@aws-cdk/aws-pipes-enrichments-alpha/test/api-gateway.test.ts @@ -16,7 +16,6 @@ describe('api-destination', () => { restApi = new RestApi(stack, 'RestApi'); restApi.root.addResource('test').addMethod('GET'); - }); it('should have only enrichment arn', () => { diff --git a/packages/@aws-cdk/aws-pipes-targets-alpha/test/lambda.test.ts b/packages/@aws-cdk/aws-pipes-targets-alpha/test/lambda.test.ts index 0755a0d896f4e..13dd69704def0 100644 --- a/packages/@aws-cdk/aws-pipes-targets-alpha/test/lambda.test.ts +++ b/packages/@aws-cdk/aws-pipes-targets-alpha/test/lambda.test.ts @@ -6,7 +6,6 @@ import { TestSource } from './test-classes'; import { LambdaFunction } from '../lib/lambda'; describe('lambda-function', () => { - it('should have only target arn and default invocation type REQUEST_RESPONSE', () => { // ARRANGE const app = new App(); @@ -153,6 +152,5 @@ describe('lambda-function', () => { }, }, }); - }); }); diff --git a/packages/@aws-cdk/aws-pipes-targets-alpha/test/stepfunctions.test.ts b/packages/@aws-cdk/aws-pipes-targets-alpha/test/stepfunctions.test.ts index cc8b5926b6040..9029559738cf4 100644 --- a/packages/@aws-cdk/aws-pipes-targets-alpha/test/stepfunctions.test.ts +++ b/packages/@aws-cdk/aws-pipes-targets-alpha/test/stepfunctions.test.ts @@ -6,7 +6,6 @@ import { TestSource } from './test-classes'; import { StateMachineInvocationType, SfnStateMachine } from '../lib/stepfunctions'; describe('step-function', () => { - it('should have only target arn', () => { // ARRANGE const app = new App(); @@ -332,5 +331,4 @@ describe('step-function', () => { new SfnStateMachine(stateMachine, { invocationType: StateMachineInvocationType.REQUEST_RESPONSE }); }).toThrow(new Error('STANDARD state machine workflows do not support the REQUEST_RESPONSE invocation type. Use FIRE_AND_FORGET instead.')); }); - }); diff --git a/packages/@aws-cdk/aws-redshift-alpha/test/cluster.test.ts b/packages/@aws-cdk/aws-redshift-alpha/test/cluster.test.ts index 219541ade73d6..b0d9c15ca6fc3 100644 --- a/packages/@aws-cdk/aws-redshift-alpha/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-redshift-alpha/test/cluster.test.ts @@ -181,7 +181,6 @@ test('creates a secret with a custom excludeCharacters', () => { }); describe('node count', () => { - test('Single Node Clusters do not define node count', () => { // WHEN new Cluster(stack, 'Redshift', { @@ -324,11 +323,9 @@ describe('parameter group', () => { Template.fromStack(stack).hasResourceProperties('AWS::Redshift::Cluster', { ClusterParameterGroupName: { Ref: 'ParamsA8366201' }, }); - }); test('Adding to the cluster parameter group on a cluster not instantiated with a parameter group', () => { - // WHEN const cluster = new Cluster(stack, 'Redshift', { clusterName: 'foobar', @@ -358,7 +355,6 @@ describe('parameter group', () => { }); test('Adding to the cluster parameter group on a cluster instantiated with a parameter group', () => { - // WHEN const group = new ClusterParameterGroup(stack, 'Params', { description: 'lorem ipsum', @@ -413,7 +409,6 @@ describe('parameter group', () => { // THEN .toThrow('Cannot add a parameter to an imported parameter group'); }); - }); test('publicly accessible cluster', () => { @@ -556,7 +551,6 @@ test('throws when trying to add rotation to a cluster without secret', () => { expect(() => { cluster.addRotationSingleUser(); }).toThrow(); - }); test('throws validation error when trying to set encryptionKey without enabling encryption', () => { @@ -577,7 +571,6 @@ test('throws validation error when trying to set encryptionKey without enabling expect(() => { new Cluster(stack, 'Redshift', props); }).toThrow(); - }); test('throws when trying to add single user rotation multiple times', () => { @@ -917,7 +910,6 @@ describe('reboot for Parameter Changes', () => { }); describe('default IAM role', () => { - test('Default role not in role list', () => { // GIVEN const clusterRole1 = new iam.Role(stack, 'clusterRole1', { assumedBy: new iam.ServicePrincipal('redshift.amazonaws.com') }); diff --git a/packages/@aws-cdk/aws-redshift-alpha/test/parameter-group.test.ts b/packages/@aws-cdk/aws-redshift-alpha/test/parameter-group.test.ts index 8c507f16e3b50..f25ce66d9a551 100644 --- a/packages/@aws-cdk/aws-redshift-alpha/test/parameter-group.test.ts +++ b/packages/@aws-cdk/aws-redshift-alpha/test/parameter-group.test.ts @@ -25,7 +25,6 @@ test('create a cluster parameter group', () => { }, ], }); - }); describe('Adding parameters to an existing group', () => { diff --git a/packages/@aws-cdk/aws-route53resolver-alpha/lib/firewall-domain-list.ts b/packages/@aws-cdk/aws-route53resolver-alpha/lib/firewall-domain-list.ts index 162588ea0327a..7615d3e1557e5 100644 --- a/packages/@aws-cdk/aws-route53resolver-alpha/lib/firewall-domain-list.ts +++ b/packages/@aws-cdk/aws-route53resolver-alpha/lib/firewall-domain-list.ts @@ -113,7 +113,6 @@ export abstract class FirewallDomains { return { domainFileUrl: asset.s3ObjectUrl }; }, }; - } /** Binds the domains to a domain list */ diff --git a/packages/@aws-cdk/aws-scheduler-targets-alpha/lib/kinesis-data-firehose-put-record.ts b/packages/@aws-cdk/aws-scheduler-targets-alpha/lib/kinesis-data-firehose-put-record.ts index f4d48b4f9bcad..a29cc83a21336 100644 --- a/packages/@aws-cdk/aws-scheduler-targets-alpha/lib/kinesis-data-firehose-put-record.ts +++ b/packages/@aws-cdk/aws-scheduler-targets-alpha/lib/kinesis-data-firehose-put-record.ts @@ -15,7 +15,6 @@ export class KinesisDataFirehosePutRecord extends ScheduleTargetBase implements } protected addTargetActionToRole(role: IRole): void { - role.addToPrincipalPolicy(new PolicyStatement({ actions: ['firehose:PutRecord'], resources: [this.deliveryStream.deliveryStreamArn], diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application-associator.test.ts b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application-associator.test.ts index 41db8ade2d91d..f99a92c4b60c8 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application-associator.test.ts +++ b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application-associator.test.ts @@ -75,7 +75,6 @@ describe('Associate attribute group with Application', () => { }); test('Associate Attribute Group with application created by ApplicationAssociator', () => { - const customAttributeGroup = new CustomAppRegistryAttributeGroup(app, 'AppRegistryAttributeGroup'); const appAssociator = new appreg.ApplicationAssociator(app, 'TestApplication', { @@ -91,7 +90,6 @@ describe('Associate attribute group with Application', () => { Application: 'TestAssociatedApplication', AttributeGroup: { 'Fn::GetAtt': ['MyFirstAttributeGroupDBC21379', 'Id'] }, }); - }); }); diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application.test.ts b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application.test.ts index 77ea14a2ccef7..fc21c5e65ae40 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application.test.ts +++ b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/application.test.ts @@ -544,7 +544,6 @@ describe('Conditional nested stack Associations with Application within Same Acc 'Fn::Equals': ['us-east-1'], }); }); - }); class AppRegistrySampleStack extends cdk.Stack { diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/attribute-group.test.ts b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/attribute-group.test.ts index bb1f32f49adc0..c442b8fa7cb6a 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/attribute-group.test.ts +++ b/packages/@aws-cdk/aws-servicecatalogappregistry-alpha/test/attribute-group.test.ts @@ -89,7 +89,6 @@ describe('Attribute Group', () => { Application: { 'Fn::GetAtt': ['MyApplication5C63EC1D', 'Id'] }, AttributeGroup: '0aqmvxvgmry0ecc4mjhwypun6i', }); - }); test('fails for attribute group imported by ARN missing attributeGroupId', () => { @@ -209,9 +208,7 @@ describe('Attribute Group', () => { Application: { 'Fn::GetAtt': ['MyApplication5C63EC1D', 'Id'] }, AttributeGroup: { 'Fn::GetAtt': ['MyAttributeGroupForAssociation6B3E1329', 'Id'] }, }); - }); - }); describe('Resource sharing of an attribute group', () => { diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts index 70254e1492079..d7855779feba8 100644 --- a/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts +++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts @@ -235,7 +235,6 @@ export class CdkCliWrapper implements ICdk { verbose: this.showOutput, env: this.env, }); - } /** diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts b/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts index 463df51bc6160..9a100acfacbce 100644 --- a/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts +++ b/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts @@ -326,7 +326,6 @@ async function changeDir(block: () => Promise, workingDir?: string) { } return await block(); - } finally { if (workingDir) { process.chdir(originalWorkingDir); @@ -346,7 +345,6 @@ async function withEnv(block: () => Promise, env: Record = }; return await block(); - } finally { process.env = originalEnv; } diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts index aeb5bd31401d5..a033be2649350 100644 --- a/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts +++ b/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts @@ -51,7 +51,6 @@ export function fullDiff( changeSet?: DescribeChangeSetOutput, isImport?: boolean, ): types.TemplateDiff { - normalize(currentTemplate); normalize(newTemplate); const theDiff = diffTemplate(currentTemplate, newTemplate); @@ -73,7 +72,6 @@ export function diffTemplate( currentTemplate: { [key: string]: any }, newTemplate: { [key: string]: any }, ): types.TemplateDiff { - // Base diff const theDiff = calculateTemplateDiff(currentTemplate, newTemplate); diff --git a/packages/@aws-cdk/cloudformation-diff/lib/format.ts b/packages/@aws-cdk/cloudformation-diff/lib/format.ts index d14a2ec544a9f..a44ff1dc13ffa 100644 --- a/packages/@aws-cdk/cloudformation-diff/lib/format.ts +++ b/packages/@aws-cdk/cloudformation-diff/lib/format.ts @@ -106,7 +106,6 @@ export class Formatter { entryType: string, collection: DifferenceCollection, formatter: (type: string, id: string, diff: T) => void = this.formatDifference.bind(this)) { - if (collection.differenceCount === 0) { return; } diff --git a/packages/@aws-cdk/cloudformation-diff/test/iam/detect-changes.test.ts b/packages/@aws-cdk/cloudformation-diff/test/iam/detect-changes.test.ts index 99e8a7d357fa8..5fd38449dc259 100644 --- a/packages/@aws-cdk/cloudformation-diff/test/iam/detect-changes.test.ts +++ b/packages/@aws-cdk/cloudformation-diff/test/iam/detect-changes.test.ts @@ -662,7 +662,6 @@ test('can summarize addition of ssoAssignment', () => { ].map(s => chalk.green(s)), ], ); - }); test('can summarize addition of SsoInstanceACAConfigs', () => { @@ -705,7 +704,6 @@ test('can summarize addition of SsoInstanceACAConfigs', () => { ].map(s => chalk.green(s)), ], ); - }); test('can summarize negation of SsoInstanceACAConfigs', () => { @@ -748,7 +746,6 @@ test('can summarize negation of SsoInstanceACAConfigs', () => { ].map(s => chalk.red(s)), ], ); - }); test('can summarize negation of ssoAssignment', () => { diff --git a/packages/@aws-cdk/cloudformation-diff/test/template-and-changeset-diff-merger.test.ts b/packages/@aws-cdk/cloudformation-diff/test/template-and-changeset-diff-merger.test.ts index cc727869d210a..049a965001ad2 100644 --- a/packages/@aws-cdk/cloudformation-diff/test/template-and-changeset-diff-merger.test.ts +++ b/packages/@aws-cdk/cloudformation-diff/test/template-and-changeset-diff-merger.test.ts @@ -560,13 +560,10 @@ describe('fullDiff tests that include changeset', () => { expect(differences.resources.differenceCount).toBe(1); expect(differences.resources.get('BucketResource')?.changeImpact === ResourceImpact.WILL_IMPORT); }); - }); describe('method tests', () => { - describe('TemplateAndChangeSetDiffMerger constructor', () => { - test('InspectChangeSet correctly parses changeset', async () => { // WHEN const templateAndChangeSetDiffMerger = new TemplateAndChangeSetDiffMerger({ changeSet: utils.changeSet }); @@ -654,7 +651,6 @@ describe('method tests', () => { propertyReplacementModes: {}, }); }); - }); describe('determineChangeSetReplacementMode ', () => { @@ -725,11 +721,9 @@ describe('method tests', () => { // THEN expect(replacementMode).toEqual('Always'); }); - }); describe('overrideDiffResourceChangeImpactWithChangeSetChangeImpact', () => { - test('can handle blank change', async () => { // GIVEN const templateAndChangeSetDiffMerger = new TemplateAndChangeSetDiffMerger({ changeSet: {} }); @@ -996,7 +990,5 @@ describe('method tests', () => { expect(queue.changeImpact).toBe('WILL_ORPHAN'); expect(queue.isDifferent).toBe(true); }); - }); - }); diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts index 4cc8b06bd7e48..e802e4e770e50 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts @@ -389,7 +389,6 @@ export class ClusterResourceHandler extends ResourceHandler { } function parseProps(props: any): EKS.CreateClusterCommandInput { - const parsed = props?.Config ?? {}; // this is weird but these boolean properties are passed by CFN as a string, and we need them to be booleanic for the SDK. @@ -408,7 +407,6 @@ function parseProps(props: any): EKS.CreateClusterCommandInput { } return parsed; - } interface UpdateMap { diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/fargate.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/fargate.ts index 0e292277ebc65..d7f65644a8bac 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/fargate.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/fargate.ts @@ -96,7 +96,6 @@ export class FargateProfileResourceHandler extends ResourceHandler { }; try { - this.log({ describeFargateProfile }); const describeFargateProfileResponse = await this.eks.describeFargateProfile(describeFargateProfile); this.log({ describeFargateProfileResponse }); diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts index 840f462eb1955..909e25b32cb12 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts @@ -20,7 +20,6 @@ function defaultLogger(fmt: string, ...args: any[]) { * Downloads the CA thumbprint from the issuer URL */ async function downloadThumbprint(issuerUrl: string, rejectUnauthorized: boolean) { - return new Promise((ok, ko) => { const purl = url.parse(issuerUrl); const port = purl.port ? parseInt(purl.port, 10) : 443; diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-logs/log-retention-handler/index.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-logs/log-retention-handler/index.ts index 4690cf90f4f22..d2c2d3aa359fb 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-logs/log-retention-handler/index.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-logs/log-retention-handler/index.ts @@ -30,7 +30,6 @@ async function createLogGroupSafe(logGroupName: string, client: Logs.CloudWatchL const params = { logGroupName }; const command = new Logs.CreateLogGroupCommand(params); await client.send(command); - } catch (error: any) { if (error.name === 'ResourceAlreadyExistsException') { // The log group is already created by the lambda execution @@ -51,7 +50,6 @@ async function deleteLogGroup(logGroupName: string, client: Logs.CloudWatchLogsC const params = { logGroupName }; const command = new Logs.DeleteLogGroupCommand(params); await client.send(command); - } catch (error: any) { if (error.name === 'ResourceNotFoundException') { // The log group doesn't exist @@ -72,7 +70,6 @@ async function setRetentionPolicy( withDelay: (block: () => Promise) => Promise, retentionInDays?: number, ) { - await withDelay(async () => { if (!retentionInDays) { const params = { logGroupName }; diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/core/cfn-utils-provider/index.ts b/packages/@aws-cdk/custom-resource-handlers/lib/core/cfn-utils-provider/index.ts index 02f1e66e7dc25..31e88ca4373e0 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/core/cfn-utils-provider/index.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/core/cfn-utils-provider/index.ts @@ -17,7 +17,6 @@ export enum CfnUtilsResourceType { * Parses the value of "Value" and reflects it back as attribute. */ export async function handler(event: AWSLambda.CloudFormationCustomResourceEvent) { - // dispatch based on resource type if (event.ResourceType === CfnUtilsResourceType.CFN_JSON) { return cfnJsonHandler(event); diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/core/nodejs-entrypoint-handler/index.ts b/packages/@aws-cdk/custom-resource-handlers/lib/core/nodejs-entrypoint-handler/index.ts index ddc25f9e1a4ef..15399ed1e2489 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/core/nodejs-entrypoint-handler/index.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/core/nodejs-entrypoint-handler/index.ts @@ -77,7 +77,6 @@ export async function handler(event: AWSLambda.CloudFormationCustomResourceEvent function renderResponse( cfnRequest: AWSLambda.CloudFormationCustomResourceEvent & { PhysicalResourceId?: string }, handlerResponse: void | HandlerResponse = { }): Response { - // if physical ID is not returned, we have some defaults for you based // on the request type. const physicalResourceId = handlerResponse.PhysicalResourceId ?? cfnRequest.PhysicalResourceId ?? cfnRequest.RequestId; diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/custom-resources/aws-custom-resource-handler/load-sdk.ts b/packages/@aws-cdk/custom-resource-handlers/lib/custom-resources/aws-custom-resource-handler/load-sdk.ts index 6e52b1987a4b8..ac3088296a64a 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/custom-resources/aws-custom-resource-handler/load-sdk.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/custom-resources/aws-custom-resource-handler/load-sdk.ts @@ -47,7 +47,6 @@ export async function loadAwsSdk( // esbuild-disable unsupported-require-call -- not esbuildable but that's fine return require(packageName); // Fallback to pre-installed version } - } else if (installedSdk[packageName]) { // MUST use require here. Dynamic import() do not support importing from directories // esbuild-disable unsupported-require-call -- not esbuildable but that's fine diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/nodejs-entrypoint.ts b/packages/@aws-cdk/custom-resource-handlers/lib/nodejs-entrypoint.ts index 21dc1116db862..3c324a7f49eb4 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/nodejs-entrypoint.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/nodejs-entrypoint.ts @@ -77,7 +77,6 @@ export function makeHandler(userHandler: Handler) { function renderResponse( cfnRequest: AWSLambda.CloudFormationCustomResourceEvent & { PhysicalResourceId?: string }, handlerResponse: void | HandlerResponse = { }): Response { - // if physical ID is not returned, we have some defaults for you based // on the request type. const physicalResourceId = handlerResponse.PhysicalResourceId ?? cfnRequest.PhysicalResourceId ?? cfnRequest.RequestId; diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/triggers/lambda/index.ts b/packages/@aws-cdk/custom-resource-handlers/lib/triggers/lambda/index.ts index 977bfeb4792a8..b99f546eb647f 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/triggers/lambda/index.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/triggers/lambda/index.ts @@ -110,7 +110,6 @@ function parseError(payload?: string): string { console.log(`Error payload: ${payload}`); try { - const error = JSON.parse(payload); const concat = [error.errorMessage, error.trace].filter(x => x).join('\n'); return concat.length > 0 ? concat : payload; diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-amplify-alpha/asset-deployment-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-amplify-alpha/asset-deployment-handler.test.ts index a8db88ae9371b..94bad46531777 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-amplify-alpha/asset-deployment-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-amplify-alpha/asset-deployment-handler.test.ts @@ -34,7 +34,6 @@ import { } from '../../lib/aws-amplify-alpha/asset-deployment-handler/index'; describe('handler', () => { - let oldConsoleLog: any; beforeAll(() => { diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/cluster-resource-provider.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/cluster-resource-provider.test.ts index db73a33073da5..a7e49575ee0d4 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/cluster-resource-provider.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/cluster-resource-provider.test.ts @@ -542,7 +542,6 @@ describe('cluster resource provider', () => { expect(resp).toEqual({ EksUpdateId: 'MockEksUpdateStatusId' }); expect(mocks.actualRequest.createClusterRequest).toEqual(undefined); }); - }); describe('assessConfig change', () => { test('from undefined to a specific value', async () => { @@ -773,7 +772,6 @@ describe('cluster resource provider', () => { } expect(error.message).toEqual('Only one type of update - VpcConfigUpdate, LoggingUpdate, EndpointAccessUpdate, or AuthModeUpdate can be allowed'); }); - }); describe('logging or access change', () => { diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/compare-log.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/compare-log.test.ts index b8a740df579f3..f1759da257524 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/compare-log.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/compare-log.test.ts @@ -29,7 +29,6 @@ enum ClusterLoggingTypes { } describe('compareLoggingProps', () => { - type Props = Partial; const oldEnabledTypes: LogType[] = [ClusterLoggingTypes.API, ClusterLoggingTypes.AUDIT]; @@ -111,5 +110,4 @@ describe('compareLoggingProps', () => { expect(result.logging?.clusterLogging).toEqual([{ types: oldEnabledTypes, enabled: false }]); }); - }); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/fargate-resource-provider.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/fargate-resource-provider.test.ts index 440573406fa5d..a2929f4b46b03 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/fargate-resource-provider.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-eks/fargate-resource-provider.test.ts @@ -173,7 +173,6 @@ describe('fargate resource provider', () => { }); describe('delete', () => { - test('calls deleteFargateProfile', async () => { // GIVEN const client = newEksClientMock(); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-iam/oidc-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-iam/oidc-handler.test.ts index 45dfcdd5bb926..2f8b130fb69ab 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-iam/oidc-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-iam/oidc-handler.test.ts @@ -289,7 +289,6 @@ describe('custom resource provider handler', () => { Url: 'https://new-url', }); }); - }); describe('arrayDiff', () => { diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-logs/log-retention-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-logs/log-retention-handler.test.ts index 515afbf14d0f9..65e718bd8dd6f 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-logs/log-retention-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-logs/log-retention-handler.test.ts @@ -129,7 +129,6 @@ describe('log retention provider', () => { expect(cloudwatchLogsMock).not.toHaveReceivedCommand(DeleteRetentionPolicyCommand); expect(request.isDone()).toEqual(true); - }); test('update event with log retention undefined', async () => { @@ -165,7 +164,6 @@ describe('log retention provider', () => { }); expect(request.isDone()).toEqual(true); - }); test('delete event', async () => { @@ -192,7 +190,6 @@ describe('log retention provider', () => { expect(cloudwatchLogsMock).not.toHaveReceivedCommand(DeleteRetentionPolicyCommand); expect(request.isDone()).toEqual(true); - }); test('delete event with RemovalPolicy', async () => { @@ -224,7 +221,6 @@ describe('log retention provider', () => { expect(cloudwatchLogsMock).not.toHaveReceivedCommand(DeleteRetentionPolicyCommand); expect(request.isDone()).toEqual(true); - }); test('responds with FAILED on error', async () => { @@ -245,7 +241,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('succeeds when createLogGroup for provider log group returns OperationAbortedException twice', async () => { @@ -268,7 +263,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('succeeds when createLogGroup for CDK lambda log group returns OperationAbortedException twice', async () => { @@ -291,7 +285,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('fails when createLogGroup for CDK lambda log group fails with OperationAbortedException indefinitely', async () => { @@ -315,7 +308,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('succeeds when putRetentionPolicy for provider log group returns OperationAbortedException twice', async () => { @@ -338,7 +330,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('succeeds when putRetentionPolicy for CDK lambda log group returns OperationAbortedException twice', async () => { @@ -361,7 +352,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('fails when putRetentionPolicy for CDK lambda log group fails with OperationAbortedException indefinitely', async () => { @@ -385,7 +375,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('succeeds when deleteRetentionPolicy for provider log group returns OperationAbortedException twice', async () => { @@ -408,7 +397,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('fails when deleteRetentionPolicy for provider log group fails with OperationAbortedException indefinitely', async () => { @@ -432,7 +420,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('response data contains the log group name', async () => { @@ -488,7 +475,6 @@ describe('log retention provider', () => { await provider.handler(event, context); expect(request.isDone()).toEqual(true); - }); test('custom log retention region', async () => { @@ -515,7 +501,6 @@ describe('log retention provider', () => { expect(await calls[0].thisValue.config.region()).toBe('eu-west-2'); expect(request.isDone()).toEqual(true); }); - }); function failTwiceThenResolve( diff --git a/packages/@aws-cdk/custom-resource-handlers/test/aws-redshift-alpha/cluster-parameter-change-reboot-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/aws-redshift-alpha/cluster-parameter-change-reboot-handler.test.ts index 20177b3a4be34..2d37926f21f7b 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/aws-redshift-alpha/cluster-parameter-change-reboot-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/aws-redshift-alpha/cluster-parameter-change-reboot-handler.test.ts @@ -16,7 +16,6 @@ jest.setTimeout(35_000); import { handler } from '../../lib/aws-redshift-alpha/cluster-parameter-change-reboot-handler'; describe('cluster-parameter-change-reboot-handler', () => { - beforeEach(() => { jest.spyOn(global, 'setTimeout'); }); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/core/nodejs-entrypoint-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/core/nodejs-entrypoint-handler.test.ts index a2a39246628cc..1486984b07777 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/core/nodejs-entrypoint-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/core/nodejs-entrypoint-handler.test.ts @@ -8,7 +8,6 @@ import * as entrypoint from '../../lib/core/nodejs-entrypoint-handler/index'; describe('nodejs entrypoint', () => { describe('handler return value is sent back to cloudformation as a success response', () => { - test('physical resource id (ref)', async () => { // GIVEN const createEvent = makeEvent({ RequestType: 'Create' }); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/nodejs-entrypoint.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/nodejs-entrypoint.test.ts index 37b630f52fec9..c39b10c8ed825 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/nodejs-entrypoint.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/nodejs-entrypoint.test.ts @@ -8,7 +8,6 @@ import * as entrypoint from '../lib/nodejs-entrypoint'; describe('nodejs entrypoint', () => { describe('handler return value is sent back to cloudformation as a success response', () => { - test('physical resource id (ref)', async () => { // GIVEN const createEvent = makeEvent({ RequestType: 'Create' }); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/pipelines/approve-lambda-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/pipelines/approve-lambda-handler.test.ts index 0193d6c9a2bef..e4c16a5c8247e 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/pipelines/approve-lambda-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/pipelines/approve-lambda-handler.test.ts @@ -16,7 +16,6 @@ jest.setTimeout(10_000); import { handler } from '../../lib/pipelines/approve-lambda/index'; describe('approve-lambda handler', () => { - beforeEach(() => { jest.spyOn(global, 'setTimeout'); }); diff --git a/packages/@aws-cdk/custom-resource-handlers/test/triggers/trigger-handler.test.ts b/packages/@aws-cdk/custom-resource-handlers/test/triggers/trigger-handler.test.ts index bc0b9de936703..764668ff54227 100644 --- a/packages/@aws-cdk/custom-resource-handlers/test/triggers/trigger-handler.test.ts +++ b/packages/@aws-cdk/custom-resource-handlers/test/triggers/trigger-handler.test.ts @@ -151,7 +151,6 @@ test('throws an error for other exceptions', async () => { describe('function error', () => { const makeTest = (payload: string | undefined, expectedError: string) => { return async () => { - lambdaMock.on(InvokeCommand).resolvesOnce({ StatusCode: 200, FunctionError: 'Unhandled', diff --git a/packages/@aws-cdk/integ-runner/lib/cli.ts b/packages/@aws-cdk/integ-runner/lib/cli.ts index 3034cca2d70bf..44f28df5d3a43 100644 --- a/packages/@aws-cdk/integ-runner/lib/cli.ts +++ b/packages/@aws-cdk/integ-runner/lib/cli.ts @@ -199,7 +199,6 @@ export async function main(args: string[]) { throw new Error(`Some tests failed!\n${message}`); } } - } function validateWatchArgs(args: { diff --git a/packages/@aws-cdk/integ-runner/lib/runner/private/cloud-assembly.ts b/packages/@aws-cdk/integ-runner/lib/runner/private/cloud-assembly.ts index 861a62bd56ee4..d0923dc8028d5 100644 --- a/packages/@aws-cdk/integ-runner/lib/runner/private/cloud-assembly.ts +++ b/packages/@aws-cdk/integ-runner/lib/runner/private/cloud-assembly.ts @@ -29,7 +29,6 @@ export class AssemblyManifestReader { try { const obj = Manifest.loadAssemblyManifest(fileName); return new AssemblyManifestReader(path.dirname(fileName), obj, fileName); - } catch (e: any) { throw new Error(`Cannot read integ manifest '${fileName}': ${e.message}`); } diff --git a/packages/@aws-cdk/integ-runner/lib/runner/private/integ-manifest.ts b/packages/@aws-cdk/integ-runner/lib/runner/private/integ-manifest.ts index 4201f36bb012e..e49e29970fcf8 100644 --- a/packages/@aws-cdk/integ-runner/lib/runner/private/integ-manifest.ts +++ b/packages/@aws-cdk/integ-runner/lib/runner/private/integ-manifest.ts @@ -41,7 +41,6 @@ export class IntegManifestReader { try { const obj = Manifest.loadIntegManifest(fileName); return new IntegManifestReader(path.dirname(fileName), obj); - } catch (e: any) { throw new Error(`Cannot read integ manifest '${fileName}': ${e.message}`); } diff --git a/packages/@aws-cdk/integ-runner/lib/workers/integ-snapshot-worker.ts b/packages/@aws-cdk/integ-runner/lib/workers/integ-snapshot-worker.ts index 38d7e9b48feeb..eb32e0c63ca67 100644 --- a/packages/@aws-cdk/integ-runner/lib/workers/integ-snapshot-worker.ts +++ b/packages/@aws-cdk/integ-runner/lib/workers/integ-snapshot-worker.ts @@ -36,5 +36,4 @@ export async function runSnapshotTests( logger.highlight('\nSnapshot Results: \n'); printSummary(tests.length, testsToRun.length); return testsToRun; - } diff --git a/packages/@aws-cdk/integ-runner/lib/workers/integ-test-worker.ts b/packages/@aws-cdk/integ-runner/lib/workers/integ-test-worker.ts index f764a4ac5d572..bfc939b71c3bd 100644 --- a/packages/@aws-cdk/integ-runner/lib/workers/integ-test-worker.ts +++ b/packages/@aws-cdk/integ-runner/lib/workers/integ-test-worker.ts @@ -111,7 +111,6 @@ function getAccountWorkers(regions: string[], profiles?: string[]): AccountWorke export async function runIntegrationTestsInParallel( options: IntegTestRunOptions, ): Promise { - const queue = options.tests; const results: IntegBatchResponse = { metrics: [], diff --git a/packages/@aws-cdk/integ-runner/test/runner/integ-test-suite.test.ts b/packages/@aws-cdk/integ-runner/test/runner/integ-test-suite.test.ts index eee818abe7240..a781c146c984c 100644 --- a/packages/@aws-cdk/integ-runner/test/runner/integ-test-suite.test.ts +++ b/packages/@aws-cdk/integ-runner/test/runner/integ-test-suite.test.ts @@ -270,7 +270,6 @@ describe('Legacy Integration test cases', () => { expect(context).toEqual({ '@aws-cdk/core:newStyleStackSynthesis': 'true', }); - }); test('invalid pragma context throws', () => { diff --git a/packages/@aws-cdk/integ-runner/test/runner/snapshot-test-runner.test.ts b/packages/@aws-cdk/integ-runner/test/runner/snapshot-test-runner.test.ts index 87743e59b564e..30be61b51b8b4 100644 --- a/packages/@aws-cdk/integ-runner/test/runner/snapshot-test-runner.test.ts +++ b/packages/@aws-cdk/integ-runner/test/runner/snapshot-test-runner.test.ts @@ -215,6 +215,5 @@ describe('IntegTest runSnapshotTests', () => { output: '../../does/not/exist', }); }); - }); }); diff --git a/packages/@aws-cdk/integ-runner/test/workers/integ-worker.test.ts b/packages/@aws-cdk/integ-runner/test/workers/integ-worker.test.ts index dfe028f9599df..59fc8adda1abd 100644 --- a/packages/@aws-cdk/integ-runner/test/workers/integ-worker.test.ts +++ b/packages/@aws-cdk/integ-runner/test/workers/integ-worker.test.ts @@ -89,7 +89,6 @@ describe('test runner', () => { }); test('legacy test throws', () => { - // WHEN const test = { fileName: 'test/test-data/xxxxx.integ-test2.js', diff --git a/packages/@aws-cdk/integ-tests-alpha/lib/assertions/api-call-base.ts b/packages/@aws-cdk/integ-tests-alpha/lib/assertions/api-call-base.ts index 2ebeba78ff017..d71368dc09f13 100644 --- a/packages/@aws-cdk/integ-tests-alpha/lib/assertions/api-call-base.ts +++ b/packages/@aws-cdk/integ-tests-alpha/lib/assertions/api-call-base.ts @@ -131,7 +131,6 @@ export abstract class ApiCallBase extends Construct implements IApiCall { constructor(scope: Construct, id: string) { super(scope, id); - } public getAtt(attributeName: string): Reference { diff --git a/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/lambda-handler/utils.test.ts b/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/lambda-handler/utils.test.ts index dfb736f262411..febeecba47d11 100644 --- a/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/lambda-handler/utils.test.ts +++ b/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/lambda-handler/utils.test.ts @@ -16,9 +16,7 @@ describe('utils', () => { }); describe('coerceResponse', () => { - test('no ops on simple response', async () => { - const response = { simple: 'value1', map: { @@ -36,11 +34,9 @@ describe('utils', () => { }, array: ['value3'], }); - }); test('json parses strings', async () => { - const response = { simple: '{ "foo1": "bar1" }', map: { @@ -58,7 +54,6 @@ describe('utils', () => { }, array: [{ foo3: 'bar3' }], }); - }); }); }); diff --git a/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/provider.test.ts b/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/provider.test.ts index 03643d2c9779d..ce8abfc5e3803 100644 --- a/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/provider.test.ts +++ b/packages/@aws-cdk/integ-tests-alpha/test/assertions/providers/provider.test.ts @@ -96,7 +96,6 @@ describe('AssertionProvider', () => { }); test('multiple providers, 1 resource', () => { - // WHEN const provider = new AssertionsProvider(stack, 'AssertionsProvider'); const provider2 = new AssertionsProvider(stack, 'AssertionsProvider2'); diff --git a/packages/@aws-cdk/integ-tests-alpha/test/assertions/sdk.test.ts b/packages/@aws-cdk/integ-tests-alpha/test/assertions/sdk.test.ts index 2662606178621..a1a10e986971f 100644 --- a/packages/@aws-cdk/integ-tests-alpha/test/assertions/sdk.test.ts +++ b/packages/@aws-cdk/integ-tests-alpha/test/assertions/sdk.test.ts @@ -44,7 +44,6 @@ describe('AwsApiCall', () => { param2: '2', }, }); - }); test('restrict output paths', () => { diff --git a/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/prepare-source.ts b/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/prepare-source.ts index d7f5374edda66..3769a9bed387a 100644 --- a/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/prepare-source.ts +++ b/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/prepare-source.ts @@ -62,7 +62,6 @@ export async function changeDir(block: () => Promise, workingDir?: string) } return await block(); - } finally { if (workingDir) { process.chdir(originalWorkingDir); @@ -82,7 +81,6 @@ export async function withEnv(env: Env = {}, block: () => Promise) { }; return await block(); - } finally { process.env = originalEnv; } @@ -157,7 +155,6 @@ export async function assemblyFromDirectory(assemblyDir: string, ioHost: ActionA }); await checkContextOverflowSupport(assembly, ioHost); return assembly; - } catch (err: any) { if (err.message.includes(cxschema.VERSION_MISMATCH)) { // this means the CLI version is too old. diff --git a/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/source-builder.ts b/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/source-builder.ts index d4a6eb1a966a3..39617aba074ca 100644 --- a/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/source-builder.ts +++ b/packages/@aws-cdk/toolkit/lib/api/cloud-assembly/private/source-builder.ts @@ -78,7 +78,6 @@ export abstract class CloudAssemblySourceBuilder { // @todo build await services.ioHost.notify(debug('--app points to a cloud assembly, so we bypass synth')); return assemblyFromDirectory(directory, services.ioHost); - }, }, contextAssemblyProps, diff --git a/packages/aws-cdk-lib/assertions/lib/match.ts b/packages/aws-cdk-lib/assertions/lib/match.ts index 4e6bbe0d7ff64..762cf4309af9a 100644 --- a/packages/aws-cdk-lib/assertions/lib/match.ts +++ b/packages/aws-cdk-lib/assertions/lib/match.ts @@ -112,7 +112,6 @@ class LiteralMatch extends Matcher { public readonly name: string, private readonly pattern: any, options: LiteralMatchOptions = {}) { - super(); this.partialObjects = options.partialObjects ?? false; @@ -184,7 +183,6 @@ class ArrayMatch extends Matcher { public readonly name: string, private readonly pattern: any[], options: ArrayMatchOptions = {}) { - super(); this.subsequence = options.subsequence ?? true; this.partialObjects = options.partialObjects ?? false; @@ -334,7 +332,6 @@ class ObjectMatch extends Matcher { public readonly name: string, private readonly pattern: {[key: string]: any}, options: ObjectMatchOptions = {}) { - super(); this.partial = options.partial ?? true; } @@ -429,7 +426,6 @@ class NotMatch extends Matcher { constructor( public readonly name: string, private readonly pattern: {[key: string]: any}) { - super(); } @@ -471,7 +467,6 @@ class StringLikeRegexpMatch extends Matcher { constructor( public readonly name: string, private readonly pattern: string) { - super(); } diff --git a/packages/aws-cdk-lib/assertions/lib/private/resources.ts b/packages/aws-cdk-lib/assertions/lib/private/resources.ts index 47ef9aee6e9dd..708794ce00536 100644 --- a/packages/aws-cdk-lib/assertions/lib/private/resources.ts +++ b/packages/aws-cdk-lib/assertions/lib/private/resources.ts @@ -46,7 +46,6 @@ export function allResourcesProperties(template: Template, type: string, props: return allResources(amended, type, Match.objectLike({ Properties: props, })); - } export function hasResource(template: Template, type: string, props: any): string | void { diff --git a/packages/aws-cdk-lib/assertions/lib/private/section.ts b/packages/aws-cdk-lib/assertions/lib/private/section.ts index 68d16b8266e4e..17aa94c1e1f55 100644 --- a/packages/aws-cdk-lib/assertions/lib/private/section.ts +++ b/packages/aws-cdk-lib/assertions/lib/private/section.ts @@ -38,7 +38,6 @@ export function matchSection(section: any, props: any): MatchSuccess | MatchFail function eachEntryInSection( section: any, cb: (logicalId: string, entry: { [key: string]: any }) => void): void { - for (const logicalId of Object.keys(section ?? {})) { const resource: { [key: string]: any } = section[logicalId]; cb(logicalId, resource); diff --git a/packages/aws-cdk-lib/aws-apigateway/lib/deployment.ts b/packages/aws-cdk-lib/aws-apigateway/lib/deployment.ts index 9d3efa085a7c1..11f4ae2261d69 100644 --- a/packages/aws-cdk-lib/aws-apigateway/lib/deployment.ts +++ b/packages/aws-cdk-lib/aws-apigateway/lib/deployment.ts @@ -179,7 +179,6 @@ class LatestDeploymentResource extends CfnDeployment { const hash = [...this.hashComponents]; if (this.api instanceof RestApi || this.api instanceof SpecRestApi) { // Ignore IRestApi that are imported - // Add CfnRestApi to the logical id so a new deployment is triggered when any of its properties change. const cfnRestApiCF = (this.api.node.defaultChild as any)._toCloudFormation(); hash.push(this.stack.resolve(cfnRestApiCF)); diff --git a/packages/aws-cdk-lib/aws-apigateway/lib/restapi.ts b/packages/aws-cdk-lib/aws-apigateway/lib/restapi.ts index 243803334ad1a..95bb906f1323f 100644 --- a/packages/aws-cdk-lib/aws-apigateway/lib/restapi.ts +++ b/packages/aws-cdk-lib/aws-apigateway/lib/restapi.ts @@ -620,7 +620,6 @@ export abstract class RestApiBase extends Resource implements IRestApi { protected _configureDeployment(props: RestApiBaseProps) { const deploy = props.deploy ?? true; if (deploy) { - this._latestDeployment = new Deployment(this, 'Deployment', { description: props.deployOptions?.description ?? props.description ?? 'Automatically created by the RestApi construct', api: this, diff --git a/packages/aws-cdk-lib/aws-apigateway/lib/stage.ts b/packages/aws-cdk-lib/aws-apigateway/lib/stage.ts index e96338fd4b286..1c0d77114a869 100644 --- a/packages/aws-cdk-lib/aws-apigateway/lib/stage.ts +++ b/packages/aws-cdk-lib/aws-apigateway/lib/stage.ts @@ -391,7 +391,6 @@ export class Stage extends StageBase { if (accessLogFormat !== undefined && !Token.isUnresolved(accessLogFormat.toString()) && !/.*\$context.(requestId|extendedRequestId)\b.*/.test(accessLogFormat.toString())) { - throw new ValidationError('Access log must include either `AccessLogFormat.contextRequestId()` or `AccessLogFormat.contextExtendedRequestId()`', this); } if (accessLogFormat !== undefined && accessLogDestination === undefined) { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/api-definition.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/api-definition.test.ts index 78ca40f3260ea..623f5dc936bff 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/api-definition.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/api-definition.test.ts @@ -48,7 +48,6 @@ describe('api definition', () => { // THEN expect(() => defineRestApi(fileAsset)).toThrow(/Asset cannot be a \.zip file or a directory/); - }); test('only one Asset object gets created even if multiple functions use the same AssetApiDefinition', () => { @@ -88,7 +87,6 @@ describe('api definition', () => { 'aws:asset:property': 'BodyS3Location', }, }); - }); }); @@ -103,7 +101,6 @@ describe('api definition', () => { Ref: 'mybucket15D133BF', }); expect(config.s3Location!.key).toEqual('my-key'); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-apigateway/test/api-key.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/api-key.test.ts index a40fad8839a55..01d485e6dbc7b 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/api-key.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/api-key.test.ts @@ -28,7 +28,6 @@ describe('api key', () => { new apigateway.ApiKey(stack, 'my-api-key', { resources: [restApi], }); - }).toThrow(/Cannot add an ApiKey to a RestApi that does not contain a "deploymentStage"/); }); diff --git a/packages/aws-cdk-lib/aws-apigateway/test/authorizers/lambda.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/authorizers/lambda.test.ts index a7101d05ce35f..33d2edacbbd87 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/authorizers/lambda.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/authorizers/lambda.test.ts @@ -152,7 +152,6 @@ describe('lambda authorizer', () => { }); expect(auth.authorizerArn.endsWith(`/authorizers/${auth.authorizerId}`)).toBeTruthy(); - }); test('request authorizer with default cache TTL', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/deployment.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/deployment.test.ts index 5495d40f64361..30842d4bc67e5 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/deployment.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/deployment.test.ts @@ -204,7 +204,6 @@ describe('deployment', () => { 'MyResource', ], }); - }); test('integration change invalidates deployment', () => { @@ -239,7 +238,6 @@ describe('deployment', () => { Template.fromStack(stack2).hasResourceProperties('AWS::ApiGateway::Stage', { DeploymentId: { Ref: 'myapiDeploymentB7EF8EB7b50d305057ba109c118e4aafd4509355' }, }); - }); test('deployment resource depends on all restapi methods defined', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/domains.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/domains.test.ts index 456dcc64cd563..3136a6cb5a131 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/domains.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/domains.test.ts @@ -337,7 +337,6 @@ describe('domains', () => { }); }).toThrow(/DomainName Domain already has a mapping for path v1\/path/); }); - }); test('"addBasePathMapping" can be used to add base path mapping to the domain', () => { @@ -640,7 +639,6 @@ describe('domains', () => { 'Ref': 'api2DeploymentStageprod4120D74E', }, }); - }); test('accepts a mutual TLS configuration', () => { @@ -661,7 +659,6 @@ describe('domains', () => { 'RegionalCertificateArn': 'arn:aws:acm:us-east-1:1111111:certificate/11-3336f1-44483d-adc7-9cd375c5169d', 'MutualTlsAuthentication': { 'TruststoreUri': 's3://example-bucket/someca.pem' }, }); - }); test('mTLS should allow versions to be set on the s3 bucket', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/integration.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/integration.test.ts index 8160dbd81fc96..b034f8e53aeeb 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/integration.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/integration.test.ts @@ -20,7 +20,6 @@ describe('integration', () => { credentialsRole: role, }, })).toThrow(/'credentialsPassthrough' and 'credentialsRole' are mutually exclusive/); - }); test('integration connectionType VpcLink requires vpcLink to be set', () => { @@ -31,7 +30,6 @@ describe('integration', () => { connectionType: apigw.ConnectionType.VPC_LINK, }, })).toThrow(/'connectionType' of VPC_LINK requires 'vpcLink' prop to be set/); - }); test('uri is self determined from the NLB', () => { @@ -186,7 +184,6 @@ describe('integration', () => { }); test('validates timeout is valid', () => { - expect(() => new apigw.Integration({ type: apigw.IntegrationType.HTTP_PROXY, integrationHttpMethod: 'ANY', @@ -205,7 +202,6 @@ describe('integration', () => { }); test('sets timeout', () => { - // GIVEN const stack = new cdk.Stack(); const api = new apigw.RestApi(stack, 'restapi'); @@ -227,7 +223,6 @@ describe('integration', () => { TimeoutInMillis: 1000, }, }); - }); test('validates integrationHttpMethod is required for non-MOCK integration types', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/method.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/method.test.ts index df5977ede2432..f484ea57801f0 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/method.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/method.test.ts @@ -31,7 +31,6 @@ describe('method', () => { Type: 'MOCK', }, }); - }); test('method options can be specified', () => { @@ -54,7 +53,6 @@ describe('method', () => { ApiKeyRequired: true, OperationName: 'MyOperation', }); - }); test('integration can be set via a property', () => { @@ -85,7 +83,6 @@ describe('method', () => { }, }, }); - }); test('integration can be set for a service in the provided region', () => { @@ -135,7 +132,6 @@ describe('method', () => { IntegrationHttpMethod: 'GET', }, }); - }); test('use default integration from api', () => { @@ -165,7 +161,6 @@ describe('method', () => { Uri: 'https://amazon.com', }, }); - }); test('"methodArn" returns the ARN execute-api ARN for this method in the current stage', () => { @@ -198,7 +193,6 @@ describe('method', () => { ], ], }); - }); test('"testMethodArn" returns the ARN of the "test-invoke-stage" stage (console UI)', () => { @@ -229,7 +223,6 @@ describe('method', () => { ], ], }); - }); test('"methodArn" returns an arn with "*" as its stage when deploymentStage is not set', () => { @@ -257,7 +250,6 @@ describe('method', () => { ], ], }); - }); test('"methodArn" and "testMethodArn" replace path parameters with asterisks', () => { @@ -302,7 +294,6 @@ describe('method', () => { ], ], }); - }); test('integration "credentialsRole" can be used to assume a role when calling backend', () => { @@ -326,7 +317,6 @@ describe('method', () => { Credentials: { 'Fn::GetAtt': ['MyRoleF48FFE04', 'Arn'] }, }, }); - }); test('integration "credentialsPassthrough" can be used to passthrough user credentials to backend', () => { @@ -349,7 +339,6 @@ describe('method', () => { Credentials: { 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':iam::*:user/*']] }, }, }); - }); test('methodResponse set one or more method responses via options', () => { @@ -403,7 +392,6 @@ describe('method', () => { }, }], }); - }); test('multiple integration responses can be used', () => { // @see https://github.com/aws/aws-cdk/issues/1608 @@ -449,7 +437,6 @@ describe('method', () => { Uri: { 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':apigateway:', { Ref: 'AWS::Region' }, ':foo-service:action/BarAction']] }, }, }); - }); test('method is always set as uppercase', () => { @@ -466,7 +453,6 @@ describe('method', () => { Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', { HttpMethod: 'POST' }); Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', { HttpMethod: 'GET' }); Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', { HttpMethod: 'PUT' }); - }); test('requestModel can be set', () => { @@ -501,7 +487,6 @@ describe('method', () => { 'application/json': { Ref: stack.getLogicalId(model.node.findChild('Resource') as cdk.CfnElement) }, }, }); - }); test('methodResponse has a mix of response modes', () => { @@ -565,7 +550,6 @@ describe('method', () => { }, }], }); - }); test('method has a request validator', () => { @@ -595,7 +579,6 @@ describe('method', () => { ValidateRequestBody: true, ValidateRequestParameters: false, }); - }); test('use default requestParameters', () => { @@ -625,7 +608,6 @@ describe('method', () => { 'method.request.path.proxy': true, }, }); - }); test('authorizer is bound correctly', () => { @@ -641,7 +623,6 @@ describe('method', () => { AuthorizationType: 'CUSTOM', AuthorizerId: DUMMY_AUTHORIZER.authorizerId, }); - }); test('authorizer via default method options', () => { @@ -670,7 +651,6 @@ describe('method', () => { Type: 'TOKEN', RestApiId: stack.resolve(restApi.restApiId), }); - }); test('fails when authorization type does not match the authorizer', () => { @@ -684,7 +664,6 @@ describe('method', () => { authorizer: DUMMY_AUTHORIZER, }); }).toThrow(/Authorization type is set to AWS_IAM which is different from what is required by the authorizer/); - }); test('fails when authorization type does not match the authorizer in default method options', () => { @@ -701,7 +680,6 @@ describe('method', () => { authorizationType: apigw.AuthorizationType.IAM, }); }).toThrow(/Authorization type is set to AWS_IAM which is different from what is required by the authorizer/); - }); test('method has Auth Scopes', () => { @@ -725,7 +703,6 @@ describe('method', () => { ApiKeyRequired: true, AuthorizationScopes: ['AuthScope1', 'AuthScope2'], }); - }); test('use default Auth Scopes', () => { @@ -754,7 +731,6 @@ describe('method', () => { OperationName: 'defaultAuthScopes', AuthorizationScopes: ['DefaultAuth'], }); - }); test('Override Authorization Type config in the default method config to None', () => { @@ -790,7 +766,6 @@ describe('method', () => { OperationName: 'overrideDefaultAuthScopes', authorizer: DUMMY_AUTHORIZER, })).toEqual({}); - }); test('Add Method that override the default method config authorization type to None do not fail', () => { @@ -943,7 +918,6 @@ describe('method', () => { OperationName: 'authScopesAbsent', AuthorizationScopes: Match.absent(), }); - }); test('method has a request validator with provided properties', () => { @@ -971,7 +945,6 @@ describe('method', () => { ValidateRequestParameters: false, Name: 'test-validator', }); - }); test('method does not have a request validator', () => { @@ -989,7 +962,6 @@ describe('method', () => { Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', { RequestValidatorId: Match.absent(), }); - }); test('method does not support both request validator and request validator options', () => { @@ -1018,7 +990,6 @@ describe('method', () => { // THEN expect(() => new apigw.Method(stack, 'method', methodProps)) .toThrow(/Only one of 'requestValidator' or 'requestValidatorOptions' must be specified./); - }); testDeprecated('"restApi" and "api" properties return the RestApi correctly', () => { @@ -1033,7 +1004,6 @@ describe('method', () => { expect(method.restApi).toBeDefined(); expect(method.api).toBeDefined(); expect(stack.resolve(method.api.restApiId)).toEqual(stack.resolve(method.restApi.restApiId)); - }); testDeprecated('"restApi" throws an error on imported while "api" returns correctly', () => { @@ -1050,7 +1020,6 @@ describe('method', () => { // THEN expect(() => method.restApi).toThrow(/not available on Resource not connected to an instance of RestApi/); expect(method.api).toBeDefined(); - }); test('methodResponse should be passed from defaultMethodOptions', () => { @@ -1082,7 +1051,6 @@ describe('method', () => { StatusCode: '200', }], }); - }); describe('Metrics', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/resource.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/resource.test.ts index 0ea6a01caa4e0..6193a3ac48a14 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/resource.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/resource.test.ts @@ -43,7 +43,6 @@ describe('resource', () => { 'Type': 'MOCK', }, }); - }); test('if "anyMethod" is false, then an ANY method will not be defined', () => { @@ -63,7 +62,6 @@ describe('resource', () => { Template.fromStack(stack).resourceCountIs('AWS::ApiGateway::Resource', 1); Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', { 'HttpMethod': 'GET' }); Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::Method', Match.not({ 'HttpMethod': 'ANY' })); - }); test('addProxy can be used on any resource to attach a proxy from that route', () => { @@ -130,7 +128,6 @@ describe('resource', () => { }, }, }); - }); test('if proxy is added to root, proxy methods are automatically duplicated (with integration and options)', () => { @@ -171,7 +168,6 @@ describe('resource', () => { }, OperationName: 'DeleteMe', }); - }); test('if proxy is added to root, proxy methods are only added if they are not defined already on the root resource', () => { @@ -185,7 +181,6 @@ describe('resource', () => { proxy.addMethod('POST'); // THEN - }); test('url for a resource', () => { @@ -264,7 +259,6 @@ describe('resource', () => { ], ], }); - }); test('fromResourceAttributes()', () => { @@ -289,7 +283,6 @@ describe('resource', () => { }); describe('getResource', () => { - describe('root resource', () => { test('returns undefined if not found', () => { // GIVEN @@ -298,7 +291,6 @@ describe('resource', () => { // THEN expect(api.root.getResource('boom')).toBeUndefined(); - }); test('returns the resource if found', () => { @@ -313,7 +305,6 @@ describe('resource', () => { // THEN expect(api.root.getResource('hello')).toEqual(r1); expect(api.root.getResource('world')).toEqual(r2); - }); test('returns the resource even if it was created using "new"', () => { @@ -329,13 +320,10 @@ describe('resource', () => { // THEN expect(api.root.getResource('yello')).toEqual(r1); - }); - }); describe('non-root', () => { - test('returns undefined if not found', () => { // GIVEN const stack = new Stack(); @@ -344,7 +332,6 @@ describe('resource', () => { // THEN expect(res.getResource('child-of-boom')).toBeUndefined(); - }); test('returns the resource if found', () => { @@ -360,7 +347,6 @@ describe('resource', () => { // THEN expect(child.getResource('hello')).toEqual(r1); expect(child.getResource('world')).toEqual(r2); - }); test('returns the resource even if created with "new"', () => { @@ -380,12 +366,10 @@ describe('resource', () => { // THEN expect(child.getResource('hello')).toEqual(r1); expect(child.getResource('outside-world')).toEqual(r2); - }); }); describe('resourceForPath', () => { - test('empty path or "/" (on root) returns this', () => { // GIVEN const stack = new Stack(); @@ -395,7 +379,6 @@ describe('resource', () => { expect(api.root.resourceForPath('')).toEqual(api.root); expect(api.root.resourceForPath('/')).toEqual(api.root); expect(api.root.resourceForPath('///')).toEqual(api.root); - }); test('returns a resource for that path', () => { @@ -408,7 +391,6 @@ describe('resource', () => { // THEN expect(resource.path).toEqual('/boom/trach'); - }); test('resources not created if not needed', () => { @@ -431,9 +413,7 @@ describe('resource', () => { const bam2 = api.root.resourceForPath('/boom/bam'); expect(bam1).toBe(bam2); expect(bam1.parentResource!.path).toEqual('/boom'); - }); - }); }); @@ -490,5 +470,4 @@ describe('resource', () => { }, })); }); - }); diff --git a/packages/aws-cdk-lib/aws-apigateway/test/stage.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/stage.test.ts index 572626ef50550..1d63e3759f607 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/stage.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/stage.test.ts @@ -663,7 +663,6 @@ describe('stage', () => { }, ], }); - }); describe('Metrics', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts index 678b0b9f1e375..3e6871b67b5e9 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts @@ -185,7 +185,6 @@ describe('Step Functions api', () => { stateMachine: stateMachine, defaultIntegration: new apigw.HttpIntegration(httpURL), })).toThrow(/Cannot specify \"defaultIntegration\" since Step Functions integration is automatically defined/); - }); test('fails if State Machine is not of type EXPRESS', () => { diff --git a/packages/aws-cdk-lib/aws-apigateway/test/usage-plan.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/usage-plan.test.ts index 4aab5a5885c5b..6691e076b8947 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/usage-plan.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/usage-plan.test.ts @@ -200,7 +200,6 @@ describe('usage plan', () => { }); describe('UsagePlanKey', () => { - test('default', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-apigatewayv2-authorizers/test/http/lambda.test.ts b/packages/aws-cdk-lib/aws-apigatewayv2-authorizers/test/http/lambda.test.ts index 3d48426c81834..ef04b15c5d103 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2-authorizers/test/http/lambda.test.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2-authorizers/test/http/lambda.test.ts @@ -7,7 +7,6 @@ import { Code, Function } from '../../../aws-lambda'; import * as lambda from '../../../aws-lambda'; describe('HttpLambdaAuthorizer', () => { - test('default', () => { // GIVEN const stack = new Stack(); diff --git a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/alb.ts b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/alb.ts index cd333700ad2dd..21548d6dd3f96 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/alb.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/alb.ts @@ -24,7 +24,6 @@ export class HttpAlbIntegration extends HttpPrivateIntegration { id: string, private readonly listener: elbv2.IApplicationListener, private readonly props: HttpAlbIntegrationProps = {}) { - super(id); } diff --git a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/lambda.ts b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/lambda.ts index d8f802d6860f0..09bc6c771daf1 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/lambda.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/lambda.ts @@ -52,7 +52,6 @@ export class HttpLambdaIntegration extends HttpRouteIntegration { id: string, private readonly handler: IFunction, private readonly props: HttpLambdaIntegrationProps = {}) { - super(id); this._id = id; } diff --git a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/nlb.ts b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/nlb.ts index 3fe195ef7f511..f6586e0bc6edf 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/nlb.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/nlb.ts @@ -24,7 +24,6 @@ export class HttpNlbIntegration extends HttpPrivateIntegration { id: string, private readonly listener: elbv2.INetworkListener, private readonly props: HttpNlbIntegrationProps = {}) { - super(id); } diff --git a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/service-discovery.ts b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/service-discovery.ts index 18be36c883545..d2a3afbeb1feb 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/service-discovery.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2-integrations/lib/http/service-discovery.ts @@ -23,7 +23,6 @@ export class HttpServiceDiscoveryIntegration extends HttpPrivateIntegration { id: string, private readonly service: servicediscovery.IService, private readonly props: HttpServiceDiscoveryIntegrationProps = {}) { - super(id); } diff --git a/packages/aws-cdk-lib/aws-apigatewayv2/test/common/api-mapping.test.ts b/packages/aws-cdk-lib/aws-apigatewayv2/test/common/api-mapping.test.ts index 3db664bf970ab..17b1da69287ab 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2/test/common/api-mapping.test.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2/test/common/api-mapping.test.ts @@ -8,7 +8,6 @@ const certArn = 'arn:aws:acm:us-east-1:111111111111:certificate'; describe('ApiMapping', () => { test('default stage', () => { - const stack = new Stack(); const api = new HttpApi(stack, 'Api'); @@ -31,7 +30,6 @@ describe('ApiMapping', () => { }); test('beta stage mapping', () => { - const stack = new Stack(); const api = new HttpApi(stack, 'Api', { createDefaultStage: false, @@ -63,7 +61,6 @@ describe('ApiMapping', () => { }); test('apiMappingKey validation - empty string not allowed', () => { - const stack = new Stack(); const api = new HttpApi(stack, 'Api'); @@ -82,7 +79,6 @@ describe('ApiMapping', () => { }); test('import mapping', () => { - const stack = new Stack(); const api = new HttpApi(stack, 'Api'); diff --git a/packages/aws-cdk-lib/aws-apigatewayv2/test/http/domain-name.test.ts b/packages/aws-cdk-lib/aws-apigatewayv2/test/http/domain-name.test.ts index feccc8accb020..c3a77eebc2ce3 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2/test/http/domain-name.test.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2/test/http/domain-name.test.ts @@ -169,7 +169,6 @@ describe('DomainName', () => { // WHEN/THEN expect(t).toThrow('defaultDomainMapping not supported with createDefaultStage disabled'); - }); test('accepts a mutual TLS configuration', () => { diff --git a/packages/aws-cdk-lib/aws-apigatewayv2/test/http/route.test.ts b/packages/aws-cdk-lib/aws-apigatewayv2/test/http/route.test.ts index 91169424f6559..19530dc20d2a9 100644 --- a/packages/aws-cdk-lib/aws-apigatewayv2/test/http/route.test.ts +++ b/packages/aws-cdk-lib/aws-apigatewayv2/test/http/route.test.ts @@ -780,7 +780,6 @@ class DummyAuthorizer implements IHttpRouteAuthorizer { public bind(options: HttpRouteAuthorizerBindOptions): HttpRouteAuthorizerConfig { if (!this.authorizer) { - this.authorizer = new HttpAuthorizer(options.scope, 'auth-1234', { httpApi: options.route.httpApi, identitySource: ['identitysource.1', 'identitysource.2'], @@ -802,7 +801,6 @@ class InvalidTypeAuthorizer implements IHttpRouteAuthorizer { public bind(options: HttpRouteAuthorizerBindOptions): HttpRouteAuthorizerConfig { if (!this.authorizer) { - this.authorizer = new HttpAuthorizer(options.scope, 'auth-1234', { httpApi: options.route.httpApi, identitySource: ['identitysource.1', 'identitysource.2'], diff --git a/packages/aws-cdk-lib/aws-appconfig/test/configuration.test.ts b/packages/aws-cdk-lib/aws-appconfig/test/configuration.test.ts index 2f035acc71d13..3f6371b34d945 100644 --- a/packages/aws-cdk-lib/aws-appconfig/test/configuration.test.ts +++ b/packages/aws-cdk-lib/aws-appconfig/test/configuration.test.ts @@ -365,7 +365,6 @@ describe('configuration', () => { Name: 'MySourcedConfig', RetrievalRoleArn: { 'Fn::GetAtt': ['MyRoleF48FFE04', 'Arn'] }, }); - }); test('configuration with retrievalRole undefined from CodePipeline source should NOT create a new role', () => { diff --git a/packages/aws-cdk-lib/aws-applicationautoscaling/test/schedule.test.ts b/packages/aws-cdk-lib/aws-applicationautoscaling/test/schedule.test.ts index 86d4d06c8cae6..aad6e28b8dd1e 100644 --- a/packages/aws-cdk-lib/aws-applicationautoscaling/test/schedule.test.ts +++ b/packages/aws-cdk-lib/aws-applicationautoscaling/test/schedule.test.ts @@ -4,12 +4,10 @@ import * as appscaling from '../lib'; describe('cron', () => { test('test utc cron, hour only', () => { expect(appscaling.Schedule.cron({ hour: '18', minute: '0' }).expressionString).toEqual('cron(0 18 * * ? *)'); - }); test('test utc cron, hour and minute', () => { expect(appscaling.Schedule.cron({ hour: '18', minute: '24' }).expressionString).toEqual('cron(24 18 * * ? *)'); - }); }); @@ -18,27 +16,23 @@ describe('rate', () => { expect(() => { appscaling.Schedule.rate(Duration.minutes(0.13456)); }).toThrow(/'0.13456 minutes' cannot be converted into a whole number of seconds/); - }); test('rate can be in seconds', () => { const duration = appscaling.Schedule.rate(Duration.seconds(120)); expect('rate(2 minutes)').toEqual(duration.expressionString); - }); test('rate must not be in seconds when specified as a token', () => { expect(() => { appscaling.Schedule.rate(Duration.seconds(Lazy.number({ produce: () => 5 }))); }).toThrow(/Allowed units for scheduling/); - }); test('rate cannot be 0', () => { expect(() => { appscaling.Schedule.rate(Duration.days(0)); }).toThrow(/Duration cannot be 0/); - }); test('rate can be token', () => { @@ -46,20 +40,17 @@ describe('rate', () => { const lazyDuration = Duration.minutes(Lazy.number({ produce: () => 5 })); const rate = appscaling.Schedule.rate(lazyDuration); expect('rate(5 minutes)').toEqual(stack.resolve(rate).expressionString); - }); test('rate can be in allowed type hours', () => { expect('rate(1 hour)').toEqual(appscaling.Schedule.rate(Duration.hours(1)) .expressionString); - }); }); describe('expression', () => { test('test using a literal schedule expression', () => { expect(appscaling.Schedule.expression('cron(0 18 * * ? *)').expressionString).toEqual('cron(0 18 * * ? *)'); - }); }); diff --git a/packages/aws-cdk-lib/aws-applicationautoscaling/test/step-scaling-policy.test.ts b/packages/aws-cdk-lib/aws-applicationautoscaling/test/step-scaling-policy.test.ts index 1cadb2931d69f..a0263e3c48949 100644 --- a/packages/aws-cdk-lib/aws-applicationautoscaling/test/step-scaling-policy.test.ts +++ b/packages/aws-cdk-lib/aws-applicationautoscaling/test/step-scaling-policy.test.ts @@ -22,7 +22,6 @@ describe('step scaling policy', () => { upperThreshold); }, )); - }); test('generated step intervals are valid intervals', () => { @@ -37,7 +36,6 @@ describe('step scaling policy', () => { }), steps, 'template', JSON.stringify(template, undefined, 2)); }, )); - }); test('generated step intervals are nonoverlapping', () => { @@ -57,7 +55,6 @@ describe('step scaling policy', () => { return true; }, ), { verbose: true }); - }); test('all template intervals occur in input array', () => { @@ -78,7 +75,6 @@ describe('step scaling policy', () => { }); }, )); - }); test('lower alarm uses lower policy', () => { @@ -92,7 +88,6 @@ describe('step scaling policy', () => { return reportFalse(alarm.Properties.AlarmActions[0].Ref === template.lowerPolicy, alarm); }, )); - }); test('upper alarm uses upper policy', () => { @@ -106,7 +101,6 @@ describe('step scaling policy', () => { return reportFalse(alarm.Properties.AlarmActions[0].Ref === template.upperPolicy, alarm); }, )); - }); test('test step scaling on metric', () => { @@ -142,7 +136,6 @@ describe('step scaling policy', () => { }, }); - }); test('step scaling from percentile metric', () => { @@ -179,7 +172,6 @@ describe('step scaling policy', () => { Namespace: 'Test', Threshold: 100, }); - }); test('step scaling with evaluation period configured', () => { @@ -215,7 +207,6 @@ describe('step scaling policy', () => { Namespace: 'Test', Threshold: 100, }); - }); test('step scaling with invalid evaluation period throws error', () => { diff --git a/packages/aws-cdk-lib/aws-applicationautoscaling/test/target-tracking.test.ts b/packages/aws-cdk-lib/aws-applicationautoscaling/test/target-tracking.test.ts index d97347b65033f..17ea26b028c0f 100644 --- a/packages/aws-cdk-lib/aws-applicationautoscaling/test/target-tracking.test.ts +++ b/packages/aws-cdk-lib/aws-applicationautoscaling/test/target-tracking.test.ts @@ -25,7 +25,6 @@ describe('target tracking', () => { }, }); - }); test('test setup target tracking on predefined metric for lambda', () => { @@ -48,7 +47,6 @@ describe('target tracking', () => { }, }); - }); test('test setup target tracking on predefined metric for DYNAMODB_WRITE_CAPACITY_UTILIZATION', () => { @@ -175,6 +173,5 @@ describe('target tracking', () => { }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-appmesh/test/gateway-route.test.ts b/packages/aws-cdk-lib/aws-appmesh/test/gateway-route.test.ts index f73a7817017d3..82c5593768ac7 100644 --- a/packages/aws-cdk-lib/aws-appmesh/test/gateway-route.test.ts +++ b/packages/aws-cdk-lib/aws-appmesh/test/gateway-route.test.ts @@ -109,7 +109,6 @@ describe('gateway route', () => { }, }, }); - }); test('should throw an exception if you start an http prefix match not with a /', () => { @@ -129,7 +128,6 @@ describe('gateway route', () => { path: appmesh.HttpRoutePathMatch.startsWith('wrong'), }, }).bind(stack)).toThrow(/Prefix Path for the match must start with \'\/\', got: wrong/); - }); describe('with shared service mesh', () => { @@ -1260,7 +1258,6 @@ describe('gateway route', () => { expect(gatewayRoute.gatewayRouteName).toEqual(gatewayRouteName); expect(gatewayRoute.virtualGateway.virtualGatewayName).toEqual(virtualGatewayName); expect(gatewayRoute.virtualGateway.mesh.meshName).toEqual(meshName); - }); test('Can import Gateway Routes using attributes', () => { const app = new cdk.App(); @@ -1284,7 +1281,6 @@ describe('gateway route', () => { // THEN expect(gatewayRoute.gatewayRouteName).toEqual(gatewayRouteName); expect(gatewayRoute.virtualGateway.mesh.meshName).toEqual(meshName); - }); }); diff --git a/packages/aws-cdk-lib/aws-appmesh/test/route.test.ts b/packages/aws-cdk-lib/aws-appmesh/test/route.test.ts index 05c467f674c90..92de5901c3a2b 100644 --- a/packages/aws-cdk-lib/aws-appmesh/test/route.test.ts +++ b/packages/aws-cdk-lib/aws-appmesh/test/route.test.ts @@ -277,7 +277,6 @@ describe('route', () => { }, RouteName: 'test-http-route', }); - }); test('should allow weighted targets with port specified', () => { @@ -336,7 +335,6 @@ describe('route', () => { }, RouteName: 'test-http-route', }); - }); test('should not have weighted targets port when not specified', () => { @@ -394,7 +392,6 @@ describe('route', () => { }, RouteName: 'test-http-route', }); - }); test('should allow http retries', () => { @@ -1636,7 +1633,6 @@ describe('route', () => { expect(route.routeName).toEqual(routeName); expect(route.virtualRouter.virtualRouterName).toEqual(virtualRouterName); expect(route.virtualRouter.mesh.meshName).toEqual(meshName); - }); test('Can import Routes using ARN and attributes', () => { diff --git a/packages/aws-cdk-lib/aws-appsync/lib/graphqlapi.ts b/packages/aws-cdk-lib/aws-appsync/lib/graphqlapi.ts index 754af9b084012..fd477e10f8686 100644 --- a/packages/aws-cdk-lib/aws-appsync/lib/graphqlapi.ts +++ b/packages/aws-cdk-lib/aws-appsync/lib/graphqlapi.ts @@ -735,7 +735,6 @@ export class GraphqlApi extends GraphqlApiBase { } else { this.logGroup = LogGroup.fromLogGroupName(this, 'LogGroup', logGroupName); } - } private setupSourceApiAssociations() { diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync-auth.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync-auth.test.ts index 16227c89d35cd..cbc4250aed0c8 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync-auth.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync-auth.test.ts @@ -689,7 +689,6 @@ describe('AppSync Lambda Authorization', () => { ], }, }); - }); test('Attach Lambda Authorization to two or more graphql api', () => { @@ -967,6 +966,5 @@ describe('AppSync Lambda Authorization', () => { ], }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync-dynamodb.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync-dynamodb.test.ts index ea566f24a99bb..de9efb9ea9daa 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync-dynamodb.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync-dynamodb.test.ts @@ -205,5 +205,4 @@ describe('adding DynamoDb data source from imported api', () => { ApiId: { 'Fn::GetAtt': ['baseApiCDA4D43A', 'ApiId'] }, }); }); - }); diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync-grant.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync-grant.test.ts index a9edf4acdcf2b..cab4858a344e6 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync-grant.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync-grant.test.ts @@ -25,7 +25,6 @@ beforeEach(() => { }); describe('grant Permissions', () => { - test('IamResource throws error when custom is called with no arguments', () => { // THEN expect(() => { @@ -258,7 +257,6 @@ describe('grant Permissions', () => { }); describe('grantMutation Permissions', () => { - test('grantMutation provides Mutation/* permissions when called with no `fields` argument', () => { // WHEN api.grantMutation(role); @@ -366,7 +364,6 @@ describe('grantMutation Permissions', () => { }); describe('grantQuery Permissions', () => { - test('grantQuery provides Query/* permissions when called without the `fields` argument', () => { // WHEN api.grantQuery(role); @@ -474,7 +471,6 @@ describe('grantQuery Permissions', () => { }); describe('grantSubscription Permissions', () => { - test('grantSubscription provides Subscription/* permissions when called without `fields` argument', () => { // WHEN api.grantSubscription(role); diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync-http.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync-http.test.ts index 5e81aabe14749..cbe21aaab7789 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync-http.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync-http.test.ts @@ -18,7 +18,6 @@ beforeEach(() => { }); describe('Http Data Source configuration', () => { - test('default configuration produces name `HttpCDKDataSource`', () => { // WHEN api.addHttpDataSource('ds', endpoint); @@ -163,7 +162,6 @@ describe('Http Data Source configuration', () => { api.addHttpDataSource('ds', endpoint); }).toThrow("There is already a Construct with name 'ds' in GraphqlApi [baseApi]"); }); - }); describe('adding http data source from imported api', () => { diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync-none.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync-none.test.ts index 3a9b69616bbbd..f2720237f6a0c 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync-none.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync-none.test.ts @@ -15,7 +15,6 @@ beforeEach(() => { }); describe('None Data Source configuration', () => { - test('default configuration produces name `NoneCDKDataSource`', () => { // WHEN api.addNoneDataSource('ds'); diff --git a/packages/aws-cdk-lib/aws-appsync/test/appsync.test.ts b/packages/aws-cdk-lib/aws-appsync/test/appsync.test.ts index 070330b79323a..60181a10b6058 100644 --- a/packages/aws-cdk-lib/aws-appsync/test/appsync.test.ts +++ b/packages/aws-cdk-lib/aws-appsync/test/appsync.test.ts @@ -333,7 +333,6 @@ test('when query limits are set, they should be used on API', () => { }); test('when query depth limit is out of range, it throws an error', () => { - const errorString = 'You must specify a query depth limit between 0 and 75.'; const buildWithLimit = (name, queryDepthLimit) => { @@ -349,11 +348,9 @@ test('when query depth limit is out of range, it throws an error', () => { expect(() => buildWithLimit('query-limit-min', 0)).not.toThrow(errorString); expect(() => buildWithLimit('query-limit-max', 75)).not.toThrow(errorString); expect(() => buildWithLimit('query-limit-high', 76)).toThrow(errorString); - }); test('when resolver limit is out of range, it throws an error', () => { - const errorString = 'You must specify a resolver count limit between 0 and 10000.'; const buildWithLimit = (name, resolverCountLimit) => { @@ -369,7 +366,6 @@ test('when resolver limit is out of range, it throws an error', () => { expect(() => buildWithLimit('resolver-limit-min', 0)).not.toThrow(errorString); expect(() => buildWithLimit('resolver-limit-max', 10000)).not.toThrow(errorString); expect(() => buildWithLimit('resolver-limit-high', 10001)).toThrow(errorString); - }); test.each([ diff --git a/packages/aws-cdk-lib/aws-autoscaling/test/auto-scaling-group.test.ts b/packages/aws-cdk-lib/aws-autoscaling/test/auto-scaling-group.test.ts index dca9c488a46f7..884ac5235dec5 100644 --- a/packages/aws-cdk-lib/aws-autoscaling/test/auto-scaling-group.test.ts +++ b/packages/aws-cdk-lib/aws-autoscaling/test/auto-scaling-group.test.ts @@ -564,7 +564,6 @@ describe('auto scaling group', () => { ], }, }); - }); testDeprecated('can configure replacing update', () => { @@ -1589,7 +1588,6 @@ describe('auto scaling group', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::AutoScalingGroup', { CapacityRebalance: true, }); - }); test('Can protect new instances from scale-in via constructor property', () => { @@ -2303,7 +2301,6 @@ describe('auto scaling group', () => { vpc: mockVpc(stack), signals: autoscaling.Signals.waitForAll(), })).not.toThrow(); - }); describe('multiple target groups', () => { @@ -2480,7 +2477,6 @@ describe('auto scaling group', () => { }); }).toThrow("Setting \'keyPair\' must not be set when \'launchTemplate\' or \'mixedInstancesPolicy\' is set"); }); - }); function mockVpc(stack: cdk.Stack) { diff --git a/packages/aws-cdk-lib/aws-backup/lib/rule.ts b/packages/aws-cdk-lib/aws-backup/lib/rule.ts index 5c57db49800a6..e43d6abc579bd 100644 --- a/packages/aws-cdk-lib/aws-backup/lib/rule.ts +++ b/packages/aws-cdk-lib/aws-backup/lib/rule.ts @@ -241,6 +241,5 @@ export class BackupPlanRule { ...props, deleteAfter, }; - } } diff --git a/packages/aws-cdk-lib/aws-certificatemanager/test/certificate.test.ts b/packages/aws-cdk-lib/aws-certificatemanager/test/certificate.test.ts index 5f34d7b223b52..1335df418a773 100644 --- a/packages/aws-cdk-lib/aws-certificatemanager/test/certificate.test.ts +++ b/packages/aws-cdk-lib/aws-certificatemanager/test/certificate.test.ts @@ -183,7 +183,6 @@ test('CertificateValidation.fromEmail', () => { }); describe('CertificateValidation.fromDns', () => { - test('without a hosted zone', () => { const stack = new Stack(); @@ -315,7 +314,6 @@ describe('CertificateValidation.fromDns', () => { ValidationMethod: 'DNS', }); }); - }); test('CertificateValidation.fromDnsMultiZone', () => { diff --git a/packages/aws-cdk-lib/aws-certificatemanager/test/util.test.ts b/packages/aws-cdk-lib/aws-certificatemanager/test/util.test.ts index 817fedc06ae76..ee52cce5c3911 100644 --- a/packages/aws-cdk-lib/aws-certificatemanager/test/util.test.ts +++ b/packages/aws-cdk-lib/aws-certificatemanager/test/util.test.ts @@ -101,5 +101,4 @@ describe('getCertificateRegion', () => { expect(getCertificateRegion(certificate)).toEqual(Aws.REGION); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudfront-origins/lib/function-url-origin.ts b/packages/aws-cdk-lib/aws-cloudfront-origins/lib/function-url-origin.ts index 9346a1a857b8c..8fafeb01df571 100644 --- a/packages/aws-cdk-lib/aws-cloudfront-origins/lib/function-url-origin.ts +++ b/packages/aws-cdk-lib/aws-cloudfront-origins/lib/function-url-origin.ts @@ -158,6 +158,5 @@ class FunctionUrlOriginWithOAC extends cloudfront.OriginBase { if (isAlwaysSigning && isAuthTypeIsNone) { throw new Error('The authType of the Function URL must be set to AWS_IAM when origin access control signing method is SIGV4_ALWAYS.'); } - } } diff --git a/packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts b/packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts index 547a70d7f0355..8046b04f91168 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts @@ -774,7 +774,6 @@ export class Distribution extends Resource implements IDistribution { private renderViewerCertificate(certificate: acm.ICertificate, minimumProtocolVersionProp?: SecurityPolicyProtocol, sslSupportMethodProp?: SSLMethod): CfnDistribution.ViewerCertificateProperty { - const defaultVersion = FeatureFlags.of(this).isEnabled(CLOUDFRONT_DEFAULT_SECURITY_POLICY_TLS_V1_2_2021) ? SecurityPolicyProtocol.TLS_V1_2_2021 : SecurityPolicyProtocol.TLS_V1_2_2019; const minimumProtocolVersion = minimumProtocolVersionProp ?? defaultVersion; diff --git a/packages/aws-cdk-lib/aws-cloudfront/lib/key-value-store.ts b/packages/aws-cdk-lib/aws-cloudfront/lib/key-value-store.ts index ab83f24602174..f08ee46d6830f 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/lib/key-value-store.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/lib/key-value-store.ts @@ -130,7 +130,6 @@ export class InlineImportSource extends ImportSource { * @internal */ public _bind(scope: Construct): CfnKeyValueStore.ImportSourceProperty { - if (!this.asset) { // CfnKeyValueStore does not support native in-line, so we need to use a // temporary file to be uploaded with the S3 assets diff --git a/packages/aws-cdk-lib/aws-cloudfront/lib/origin-access-identity.ts b/packages/aws-cdk-lib/aws-cloudfront/lib/origin-access-identity.ts index 172f65d51dbe4..a245c9b1d0b7a 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/lib/origin-access-identity.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/lib/origin-access-identity.ts @@ -98,7 +98,6 @@ export class OriginAccessIdentity extends OriginAccessIdentityBase implements IO scope: Construct, id: string, originAccessIdentityId: string): IOriginAccessIdentity { - class Import extends OriginAccessIdentityBase { public readonly originAccessIdentityId = originAccessIdentityId; public readonly originAccessIdentityName = originAccessIdentityId; diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/cache-policy.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/cache-policy.test.ts index 44bfd52d19c84..2af147ebe46d5 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/cache-policy.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/cache-policy.test.ts @@ -239,7 +239,6 @@ describe.each([ test('denyList() throws if list is empty', () => { expect(() => clazz.denyList()).toThrow(new RegExp(`At least one ${type} to deny must be provided`)); }); - }); describe('HeaderBehavior', () => { diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/distribution.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/distribution.test.ts index 927ba5861b368..4686c8c7989e6 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/distribution.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/distribution.test.ts @@ -1432,5 +1432,4 @@ describe('attachWebAclId', () => { }).toThrow(/WebACL for CloudFront distributions must be created in the us-east-1 region; received ap-northeast-1/); }); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/endpoint.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/endpoint.test.ts index 73eb9061423f8..5f000bd1c946b 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/endpoint.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/endpoint.test.ts @@ -81,5 +81,4 @@ describe('Endpoint', () => { }, }); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/function.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/function.test.ts index 903527dfaaf7e..09e94497cfb00 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/function.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/function.test.ts @@ -4,7 +4,6 @@ import { App, Stack } from '../../core'; import { Function, FunctionCode, FunctionRuntime, KeyValueStore } from '../lib'; describe('CloudFront Function', () => { - test('minimal example', () => { const app = new App(); const stack = new Stack(app, 'Stack', { diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/geo-restriction.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/geo-restriction.test.ts index 5ba9ff2fbd25c..34fd98e96bd0c 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/geo-restriction.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/geo-restriction.test.ts @@ -4,7 +4,6 @@ describe.each([ ['whitelist', GeoRestriction.allowlist], ['blacklist', GeoRestriction.denylist], ])('%s', (type, geoFn) => { - test('throws is location is empty', () => { expect(() => { geoFn(); }).toThrow(/Should provide at least 1 location/); }); @@ -22,5 +21,4 @@ describe.each([ expect(restriction.restrictionType).toEqual(type); expect(restriction.locations).toEqual(['US', 'GB']); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/origin-access-control.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/origin-access-control.test.ts index 80ac74f0ec71f..dd540a10fd3d8 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/origin-access-control.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/origin-access-control.test.ts @@ -110,5 +110,4 @@ describe('S3OriginAccessControl', () => { expect(imported.originAccessControlId).toEqual(originAccessControlId); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/origin-groups.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/origin-groups.test.ts index 849726e1ce95c..f646ff0c3669d 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/origin-groups.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/origin-groups.test.ts @@ -222,6 +222,5 @@ describe('origin group', () => { ], }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-cloudfront/test/web-distribution.test.ts b/packages/aws-cdk-lib/aws-cloudfront/test/web-distribution.test.ts index 5da37d06e8280..39a86dbfab129 100644 --- a/packages/aws-cdk-lib/aws-cloudfront/test/web-distribution.test.ts +++ b/packages/aws-cdk-lib/aws-cloudfront/test/web-distribution.test.ts @@ -35,7 +35,6 @@ NQIDAQAB -----END PUBLIC KEY-----`; describe('web distribution', () => { - testDeprecated('distribution with custom origin adds custom origin', () => { const stack = new cdk.Stack(); @@ -126,7 +125,6 @@ describe('web distribution', () => { }, }, ); - }); test('most basic distribution', () => { @@ -282,7 +280,6 @@ describe('web distribution', () => { }, }, }); - }); test('ensure long comments will not break the distribution', () => { @@ -354,7 +351,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('distribution with bucket and OAI', () => { @@ -406,7 +402,6 @@ added the ellipsis so a user would know there was more to r...`, }], }, }); - }); testDeprecated('distribution with trusted signers on default distribution', () => { @@ -524,7 +519,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('distribution with ViewerProtocolPolicy set to a non-default value', () => { @@ -602,7 +596,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('distribution with ViewerProtocolPolicy overridden in Behavior', () => { @@ -783,7 +776,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('distribution with CloudFront function-association', () => { @@ -828,7 +820,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('distribution with resolvable lambda-association', () => { @@ -876,7 +867,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('associate a lambda with removable env vars', () => { @@ -913,7 +903,6 @@ added the ellipsis so a user would know there was more to r...`, Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Function', { Environment: Match.absent(), }); - }); test('throws when associating a lambda with incompatible env vars', () => { @@ -950,7 +939,6 @@ added the ellipsis so a user would know there was more to r...`, }); expect(() => app.synth()).toThrow(/KEY/); - }); test('throws when associating a lambda with includeBody and a response event type', () => { @@ -981,7 +969,6 @@ added the ellipsis so a user would know there was more to r...`, ], }); }).toThrow(/'includeBody' can only be true for ORIGIN_REQUEST or VIEWER_REQUEST event types./); - }); test('distribution has a defaultChild', () => { @@ -1000,7 +987,6 @@ added the ellipsis so a user would know there was more to r...`, }); expect(distribution.node.defaultChild instanceof CfnDistribution).toEqual(true); - }); testDeprecated('allows multiple aliasConfiguration CloudFrontWebDistribution per stack', () => { @@ -1040,7 +1026,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); describe('viewerCertificate', () => { @@ -1072,7 +1057,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('imported certificate fromCertificateArn', () => { const stack = new cdk.Stack(); @@ -1099,7 +1083,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('advanced usage', () => { const stack = new cdk.Stack(); @@ -1133,7 +1116,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); }); describe('iamCertificate', () => { @@ -1158,7 +1140,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('advanced usage', () => { const stack = new cdk.Stack(); @@ -1186,7 +1167,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); }); describe('cloudFrontDefaultCertificate', () => { @@ -1210,7 +1190,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('aliases are set', () => { const stack = new cdk.Stack(); @@ -1232,7 +1211,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); }); describe('errors', () => { @@ -1250,7 +1228,6 @@ added the ellipsis so a user would know there was more to r...`, viewerCertificate: ViewerCertificate.fromCloudFrontDefaultCertificate('example.com', 'www.example.com'), }); }).toThrow(/You cannot set both aliasConfiguration and viewerCertificate properties/); - }); test('throws if invalid security policy for SSL method', () => { const stack = new cdk.Stack(); @@ -1268,7 +1245,6 @@ added the ellipsis so a user would know there was more to r...`, }), }); }).toThrow(/TLSv1.1_2016 is not compabtible with sslMethod vip./); - }); // FIXME https://github.com/aws/aws-cdk/issues/4724 test('does not throw if acmCertificate explicitly not in us-east-1', () => { @@ -1296,7 +1272,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); }); }); @@ -1354,7 +1329,6 @@ added the ellipsis so a user would know there was more to r...`, 'Version': '2012-10-17', }, }); - }); test('edgelambda.amazonaws.com is not added to lambda role for imported functions', () => { @@ -1384,7 +1358,6 @@ added the ellipsis so a user would know there was more to r...`, }); Template.fromStack(stack).resourceCountIs('AWS::IAM::Role', 0); - }); describe('geo restriction', () => { @@ -1462,7 +1435,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); test('denylist', () => { const stack = new cdk.Stack(); @@ -1537,7 +1509,6 @@ added the ellipsis so a user would know there was more to r...`, }, }, }); - }); }); describe('error', () => { @@ -1549,7 +1520,6 @@ added the ellipsis so a user would know there was more to r...`, expect(() => { GeoRestriction.denylist(); }).toThrow(/Should provide at least 1 location/); - }); test('throws if locations format is wrong', () => { expect(() => { @@ -1559,7 +1529,6 @@ added the ellipsis so a user would know there was more to r...`, expect(() => { GeoRestriction.denylist('us'); }).toThrow(/Invalid location format for location: us, location should be two-letter and uppercase country ISO 3166-1-alpha-2 code/); - }); }); }); @@ -1577,7 +1546,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).not.toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('3 = connectionAttempts', () => { const stack = new cdk.Stack(); @@ -1590,7 +1558,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).not.toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('connectionTimeout = 1', () => { const stack = new cdk.Stack(); @@ -1603,7 +1570,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).not.toThrow(/connectionTimeout: You can specify a number of seconds between 1 and 10 (inclusive)./); - }); test('10 = connectionTimeout', () => { const stack = new cdk.Stack(); @@ -1616,7 +1582,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).not.toThrow(/connectionTimeout: You can specify a number of seconds between 1 and 10 (inclusive)./); - }); }); describe('errors', () => { @@ -1631,7 +1596,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('connectionAttempts = -1', () => { const stack = new cdk.Stack(); @@ -1644,7 +1608,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('connectionAttempts < 1', () => { const stack = new cdk.Stack(); @@ -1657,7 +1620,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('3 < connectionAttempts', () => { const stack = new cdk.Stack(); @@ -1670,7 +1632,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionAttempts: You can specify 1, 2, or 3 as the number of attempts./); - }); test('connectionTimeout = 1.1', () => { const stack = new cdk.Stack(); @@ -1683,7 +1644,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/must be a whole number of/); - }); test('connectionTimeout < 1', () => { const stack = new cdk.Stack(); @@ -1696,7 +1656,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionTimeout: You can specify a number of seconds between 1 and 10 \(inclusive\)./); - }); test('10 < connectionTimeout', () => { const stack = new cdk.Stack(); @@ -1709,7 +1668,6 @@ added the ellipsis so a user would know there was more to r...`, }], }); }).toThrow(/connectionTimeout: You can specify a number of seconds between 1 and 10 \(inclusive\)./); - }); }); }); @@ -1724,7 +1682,6 @@ added the ellipsis so a user would know there was more to r...`, expect(dist.distributionDomainName).toEqual('d111111abcdef8.cloudfront.net'); expect(dist.distributionId).toEqual('012345ABCDEF'); expect(dist.distributionArn).toEqual(`arn:${cdk.Aws.PARTITION}:cloudfront::${cdk.Aws.ACCOUNT_ID}:distribution/012345ABCDEF`); - }); }); diff --git a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts index a6d81a20de750..7714a82f8f015 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts @@ -347,7 +347,6 @@ export class Alarm extends AlarmBase { }; }, withExpression(expr, conf) { - const hasSubmetrics = mathExprHasSubmetrics(expr); if (hasSubmetrics) { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/lib/composite-alarm.ts b/packages/aws-cdk-lib/aws-cloudwatch/lib/composite-alarm.ts index e8c06c02f1f21..726c330984416 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/lib/composite-alarm.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/lib/composite-alarm.ts @@ -153,7 +153,6 @@ export class CompositeAlarm extends AlarmBase { resourceName: this.physicalName, arnFormat: ArnFormat.COLON_RESOURCE_NAME, }); - } private generateUniqueId(): string { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/lib/graph.ts b/packages/aws-cdk-lib/aws-cloudwatch/lib/graph.ts index b0ed9c4bb19fa..82a62c9b15126 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/lib/graph.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/lib/graph.ts @@ -257,7 +257,6 @@ export class GaugeWidget extends ConcreteWidget { } public toJson(): any[] { - const metrics = allMetricsGraphJson(this.metrics, []); const leftYAxis = { ...this.props.leftYAxis, diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/alarm-status-widget.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/alarm-status-widget.test.ts index 4f606f9efce3f..3b59fa3cd892a 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/alarm-status-widget.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/alarm-status-widget.test.ts @@ -60,6 +60,5 @@ describe('Alarm Status Widget', () => { }, }, ]); - }); }); diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/composite-alarm.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/composite-alarm.test.ts index a6a8d1f21e6c0..f7ced18f11779 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/composite-alarm.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/composite-alarm.test.ts @@ -105,7 +105,6 @@ describe('CompositeAlarm', () => { ], }, }); - }); test('test action suppressor translates to a correct CFN properties', () => { @@ -205,5 +204,4 @@ describe('CompositeAlarm', () => { expect(alarmFromName.alarmName).toEqual('TestAlarmName'); expect(alarmFromName.alarmArn).toMatch(/:alarm:TestAlarmName$/); }); - }); diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/cross-environment.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/cross-environment.test.ts index ab135664e3d7a..17677e01f2867 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/cross-environment.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/cross-environment.test.ts @@ -29,7 +29,6 @@ describe('cross environment', () => { graphMetricsAre(stack1, graph, [ ['Test', 'ACount'], ]); - }); test('metric attached to stack1 will render region and account in stack2', () => { @@ -44,7 +43,6 @@ describe('cross environment', () => { graphMetricsAre(stack2, graph, [ ['Test', 'ACount', { region: 'pluto', accountId: '1234' }], ]); - }); test('metric with explicit account and region will render in environment agnostic stack', () => { @@ -87,7 +85,6 @@ describe('cross environment', () => { graphMetricsAre(new Stack(), graph, [ ['Test', 'ACount'], ]); - }); test('math expressions with explicit account and region will render in environment agnostic stack', () => { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/dashboard.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/dashboard.test.ts index e2798347b1c96..de1ac62f1fd29 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/dashboard.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/dashboard.test.ts @@ -45,7 +45,6 @@ describe('Dashboard', () => { { type: 'text', width: 1, height: 4, x: 0, y: 2, properties: { markdown: 'second', background: TextWidgetBackground.TRANSPARENT } }, { type: 'text', width: 4, height: 1, x: 0, y: 6, properties: { markdown: 'third' } }, ]); - }); test('widgets in same add are laid out next to each other', () => { @@ -81,7 +80,6 @@ describe('Dashboard', () => { { type: 'text', width: 1, height: 4, x: 10, y: 0, properties: { markdown: 'second' } }, { type: 'text', width: 4, height: 1, x: 11, y: 0, properties: { markdown: 'third' } }, ]); - }); test('tokens in widgets are retained', () => { @@ -104,7 +102,6 @@ describe('Dashboard', () => { ]], }, }); - }); test('dashboard body includes non-widget fields', () => { @@ -133,7 +130,6 @@ describe('Dashboard', () => { ]], }, }); - }); test('defaultInterval test', () => { @@ -158,7 +154,6 @@ describe('Dashboard', () => { ]], }, }); - }); test('throws if both defaultInterval and start are specified', () => { @@ -204,7 +199,6 @@ describe('Dashboard', () => { Template.fromStack(stack).hasResourceProperties('AWS::CloudWatch::Dashboard', { DashboardName: 'MyCustomDashboardName', }); - }); test('DashboardName is not generated if not provided', () => { @@ -217,7 +211,6 @@ describe('Dashboard', () => { // THEN Template.fromStack(stack).hasResourceProperties('AWS::CloudWatch::Dashboard', {}); - }); test('throws if DashboardName is not valid', () => { @@ -293,7 +286,6 @@ describe('Dashboard', () => { hasVariables(resources[key].Properties, [ { defaultValue: 'us-east-1', id: 'region3', inputType: 'select', label: 'RegionPatternWithValues', pattern: 'us-east-1', type: 'pattern', values: [{ label: 'IAD', value: 'us-east-1' }, { label: 'DUB', value: 'us-west-2' }], visible: true }, ]); - }); test('dashboard has initial and added variable', () => { @@ -330,7 +322,6 @@ describe('Dashboard', () => { { defaultValue: 'us-east-1', id: 'region3', inputType: 'select', label: 'RegionPatternWithValues', pattern: 'us-east-1', type: 'pattern', values: [{ label: 'IAD', value: 'us-east-1' }, { label: 'DUB', value: 'us-west-2' }], visible: true }, { defaultValue: 'us-east-1', id: 'region2', inputType: 'input', label: 'RegionPattern', pattern: 'us-east-1', type: 'pattern', visible: true }, ]); - }); test('dashboard has property/select search variable', () => { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/graphs.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/graphs.test.ts index dd70bce845df0..6814814f9a94e 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/graphs.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/graphs.test.ts @@ -42,7 +42,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('add metrics to graphs on either axis', () => { @@ -74,7 +73,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('add metrics to graphs on either axis lazily', () => { @@ -102,7 +100,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('label and color are respected in constructor', () => { @@ -126,7 +123,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('bar view', () => { @@ -149,7 +145,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('singlevalue widget', () => { @@ -175,7 +170,6 @@ describe('Graphs', () => { ], }, }]); - }); test('query result widget', () => { @@ -203,7 +197,6 @@ describe('Graphs', () => { query: `SOURCE '${logGroup.logGroupName}' | fields @message\n| filter @message like /Error/`, }, }]); - }); test('query result widget - bar', () => { @@ -232,7 +225,6 @@ describe('Graphs', () => { query: `SOURCE '${logGroup.logGroupName}' | fields @message\n| filter @message like /Error/`, }, }]); - }); test('query result widget - pie', () => { @@ -261,7 +253,6 @@ describe('Graphs', () => { query: `SOURCE '${logGroup.logGroupName}' | fields @message\n| filter @message like /Error/`, }, }]); - }); test('query result widget - line', () => { @@ -291,7 +282,6 @@ describe('Graphs', () => { query: `SOURCE '${logGroup.logGroupName}' | fields @message\n| filter @message like /Error/`, }, }]); - }); test('query result widget - stackedarea', () => { @@ -321,7 +311,6 @@ describe('Graphs', () => { query: `SOURCE '${logGroup.logGroupName}' | fields @message\n| filter @message like /Error/`, }, }]); - }); test('alarm widget', () => { @@ -352,7 +341,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('custom widget basic', () => { @@ -460,7 +448,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('add vertical annotations to graph', () => { @@ -561,7 +548,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('add yAxis to graph', () => { @@ -605,7 +591,6 @@ describe('Graphs', () => { }, }, }]); - }); test('specify liveData property on graph', () => { @@ -635,7 +620,6 @@ describe('Graphs', () => { yAxis: {}, }, }]); - }); test('can use imported alarm with graph', () => { @@ -650,7 +634,6 @@ describe('Graphs', () => { }); // THEN: Compiles - }); test('add setPeriodToTimeRange to singleValueWidget', () => { @@ -678,7 +661,6 @@ describe('Graphs', () => { setPeriodToTimeRange: true, }, }]); - }); test('add sparkline to singleValueWidget', () => { @@ -706,7 +688,6 @@ describe('Graphs', () => { sparkline: true, }, }]); - }); test('throws if setPeriodToTimeRange and sparkline is set on singleValueWidget', () => { @@ -752,7 +733,6 @@ describe('Graphs', () => { singleValueFullPrecision: true, }, }]); - }); test('add period to singleValueWidget', () => { @@ -780,7 +760,6 @@ describe('Graphs', () => { period: 172800, }, }]); - }); test('allows overriding custom values of dashboard widgets', () => { @@ -802,7 +781,6 @@ describe('Graphs', () => { expect(stack.resolve(widget.toJson())[0].properties.metrics[0]) .toEqual(['CDK', 'Test', { visible: false }]); - }); test('GraphColor is correctly converted into the correct hexcode', () => { @@ -822,7 +800,6 @@ describe('Graphs', () => { expect(stack.resolve(widget.toJson())[0].properties.metrics[0]).toEqual(['CDK', 'Test', { color: '#1f77b4' }]); expect(stack.resolve(widget.toJson())[0].properties.annotations.horizontal[0]).toEqual({ yAxis: 'left', value: 100, color: '#d62728' }); - }); test('legend position is respected in constructor', () => { @@ -850,7 +827,6 @@ describe('Graphs', () => { }, }, }]); - }); test('add setPeriodToTimeRange to GraphWidget', () => { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/layout.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/layout.test.ts index 10613fbede058..3d7c19fcc589d 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/layout.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/layout.test.ts @@ -11,7 +11,6 @@ describe('Layout', () => { // THEN expect(4).toEqual(row.height); expect(20).toEqual(row.width); - }); test('spacer has default height and width', () => { @@ -21,7 +20,6 @@ describe('Layout', () => { // THEN expect(1).toEqual(spacer.height); expect(1).toEqual(spacer.width); - }); test('column has the width of the tallest element', () => { @@ -34,7 +32,6 @@ describe('Layout', () => { // THEN expect(4).toEqual(col.width); expect(5).toEqual(col.height); - }); test('row wraps to width of 24, taking tallest widget into account while wrapping', () => { @@ -67,7 +64,6 @@ describe('Layout', () => { assertWidgetPos(1014, 1000, widgets[2]); assertWidgetPos(1000, 1004, widgets[3]); } - }); test('row can fit exactly 3 8-wide widgets without wrapping', () => { @@ -84,7 +80,6 @@ describe('Layout', () => { expect(24).toEqual(row.width); expect(4).toEqual(row.height); } - }); test('add a widget to the row', () => { @@ -93,7 +88,6 @@ describe('Layout', () => { row.addWidget(new Spacer({ width: 3 })); expect(row.width).toEqual(4); - }); test('add a widget to the column', () => { @@ -106,7 +100,6 @@ describe('Layout', () => { column.addWidget(new Spacer({ height: 2, width: 3 })); expect(column.height).toEqual(4); expect(column.width).toEqual(3); - }); test('row wraps when adding widgets', () => { @@ -120,6 +113,5 @@ describe('Layout', () => { row.addWidget(new Spacer({ width: 5, height: 2 })); expect(row.width).toEqual(20); expect(row.height).toEqual(3); - }); }); diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/metric-math.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/metric-math.test.ts index 843f87379ae4f..a513f897e6f64 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/metric-math.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/metric-math.test.ts @@ -23,7 +23,6 @@ describe('Metric Math', () => { }, }); }).toThrow(/Invalid variable names in expression/); - }); test('cannot reuse variable names in nested MathExpressions', () => { @@ -40,7 +39,6 @@ describe('Metric Math', () => { }, }); }).toThrow(/The ID 'a' used for two metrics in the expression: 'BCount' and 'ACount'. Rename one/); - }); test('can not use invalid period in MathExpression', () => { @@ -51,7 +49,6 @@ describe('Metric Math', () => { period: Duration.seconds(20), }); }).toThrow(/'period' must be 1, 5, 10, 30, or a multiple of 60 seconds, received 20/); - }); test('MathExpression optimization: "with" with the same period returns the same object', () => { @@ -226,7 +223,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'a' }], ['Test', 'BCount', { visible: false, id: 'b' }], ]); - }); test('can nest MathExpressions in a graph', () => { @@ -254,7 +250,6 @@ describe('Metric Math', () => { ['Test', 'BCount', { visible: false, id: 'b' }], ['Test', 'CCount', { visible: false, id: 'c' }], ]); - }); test('can add the same metric under different ids', () => { @@ -280,7 +275,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'b' }], ['Test', 'CCount', { visible: false, id: 'c' }], ]); - }); test('passing an empty string as the label of a MathExpressions does not emit a label', () => { @@ -300,7 +294,6 @@ describe('Metric Math', () => { [{ expression: 'a + e' }], ['Test', 'ACount', { visible: false, id: 'a' }], ]); - }); test('can reuse identifiers in MathExpressions if metrics are the same', () => { @@ -326,7 +319,6 @@ describe('Metric Math', () => { [{ expression: 'a + c', visible: false, id: 'e' }], ['Test', 'CCount', { visible: false, id: 'c' }], ]); - }); test('MathExpression and its constituent metrics can both be added to a graph', () => { @@ -346,7 +338,6 @@ describe('Metric Math', () => { [{ label: 'a + b', expression: 'a + b' }], ['Test', 'BCount', { visible: false, id: 'b' }], ]); - }); test('MathExpression controls period of metrics directly used in it', () => { @@ -369,7 +360,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'a' }], ['Test', 'BCount', { visible: false, id: 'b' }], ]); - }); test('top level period in a MathExpression is respected in its metrics', () => { @@ -391,7 +381,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'a', period: 60 }], ['Test', 'BCount', { visible: false, id: 'b', period: 60 }], ]); - }); test('MathExpression controls period of metrics transitively used in it', () => { @@ -420,7 +409,6 @@ describe('Metric Math', () => { [{ expression: 'a + b', visible: false, id: 'e' }], ['Test', 'BCount', { visible: false, id: 'b' }], ]); - }); test('can use percentiles in expression metrics in graphs', () => { @@ -440,7 +428,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'a' }], ['Test', 'BCount', { visible: false, id: 'b99', stat: 'p99' }], ]); - }); test('can reuse the same metric between left and right axes', () => { @@ -466,7 +453,6 @@ describe('Metric Math', () => { ['Test', 'ACount', { visible: false, id: 'a' }], [{ label: 'a + 2', expression: 'a + 2', yAxis: 'right' }], ]); - }); test('detect name conflicts between left and right axes', () => { @@ -490,7 +476,6 @@ describe('Metric Math', () => { expect(() => { graphMetricsAre(graph, []); }).toThrow(/Cannot have two different metrics share the same id \('m1'\)/); - }); }); @@ -538,7 +523,6 @@ describe('Metric Math', () => { }, ]); - }); test('can nest MathExpressions in an alarm', () => { @@ -606,7 +590,6 @@ describe('Metric Math', () => { ReturnData: false, }, ]); - }); test('MathExpression controls period of metrics transitively used in it with alarms', () => { @@ -676,7 +659,6 @@ describe('Metric Math', () => { ReturnData: false, }, ]); - }); test('MathExpression without inner metrics emits its own period', () => { @@ -698,7 +680,6 @@ describe('Metric Math', () => { Period: 300, }, ]); - }); test('annotation for a mathexpression alarm is calculated based upon constituent metrics', () => { @@ -718,7 +699,6 @@ describe('Metric Math', () => { // THEN expect(alarmLabel).toEqual('a + b >= 1 for 1 datapoints within 10 minutes'); - }); test('can use percentiles in expression metrics in alarms', () => { @@ -763,7 +743,6 @@ describe('Metric Math', () => { ReturnData: false, }, ]); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-cloudwatch/test/metrics.test.ts b/packages/aws-cdk-lib/aws-cloudwatch/test/metrics.test.ts index 3fb54f4e1b58d..ccb1ae35bd285 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/test/metrics.test.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/test/metrics.test.ts @@ -29,14 +29,12 @@ describe('Metrics', () => { ], }, }); - }); test('can not use invalid period in Metric', () => { expect(() => { new Metric({ namespace: 'Test', metricName: 'ACount', period: cdk.Duration.seconds(20) }); }).toThrow(/'period' must be 1, 5, 10, 30, or a multiple of 60 seconds, received 20/); - }); test('Metric optimization: "with" with the same period returns the same object', () => { @@ -47,7 +45,6 @@ describe('Metrics', () => { expect(m.with({ period: cdk.Duration.minutes(10) })).toEqual(m); expect(m.with({ period: cdk.Duration.minutes(5) })).not.toEqual(m); - }); testDeprecated('cannot use null dimension value', () => { @@ -61,7 +58,6 @@ describe('Metrics', () => { }, }); }).toThrow(/Dimension value of 'null' is invalid/); - }); testDeprecated('cannot use undefined dimension value', () => { @@ -75,7 +71,6 @@ describe('Metrics', () => { }, }); }).toThrow(/Dimension value of 'undefined' is invalid/); - }); testDeprecated('cannot use long dimension values', () => { @@ -92,7 +87,6 @@ describe('Metrics', () => { }, }); }).toThrow(`Dimension value must be at least 1 and no more than 255 characters; received ${invalidDimensionValue}`); - }); test('cannot use long dimension values in dimensionsMap', () => { @@ -109,7 +103,6 @@ describe('Metrics', () => { }, }); }).toThrow(`Dimension value must be at least 1 and no more than 255 characters; received ${invalidDimensionValue}`); - }); testDeprecated('throws error when there are more than 30 dimensions', () => { @@ -153,7 +146,6 @@ describe('Metrics', () => { }, } ); }).toThrow(/The maximum number of dimensions is 30, received 31/); - }); test('throws error when there are more than 30 dimensions in dimensionsMap', () => { @@ -197,7 +189,6 @@ describe('Metrics', () => { }, } ); }).toThrow(/The maximum number of dimensions is 30, received 31/); - }); test('can create metric with dimensionsMap property', () => { @@ -237,7 +228,6 @@ describe('Metrics', () => { Threshold: 10, EvaluationPeriods: 1, }); - }); test('"with" with a different dimensions property', () => { @@ -259,7 +249,6 @@ describe('Metrics', () => { expect(metric.with({ dimensionsMap: newDims, }).dimensions).toEqual(newDims); - }); test('metric accepts a variety of statistics', () => { diff --git a/packages/aws-cdk-lib/aws-codebuild/lib/project.ts b/packages/aws-cdk-lib/aws-codebuild/lib/project.ts index 6e6be488af3bc..fd3110954d17c 100644 --- a/packages/aws-cdk-lib/aws-codebuild/lib/project.ts +++ b/packages/aws-cdk-lib/aws-codebuild/lib/project.ts @@ -867,7 +867,6 @@ export class Project extends ProjectBase { */ public static serializeEnvVariables(environmentVariables: { [name: string]: BuildEnvironmentVariable }, validateNoPlainTextSecrets: boolean = false, principal?: iam.IGrantable): CfnProject.EnvironmentVariableProperty[] { - const ret = new Array(); const ssmIamResources = new Array(); const secretsManagerIamResources = new Set(); @@ -1344,7 +1343,6 @@ export class Project extends ProjectBase { private renderEnvironment( props: ProjectProps, projectVars: { [name: string]: BuildEnvironmentVariable } = {}): CfnProject.EnvironmentProperty { - const env = props.environment ?? {}; const vars: { [name: string]: BuildEnvironmentVariable } = {}; const containerVars = env.environmentVariables || {}; @@ -2150,7 +2148,6 @@ export class WindowsBuildImage implements IBuildImage { name: string, options: DockerImageOptions = {}, imageType: WindowsImageType = WindowsImageType.STANDARD): IBuildImage { - return new WindowsBuildImage({ ...options, imageId: name, @@ -2174,7 +2171,6 @@ export class WindowsBuildImage implements IBuildImage { repository: ecr.IRepository, tagOrDigest: string = 'latest', imageType: WindowsImageType = WindowsImageType.STANDARD): IBuildImage { - return new WindowsBuildImage({ imageId: repository.repositoryUriForTagOrDigest(tagOrDigest), imagePullPrincipalType: ImagePullPrincipalType.SERVICE_ROLE, @@ -2191,7 +2187,6 @@ export class WindowsBuildImage implements IBuildImage { id: string, props: DockerImageAssetProps, imageType: WindowsImageType = WindowsImageType.STANDARD): IBuildImage { - const asset = new DockerImageAsset(scope, id, props); return new WindowsBuildImage({ imageId: asset.imageUri, diff --git a/packages/aws-cdk-lib/aws-codebuild/test/fleet.test.ts b/packages/aws-cdk-lib/aws-codebuild/test/fleet.test.ts index 8a9466e5b3807..8f85d5a851b4e 100644 --- a/packages/aws-cdk-lib/aws-codebuild/test/fleet.test.ts +++ b/packages/aws-cdk-lib/aws-codebuild/test/fleet.test.ts @@ -137,7 +137,6 @@ test('can import with a concrete ARN', () => { 'arn:aws:codebuild:us-east-1:123456789012:fleet/MyFleet:298f98fb-ba69-4381-a663-c8d517dd61be', ); expect(fleet.fleetName).toEqual('MyFleet'); - }); test('throws if fleet name is longer than 128 characters', () => { diff --git a/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts b/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts index f1438ac0c4cbb..7ea2aae4dae28 100644 --- a/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts +++ b/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts @@ -1393,7 +1393,6 @@ describe('EnvironmentVariables', () => { }); test('does not grant read permissions when variables are not from parameter store', () => { - // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-codebuild/test/report-group.test.ts b/packages/aws-cdk-lib/aws-codebuild/test/report-group.test.ts index fa58c3cc73554..cceca9812a19e 100644 --- a/packages/aws-cdk-lib/aws-codebuild/test/report-group.test.ts +++ b/packages/aws-cdk-lib/aws-codebuild/test/report-group.test.ts @@ -266,5 +266,4 @@ describe('Test Reports Groups', () => { }, ).toThrow('Cannot use \'deleteReports\' property on a report group without setting removal policy to \'DESTROY\'.'); }); - }); diff --git a/packages/aws-cdk-lib/aws-codecommit/lib/repository.ts b/packages/aws-cdk-lib/aws-codecommit/lib/repository.ts index 8430789a40e1a..7edfaed809acb 100644 --- a/packages/aws-cdk-lib/aws-codecommit/lib/repository.ts +++ b/packages/aws-cdk-lib/aws-codecommit/lib/repository.ts @@ -587,7 +587,6 @@ export class Repository extends RepositoryBase { * @param options Trigger options to run actions */ public notify(arn: string, options?: RepositoryTriggerOptions): Repository { - let evt = options && options.events; if (evt && evt.length > 1 && evt.indexOf(RepositoryEventTrigger.ALL) > -1) { evt = [RepositoryEventTrigger.ALL]; diff --git a/packages/aws-cdk-lib/aws-codecommit/test/codecommit.test.ts b/packages/aws-cdk-lib/aws-codecommit/test/codecommit.test.ts index bfb9b4ef4d9ae..4d250742d6e1f 100644 --- a/packages/aws-cdk-lib/aws-codecommit/test/codecommit.test.ts +++ b/packages/aws-cdk-lib/aws-codecommit/test/codecommit.test.ts @@ -39,7 +39,6 @@ describe('codecommit', () => { }, }, }); - }); test('fails when triggers have duplicate names', () => { @@ -50,7 +49,6 @@ describe('codecommit', () => { }).notify('myTrigger'); expect(() => myRepository.notify('myTrigger')).toThrow(); - }); test('can be imported using a Repository ARN', () => { @@ -64,7 +62,6 @@ describe('codecommit', () => { // THEN expect(stack.resolve(repo.repositoryArn)).toEqual(repositoryArn); expect(stack.resolve(repo.repositoryName)).toEqual('my-repo'); - }); test('Repository can be initialized with contents from a ZIP file', () => { @@ -196,7 +193,6 @@ describe('codecommit', () => { expect(repo.env.account).toEqual('585695036304'); expect(repo.env.region).toEqual('us-west-2'); - }); test('can be imported using just a Repository name (the ARN is deduced)', () => { @@ -244,7 +240,6 @@ describe('codecommit', () => { ], ], }); - }); test('grant push', () => { @@ -288,7 +283,6 @@ describe('codecommit', () => { Version: '2012-10-17', }, }); - }); test('HTTPS (GRC) clone URL', () => { @@ -309,7 +303,6 @@ describe('codecommit', () => { ], ], }); - }); test('specify a kms key', () => { diff --git a/packages/aws-cdk-lib/aws-codecommit/test/notification-rule.test.ts b/packages/aws-cdk-lib/aws-codecommit/test/notification-rule.test.ts index 0f90cf46f0bcb..c53cc9bafb694 100644 --- a/packages/aws-cdk-lib/aws-codecommit/test/notification-rule.test.ts +++ b/packages/aws-cdk-lib/aws-codecommit/test/notification-rule.test.ts @@ -59,6 +59,5 @@ describe('notification rule', () => { }, ], }); - }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.ts index 89d6d4295d02f..05251be979a49 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.ts @@ -49,7 +49,6 @@ export class ElasticBeanstalkDeployAction extends Action { _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions, ): codepipeline.ActionConfig { - // Per https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.managed-policies.html // it doesn't seem we can scope this down further for the codepipeline action. options.role.addManagedPolicy({ managedPolicyArn: `arn:${Aws.PARTITION}:iam::aws:policy/AdministratorAccess-AWSElasticBeanstalk` }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts index db058866d4a44..4c1c70cdcb00b 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts @@ -63,7 +63,6 @@ export class ServiceCatalogDeployActionBeta1 extends Action { protected bound(_scope: Construct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { - options.role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSServiceCatalogAdminFullAccess')); // Attempt at least privilege; using this alone fails with "invalid template". diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/bitbucket/bitbucket-source-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/bitbucket/bitbucket-source-action.test.ts index 01bda19a8b9fe..988e05dcad454 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/bitbucket/bitbucket-source-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/bitbucket/bitbucket-source-action.test.ts @@ -45,7 +45,6 @@ describeDeprecated('BitBucket source Action', () => { }, ], }); - }); }); @@ -78,7 +77,6 @@ describeDeprecated('BitBucket source Action', () => { ], }, }); - }); test('grant s3 putObjectACL to the following CodeBuild Project', () => { const stack = new Stack(); @@ -112,7 +110,6 @@ describeDeprecated('BitBucket source Action', () => { ]), }, }); - }); test('setting triggerOnPush=false reflects in the configuration', () => { const stack = new Stack(); @@ -151,7 +148,6 @@ describeDeprecated('BitBucket source Action', () => { }, ], }); - }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/cloudformation-pipeline-actions.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/cloudformation-pipeline-actions.test.ts index 9d75c0279720a..6fe0f950beee9 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/cloudformation-pipeline-actions.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/cloudformation-pipeline-actions.test.ts @@ -194,7 +194,6 @@ describe('CloudFormation Pipeline Actions', () => { 'Name': 'prod', }], }); - }); test('fullPermissions leads to admin role and full IAM capabilities with pipeline bucket+key read permissions', () => { @@ -263,7 +262,6 @@ describe('CloudFormation Pipeline Actions', () => { }, Roles: [{ Ref: roleId }], }); - }); test('outputFileName leads to creation of output artifact', () => { @@ -294,7 +292,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('replaceOnFailure switches action type', () => { @@ -327,7 +324,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('parameterOverrides are serialized as a string', () => { @@ -368,7 +364,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('Action service role is passed to template', () => { @@ -418,7 +413,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('Single capability is passed to template', () => { @@ -460,7 +454,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('Multiple capabilities are passed to template', () => { @@ -503,7 +496,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('Empty capabilities is not passed to template', () => { @@ -544,7 +536,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); test('can use CfnCapabilities from the core module', () => { @@ -585,7 +576,6 @@ describe('CloudFormation Pipeline Actions', () => { }, ], }); - }); describe('cross-account CFN Pipeline', () => { @@ -709,7 +699,6 @@ describe('CloudFormation Pipeline Actions', () => { Template.fromStack(otherStack).hasResourceProperties('AWS::IAM::Role', { 'RoleName': 'pipelinestack-support-123fndeploymentrole4668d9b5a30ce3dc4508', }); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts index b0380a457a154..2f89bd4a1be6c 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts @@ -48,7 +48,6 @@ describe('Pipeline Actions', () => { }); done(); - }); test('uses a single permission statement if the same ChangeSet name is used', () => { @@ -105,7 +104,6 @@ describe('Pipeline Actions', () => { }, ], ); - }); }); @@ -178,7 +176,6 @@ describe('Pipeline Actions', () => { }, ], ); - }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codebuild/codebuild-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codebuild/codebuild-action.test.ts index 7154fafe7ecb8..a80856e214034 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codebuild/codebuild-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codebuild/codebuild-action.test.ts @@ -63,7 +63,6 @@ describe('CodeBuild Action', () => { expect(() => { buildStage.addAction(buildAction2); }).toThrow(/https:\/\/github\.com\/aws\/aws-cdk\/issues\/4169/); - }); }); @@ -118,7 +117,6 @@ describe('CodeBuild Action', () => { }, ], }); - }); test('exposes variables for other actions to consume', () => { @@ -196,7 +194,6 @@ describe('CodeBuild Action', () => { }, ], }); - }); test('sets the BatchEnabled configuration', () => { @@ -250,7 +247,6 @@ describe('CodeBuild Action', () => { }, ], }); - }); test('sets the CombineArtifacts configuration', () => { @@ -306,7 +302,6 @@ describe('CodeBuild Action', () => { }, ], }); - }); describe('environment variables', () => { @@ -347,7 +342,6 @@ describe('CodeBuild Action', () => { expect(() => { buildStage.addAction(buildAction); }).toThrow(/Plaintext environment variable 'X' contains a secret value!/); - }); test("should allow opting out of the 'secret value in a plaintext variable' validation", () => { @@ -382,7 +376,6 @@ describe('CodeBuild Action', () => { }, ], }); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codedeploy/ecs-deploy-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codedeploy/ecs-deploy-action.test.ts index cdf5248c665b4..6c0a224497f32 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codedeploy/ecs-deploy-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codedeploy/ecs-deploy-action.test.ts @@ -27,7 +27,6 @@ describe('CodeDeploy ECS Deploy Action', () => { containerImageInputs, }); }).toThrow(/Action cannot have more than 4 container image inputs, got: 5/); - }); test('throws an exception if both appspec artifact input and file are specified', () => { @@ -45,7 +44,6 @@ describe('CodeDeploy ECS Deploy Action', () => { appSpecTemplateFile: artifactPath, }); }).toThrow(/Exactly one of 'appSpecTemplateInput' or 'appSpecTemplateFile' can be provided in the ECS CodeDeploy Action/); - }); test('throws an exception if neither appspec artifact input nor file are specified', () => { @@ -60,7 +58,6 @@ describe('CodeDeploy ECS Deploy Action', () => { taskDefinitionTemplateInput: artifact, }); }).toThrow(/Specifying one of 'appSpecTemplateInput' or 'appSpecTemplateFile' is required for the ECS CodeDeploy Action/); - }); test('throws an exception if both task definition artifact input and file are specified', () => { @@ -78,7 +75,6 @@ describe('CodeDeploy ECS Deploy Action', () => { appSpecTemplateInput: artifact, }); }).toThrow(/Exactly one of 'taskDefinitionTemplateInput' or 'taskDefinitionTemplateFile' can be provided in the ECS CodeDeploy Action/); - }); test('throws an exception if neither task definition artifact input nor file are specified', () => { @@ -93,7 +89,6 @@ describe('CodeDeploy ECS Deploy Action', () => { appSpecTemplateInput: artifact, }); }).toThrow(/Specifying one of 'taskDefinitionTemplateInput' or 'taskDefinitionTemplateFile' is required for the ECS CodeDeploy Action/); - }); test('defaults task definition and appspec template paths', () => { @@ -133,7 +128,6 @@ describe('CodeDeploy ECS Deploy Action', () => { }, ], }); - }); test('defaults task definition placeholder string', () => { @@ -187,7 +181,6 @@ describe('CodeDeploy ECS Deploy Action', () => { }, ], }); - }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codestar-connections/codestar-connections-source-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codestar-connections/codestar-connections-source-action.test.ts index a985871e289a4..31f3bf3e0b04b 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/codestar-connections/codestar-connections-source-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/codestar-connections/codestar-connections-source-action.test.ts @@ -44,7 +44,6 @@ describe('CodeStar Connections source Action', () => { }, ], }); - }); }); @@ -77,7 +76,6 @@ describe('CodeStar Connections source Action', () => { ], }, }); - }); test('grant s3 putObjectACL to the following CodeBuild Project', () => { @@ -106,7 +104,6 @@ describe('CodeStar Connections source Action', () => { ]), }, }); - }); test('setting triggerOnPush=false reflects in the configuration', () => { @@ -146,7 +143,6 @@ describe('CodeStar Connections source Action', () => { }, ], }); - }); test('exposes variables', () => { diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/ecs/ecs-deploy-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/ecs/ecs-deploy-action.test.ts index 2a6684e3a5c67..672bb3342484c 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/ecs/ecs-deploy-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/ecs/ecs-deploy-action.test.ts @@ -17,7 +17,6 @@ describe('ecs deploy action', () => { service, }); }).toThrow(/one of 'input' or 'imageFile' is required/); - }); test('can be created just by specifying the inputArtifact', () => { @@ -31,7 +30,6 @@ describe('ecs deploy action', () => { input: artifact, }); }).not.toThrow(); - }); test('can be created just by specifying the imageFile', () => { @@ -45,7 +43,6 @@ describe('ecs deploy action', () => { imageFile: artifact.atPath('imageFile.json'), }); }).not.toThrow(); - }); test('throws an exception if both inputArtifact and imageFile were provided', () => { @@ -60,7 +57,6 @@ describe('ecs deploy action', () => { imageFile: artifact.atPath('file.json'), }); }).toThrow(/one of 'input' or 'imageFile' can be provided/); - }); test('can be created with deploymentTimeout between 1-60 minutes', () => { @@ -75,7 +71,6 @@ describe('ecs deploy action', () => { deploymentTimeout: cdk.Duration.minutes(30), }); }).not.toThrow(); - }); test('throws an exception if deploymentTimeout is out of bounds', () => { @@ -108,7 +103,6 @@ describe('ecs deploy action', () => { deploymentTimeout: cdk.Duration.seconds(30), }); }).toThrow(/cannot be converted into a whole number/); - }); test("sets the target service as the action's backing resource", () => { @@ -122,7 +116,6 @@ describe('ecs deploy action', () => { }); expect(action.actionProperties.resource).toEqual(service); - }); test('can be created by existing service', () => { @@ -186,7 +179,6 @@ describe('ecs deploy action', () => { }, ], }); - }); test('can be created by existing service with cluster ARN format', () => { diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/github/github-source-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/github/github-source-action.test.ts index f8e210682a7d5..fac60439699b1 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/github/github-source-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/github/github-source-action.test.ts @@ -59,7 +59,6 @@ describe('Github source action', () => { }, ], }); - }); test('always renders the customer-supplied namespace, even if none of the variables are used', () => { @@ -109,7 +108,6 @@ describe('Github source action', () => { }, ], }); - }); test('fails if a variable from an action without a namespace set that is not part of a pipeline is referenced', () => { @@ -155,7 +153,6 @@ describe('Github source action', () => { expect(() => { App.of(stack)!.synth(); }).toThrow(/Cannot reference variables of action 'Source2', as that action was never added to a pipeline/); - }); test('fails if a variable from an action with a namespace set that is not part of a pipeline is referenced', () => { @@ -202,7 +199,6 @@ describe('Github source action', () => { expect(() => { App.of(stack)!.synth(); }).toThrow(/Cannot reference variables of action 'Source2', as that action was never added to a pipeline/); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/manual-approval.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/manual-approval.test.ts index 133471cc24881..df876ab066d49 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/manual-approval.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/manual-approval.test.ts @@ -21,7 +21,6 @@ describe('manual approval', () => { stage.addAction(manualApprovalAction); expect(manualApprovalAction.notificationTopic).toEqual(topic); - }); test('allows granting manual approval permissions to role', () => { @@ -108,7 +107,6 @@ describe('manual approval', () => { }, ], }); - }); test('rejects granting manual approval permissions before binding action to stage', () => { @@ -121,7 +119,6 @@ describe('manual approval', () => { expect(() => { manualApprovalAction.grantManualApproval(role); }).toThrow('Cannot grant permissions before binding action to a stage'); - }); test('renders CustomData and ExternalEntityLink even if notificationTopic was not passed', () => { @@ -170,7 +167,6 @@ describe('manual approval', () => { }, ], }); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/pipeline.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/pipeline.test.ts index 21b561a36d5ba..786bda6fe64d1 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/pipeline.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/pipeline.test.ts @@ -82,7 +82,6 @@ describe('pipeline', () => { 'Ref': 'AWS::StackName', }, }); - }); test('pipeline with GitHub source with poll trigger', () => { @@ -140,7 +139,6 @@ describe('pipeline', () => { }, ], }); - }); test('pipeline with GitHub source without triggers', () => { @@ -198,7 +196,6 @@ describe('pipeline', () => { }, ], }); - }); test('github action uses ThirdParty owner', () => { @@ -416,7 +413,6 @@ describe('pipeline', () => { 'ComputeType': 'BUILD_GENERAL1_SMALL', }, }); - }); }); }); @@ -545,7 +541,6 @@ describe('pipeline', () => { }, ], }); - }); describe('cross-region Pipeline', () => { @@ -667,7 +662,6 @@ describe('pipeline', () => { expect(usEast1Support.stack.region).toEqual('us-east-1'); expect(usEast1Support.stack.account).toEqual(pipelineAccount); expect(usEast1Support.stack.node.id.indexOf('us-east-1')).not.toEqual(-1); - }); test('allows specifying only one of artifactBucket and crossRegionReplicationBuckets', () => { @@ -681,7 +675,6 @@ describe('pipeline', () => { }, }); }).toThrow(/Only one of artifactBucket and crossRegionReplicationBuckets can be specified!/); - }); test('does not create a new artifact Bucket if one was provided in the cross-region Buckets for the Pipeline region', () => { @@ -738,7 +731,6 @@ describe('pipeline', () => { }, ], }); - }); test('allows providing a resource-backed action from a different region directly', () => { @@ -825,7 +817,6 @@ describe('pipeline', () => { Template.fromStack(replicationStack).hasResourceProperties('AWS::S3::Bucket', { 'BucketName': 'replicationstackeplicationbucket2464cd5c33b386483b66', }); - }); }); @@ -968,7 +959,6 @@ describe('pipeline', () => { ], }, }); - }); test('adds a dependency on the Stack containing a new action Role', () => { @@ -1052,7 +1042,6 @@ describe('pipeline', () => { }); expect(pipelineStack.dependencies.length).toEqual(1); - }); test('does not add a dependency on the Stack containing an imported action Role', () => { @@ -1129,7 +1118,6 @@ describe('pipeline', () => { }); expect(pipelineStack.dependencies.length).toEqual(0); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/s3/s3-source-action.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/s3/s3-source-action.test.ts index 1624947404731..54f6c0bcc1dc6 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/s3/s3-source-action.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/s3/s3-source-action.test.ts @@ -29,7 +29,6 @@ describe('S3 source Action', () => { })); Template.fromStack(stack).resourceCountIs('AWS::Events::Rule', 0); - }); test('does not poll for source changes and uses Events for S3Trigger.EVENTS', () => { @@ -53,7 +52,6 @@ describe('S3 source Action', () => { })); Template.fromStack(stack).resourceCountIs('AWS::Events::Rule', 1); - }); test('polls for source changes and does not use Events for S3Trigger.POLL', () => { @@ -77,7 +75,6 @@ describe('S3 source Action', () => { })); Template.fromStack(stack).resourceCountIs('AWS::Events::Rule', 0); - }); test('does not poll for source changes and does not use Events for S3Trigger.NONE', () => { @@ -114,7 +111,6 @@ describe('S3 source Action', () => { output: new codepipeline.Artifact(), }); }).toThrow(/Property bucketKey cannot be an empty string/); - }); test('allows using the same bucket with events trigger mutliple times with different bucket paths', () => { @@ -133,7 +129,6 @@ describe('S3 source Action', () => { trigger: cpactions.S3Trigger.EVENTS, output: new codepipeline.Artifact(), })); - }); test('throws an error if the same bucket and path with trigger = Events are added to the same pipeline twice', () => { diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/servicecatalog/servicecatalog-deploy-action-beta1.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/servicecatalog/servicecatalog-deploy-action-beta1.test.ts index cee8f139e117f..1e7d623196f21 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/servicecatalog/servicecatalog-deploy-action-beta1.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/servicecatalog/servicecatalog-deploy-action-beta1.test.ts @@ -50,7 +50,6 @@ describe('ServiceCatalog Deploy Action', () => { }), ]), }); - }); test('deployment without a description works successfully', () => { // GIVEN @@ -93,7 +92,6 @@ describe('ServiceCatalog Deploy Action', () => { }), ]), }); - }); }); diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts index 94a14b6d08683..7ebce5963ef6f 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts @@ -57,7 +57,6 @@ describe('StepFunctions Invoke Action', () => { }, ], })); - }); test('Allows the pipeline to invoke this stepfunction', () => { @@ -81,7 +80,6 @@ describe('StepFunctions Invoke Action', () => { }); Template.fromStack(stack).resourceCountIs('AWS::IAM::Role', 4); - }); test('Allows the pipeline to describe this stepfunction execution', () => { @@ -121,7 +119,6 @@ describe('StepFunctions Invoke Action', () => { }); Template.fromStack(stack).resourceCountIs('AWS::IAM::Role', 4); - }); test('Allows the pipeline to describe this stepfunction execution (across accounts & regions)', () => { @@ -146,7 +143,6 @@ describe('StepFunctions Invoke Action', () => { }, }); }); - }); function minimalPipeline(stack: Stack, account?: string, region?: string): codepipeline.IStage { diff --git a/packages/aws-cdk-lib/aws-codepipeline/test/pipeline.test.ts b/packages/aws-cdk-lib/aws-codepipeline/test/pipeline.test.ts index 621093936ec6f..90f12940241b9 100644 --- a/packages/aws-cdk-lib/aws-codepipeline/test/pipeline.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline/test/pipeline.test.ts @@ -350,7 +350,6 @@ describe('', () => { 'arn:${AWS::Partition}:iam::123456789012:role/cdk-hnb659fds-deploy-role-123456789012-us-west-2'); expect(supportStackArtifact.cloudFormationExecutionRoleArn).toEqual( 'arn:${AWS::Partition}:iam::123456789012:role/cdk-hnb659fds-cfn-exec-role-123456789012-us-west-2'); - }); test('generates the same support stack containing the replication Bucket without the need to bootstrap in that environment for multiple pipelines', () => { @@ -370,7 +369,6 @@ describe('', () => { expect(() => { assembly.getStackByName('PipelineStackB-support-eu-south-1'); }).toThrow(/Unable to find stack with stack name/); - }); test('generates the unique support stack containing the replication Bucket without the need to bootstrap in that environment for multiple pipelines', () => { diff --git a/packages/aws-cdk-lib/aws-cognito/lib/user-pool-domain.ts b/packages/aws-cdk-lib/aws-cognito/lib/user-pool-domain.ts index d686b51887c8e..7bb4981582ecb 100644 --- a/packages/aws-cdk-lib/aws-cognito/lib/user-pool-domain.ts +++ b/packages/aws-cdk-lib/aws-cognito/lib/user-pool-domain.ts @@ -133,7 +133,6 @@ export class UserPoolDomain extends Resource implements IUserPoolDomain { if (props.cognitoDomain?.domainPrefix && !Token.isUnresolved(props.cognitoDomain?.domainPrefix) && !/^[a-z0-9-]+$/.test(props.cognitoDomain.domainPrefix)) { - throw new ValidationError('domainPrefix for cognitoDomain can contain only lowercase alphabets, numbers and hyphens', this); } diff --git a/packages/aws-cdk-lib/aws-cognito/lib/user-pool-email.ts b/packages/aws-cdk-lib/aws-cognito/lib/user-pool-email.ts index 8b95462236566..3997cf67f206a 100644 --- a/packages/aws-cdk-lib/aws-cognito/lib/user-pool-email.ts +++ b/packages/aws-cdk-lib/aws-cognito/lib/user-pool-email.ts @@ -147,7 +147,6 @@ class CognitoEmail extends UserPoolEmail { replyToEmailAddress: encodeAndTest(this.replyTo), emailSendingAccount: 'COGNITO_DEFAULT', }; - } } diff --git a/packages/aws-cdk-lib/aws-cognito/lib/user-pool.ts b/packages/aws-cdk-lib/aws-cognito/lib/user-pool.ts index fca7a2e15b560..9aebbaf360a94 100644 --- a/packages/aws-cdk-lib/aws-cognito/lib/user-pool.ts +++ b/packages/aws-cdk-lib/aws-cognito/lib/user-pool.ts @@ -1129,7 +1129,6 @@ export class UserPool extends UserPoolBase { default: (this.triggers as any)[operation.operationName] = fn.functionArn; } - } private addLambdaPermission(fn: lambda.IFunction, name: string): void { diff --git a/packages/aws-cdk-lib/aws-cognito/test/user-pool-attr.test.ts b/packages/aws-cdk-lib/aws-cognito/test/user-pool-attr.test.ts index 7e97eff16d247..1d0c740ae46b2 100644 --- a/packages/aws-cdk-lib/aws-cognito/test/user-pool-attr.test.ts +++ b/packages/aws-cdk-lib/aws-cognito/test/user-pool-attr.test.ts @@ -3,7 +3,6 @@ import { BooleanAttribute, CustomAttributeConfig, DateTimeAttribute, ICustomAttr import { StandardAttributeNames } from '../lib/private/attr-names'; describe('User Pool Attributes', () => { - describe('mutable', () => { test('default', () => { // GIVEN diff --git a/packages/aws-cdk-lib/aws-cognito/test/user-pool-client.test.ts b/packages/aws-cdk-lib/aws-cognito/test/user-pool-client.test.ts index 49f44cccac3c2..e431aeeda8fc5 100644 --- a/packages/aws-cdk-lib/aws-cognito/test/user-pool-client.test.ts +++ b/packages/aws-cdk-lib/aws-cognito/test/user-pool-client.test.ts @@ -43,7 +43,6 @@ describe('User Pool Client', () => { }); describe('Client with secret', () => { - test('generate secret', () => { // GIVEN const stack = new Stack(); @@ -1341,5 +1340,4 @@ describe('User Pool Client', () => { }), ).toThrow(`defaultRedirectUri must match the \`^(?=.{1,1024}$)[\p{L}\p{M}\p{S}\p{N}\p{P}]+$\` pattern, got ${invalidUrl}`); }); - }); diff --git a/packages/aws-cdk-lib/aws-cognito/test/user-pool-group.test.ts b/packages/aws-cdk-lib/aws-cognito/test/user-pool-group.test.ts index 52bedca6e1c52..6f48017cbefcc 100644 --- a/packages/aws-cdk-lib/aws-cognito/test/user-pool-group.test.ts +++ b/packages/aws-cdk-lib/aws-cognito/test/user-pool-group.test.ts @@ -66,5 +66,4 @@ describe('User Pool Group', () => { groupName, })).toThrow('\`groupName\` must be between 1 and 128 characters and can include letters, numbers, and symbols.'); }); - }); diff --git a/packages/aws-cdk-lib/aws-cognito/test/user-pool.test.ts b/packages/aws-cdk-lib/aws-cognito/test/user-pool.test.ts index 4df09913b3ee8..926e9f9b18e87 100644 --- a/packages/aws-cdk-lib/aws-cognito/test/user-pool.test.ts +++ b/packages/aws-cdk-lib/aws-cognito/test/user-pool.test.ts @@ -1736,7 +1736,6 @@ describe('User Pool', () => { replyTo: 'reply@example.com', }), })).toThrow(/Your stack region cannot be determined/); - }); test('email withSES with no name', () => { @@ -1778,7 +1777,6 @@ describe('User Pool', () => { }, }, }); - }); test('email withSES', () => { @@ -2016,7 +2014,6 @@ describe('User Pool', () => { }, }, }); - }); test('email withSES with verified domain', () => { @@ -2170,7 +2167,6 @@ test('grant', () => { }, ], }); - }); test('deletion protection', () => { diff --git a/packages/aws-cdk-lib/aws-dynamodb/lib/table-v2-base.ts b/packages/aws-cdk-lib/aws-dynamodb/lib/table-v2-base.ts index 89276fae405f4..78f7a855b9564 100644 --- a/packages/aws-cdk-lib/aws-dynamodb/lib/table-v2-base.ts +++ b/packages/aws-cdk-lib/aws-dynamodb/lib/table-v2-base.ts @@ -472,7 +472,6 @@ export abstract class TableBaseV2 extends Resource implements ITableV2, IResourc * @param statement The policy statement to add */ public addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResult { - this.resourcePolicy = this.resourcePolicy ?? new PolicyDocument({ statements: [] }); this.resourcePolicy.addStatements(statement); return { diff --git a/packages/aws-cdk-lib/aws-dynamodb/lib/table.ts b/packages/aws-cdk-lib/aws-dynamodb/lib/table.ts index bb0bca27cb816..9287fcd026b6b 100644 --- a/packages/aws-cdk-lib/aws-dynamodb/lib/table.ts +++ b/packages/aws-cdk-lib/aws-dynamodb/lib/table.ts @@ -946,7 +946,6 @@ export abstract class TableBase extends Resource implements ITable, iam.IResourc */ private createMetricsForOperations(metricName: string, operations: Operation[], props?: cloudwatch.MetricOptions, metricNameMapper?: (op: Operation) => string): Record { - const metrics: Record = {}; const mapper = metricNameMapper ?? (op => op.toLowerCase()); @@ -956,7 +955,6 @@ export abstract class TableBase extends Resource implements ITable, iam.IResourc } for (const operation of operations) { - const metric = this.metric(metricName, { ...props, dimensionsMap: { @@ -1085,7 +1083,6 @@ export class Table extends TableBase { * @param attrs A `TableAttributes` object. */ public static fromTableAttributes(scope: Construct, id: string, attrs: TableAttributes): ITable { - class Import extends TableBase { public readonly tableName: string; public readonly tableArn: string; diff --git a/packages/aws-cdk-lib/aws-dynamodb/test/dynamodb.test.ts b/packages/aws-cdk-lib/aws-dynamodb/test/dynamodb.test.ts index 128c9050c87cc..71cb2763033da 100644 --- a/packages/aws-cdk-lib/aws-dynamodb/test/dynamodb.test.ts +++ b/packages/aws-cdk-lib/aws-dynamodb/test/dynamodb.test.ts @@ -104,14 +104,12 @@ describe('default properties', () => { }); Template.fromStack(stack).hasResource('AWS::DynamoDB::Table', { DeletionPolicy: CfnDeletionPolicy.RETAIN }); - }); test('removalPolicy is DESTROY', () => { new Table(stack, CONSTRUCT_NAME, { partitionKey: TABLE_PARTITION_KEY, removalPolicy: RemovalPolicy.DESTROY }); Template.fromStack(stack).hasResource('AWS::DynamoDB::Table', { DeletionPolicy: CfnDeletionPolicy.DELETE }); - }); test('hash + range key', () => { @@ -1482,7 +1480,6 @@ test('error when adding more than 5 local secondary indexes', () => { expect(() => table.addLocalSecondaryIndex(lsiGenerator.next().value)) .toThrow(/a maximum number of local secondary index per table is 5/); - }); test('error when adding a local secondary index with the name of a global secondary index', () => { @@ -1722,7 +1719,6 @@ describe('metrics', () => { }); test('Using metricSystemErrorsForOperations with no operations will default to all', () => { - const stack = new Stack(); const table = new Table(stack, 'Table', { partitionKey: { name: 'id', type: AttributeType.STRING }, @@ -1744,11 +1740,9 @@ describe('metrics', () => { 'batchexecutestatement', 'executestatement', ]); - }); testDeprecated('Can use metricSystemErrors without the TableName dimension', () => { - const stack = new Stack(); const table = new Table(stack, 'Table', { partitionKey: { name: 'id', type: AttributeType.STRING }, @@ -1758,11 +1752,9 @@ describe('metrics', () => { TableName: table.tableName, Operation: 'GetItem', }); - }); testDeprecated('Using metricSystemErrors without the Operation dimension will fail', () => { - const stack = new Stack(); const table = new Table(stack, 'Table', { partitionKey: { name: 'id', type: AttributeType.STRING }, @@ -1770,11 +1762,9 @@ describe('metrics', () => { expect(() => table.metricSystemErrors({ dimensions: { TableName: table.tableName } })) .toThrow(/'Operation' dimension must be passed for the 'SystemErrors' metric./); - }); test('Can use metricSystemErrorsForOperations on a Dynamodb Table', () => { - // GIVEN const stack = new Stack(); const table = new Table(stack, 'Table', { @@ -1813,7 +1803,6 @@ describe('metrics', () => { }, }, }); - }); testDeprecated('Can use metricSystemErrors on a Dynamodb Table', () => { @@ -1841,7 +1830,6 @@ describe('metrics', () => { }); expect(() => table.metricUserErrors({ dimensions: { TableName: table.tableName } })).toThrow(/'dimensions' is not supported for the 'UserErrors' metric/); - }); test('Can use metricUserErrors on a Dynamodb Table', () => { @@ -1879,7 +1867,6 @@ describe('metrics', () => { }); test('Can use metricSuccessfulRequestLatency without the TableName dimension', () => { - const stack = new Stack(); const table = new Table(stack, 'Table', { partitionKey: { name: 'id', type: AttributeType.STRING }, @@ -1889,11 +1876,9 @@ describe('metrics', () => { TableName: table.tableName, Operation: 'GetItem', }); - }); test('Using metricSuccessfulRequestLatency without the Operation dimension will fail', () => { - const stack = new Stack(); const table = new Table(stack, 'Table', { partitionKey: { name: 'id', type: AttributeType.STRING }, @@ -1901,7 +1886,6 @@ describe('metrics', () => { expect(() => table.metricSuccessfulRequestLatency({ dimensionsMap: { TableName: table.tableName } })) .toThrow(/'Operation' dimension must be passed for the 'SuccessfulRequestLatency' metric./); - }); test('Can use metricSuccessfulRequestLatency on a Dynamodb Table', () => { @@ -1928,7 +1912,6 @@ describe('metrics', () => { }); describe('grants', () => { - test('"grant" allows adding arbitrary actions associated with this table resource', () => { // GIVEN const stack = new Stack(); @@ -3707,7 +3690,6 @@ test('Warm Throughput test on-demand', () => { }, ], }); - }); test('Warm Throughput test provisioned', () => { @@ -3782,7 +3764,6 @@ test('Warm Throughput test provisioned', () => { }, ], }); - }); test('Kinesis Stream - precision timestamp', () => { diff --git a/packages/aws-cdk-lib/aws-dynamodb/test/table-v2.test.ts b/packages/aws-cdk-lib/aws-dynamodb/test/table-v2.test.ts index 99ca946b957cc..0c68f85ef0f2d 100644 --- a/packages/aws-cdk-lib/aws-dynamodb/test/table-v2.test.ts +++ b/packages/aws-cdk-lib/aws-dynamodb/test/table-v2.test.ts @@ -1183,7 +1183,6 @@ describe('table', () => { }); Template.fromStack(stack).hasResource('AWS::DynamoDB::GlobalTable', { DeletionPolicy: CfnDeletionPolicy.RETAIN }); }); - }); describe('replica tables', () => { @@ -3173,5 +3172,4 @@ test('Warm Throughput test on-demand', () => { }, ], }); - }); diff --git a/packages/aws-cdk-lib/aws-ec2/lib/ip-addresses.ts b/packages/aws-cdk-lib/aws-ec2/lib/ip-addresses.ts index 97d95636ca7e0..681db5bb564db 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/ip-addresses.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/ip-addresses.ts @@ -283,9 +283,7 @@ class AwsIpam implements IIpAddresses { * Allocates Subnets CIDRs. Called by VPC when creating subnets. */ allocateSubnetsCidr(input: AllocateCidrRequest): SubnetIpamOptions { - const cidrSplit = calculateCidrSplits(this.props.ipv4NetmaskLength, input.requestedSubnets.map((mask => { - if ((mask.configuration.cidrMask === undefined) && (this.props.defaultSubnetIpv4NetmaskLength=== undefined) ) { throw new Error('If you have not set a cidr for all subnets in this case you must set a defaultCidrMask in AwsIpam Options'); } @@ -308,7 +306,6 @@ class AwsIpam implements IIpAddresses { return { allocatedSubnets: allocatedSubnets, }; - } } @@ -390,7 +387,6 @@ class Cidr implements IIpAddresses { * Allocates Subnets Cidrs. Called by VPC when creating subnets. */ allocateSubnetsCidr(input: AllocateCidrRequest): SubnetIpamOptions { - const allocatedSubnets: AllocatedSubnet[] = []; const subnetsWithoutDefinedCidr: IRequestedSubnetInstance[] = []; // default: Available IP space is evenly divided across subnets if no cidr is given. diff --git a/packages/aws-cdk-lib/aws-ec2/lib/private/ebs-util.ts b/packages/aws-cdk-lib/aws-ec2/lib/private/ebs-util.ts index 2f6d4c59a432c..c9568fb278d46 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/private/ebs-util.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/private/ebs-util.ts @@ -24,7 +24,6 @@ function synthesizeBlockDeviceMappings(construct: Construct, blockDevic let finalEbs: CfnLaunchTemplate.EbsProperty | CfnInstance.EbsProperty | undefined; if (ebs) { - const { iops, throughput, volumeType, kmsKey, ...rest } = ebs; if (throughput) { @@ -69,7 +68,6 @@ function synthesizeBlockDeviceMappings(construct: Construct, blockDevic volumeType, kmsKeyId: kmsKey?.keyArn, }; - } else { finalEbs = undefined; } diff --git a/packages/aws-cdk-lib/aws-ec2/lib/security-group.ts b/packages/aws-cdk-lib/aws-ec2/lib/security-group.ts index eb78e87afa52c..f7c2736180335 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/security-group.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/security-group.ts @@ -179,7 +179,6 @@ abstract class SecurityGroupBase extends Resource implements ISecurityGroup { connection: Port, fromTo: 'from' | 'to', remoteRule?: boolean): RuleScope { - if (remoteRule && SecurityGroupBase.isSecurityGroup(peer) && differentStacks(this, peer)) { // Reversed const reversedFromTo = fromTo === 'from' ? 'to' : 'from'; diff --git a/packages/aws-cdk-lib/aws-ec2/lib/util.ts b/packages/aws-cdk-lib/aws-ec2/lib/util.ts index f3d0d8f92a1dc..00398625a872a 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/util.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/util.ts @@ -60,7 +60,6 @@ export class ImportSubnetGroup { nameField: string, routeTableIdField: string, ipv4CidrBlockField: string) { - this.subnetIds = subnetIds || []; this.routeTableIds = routeTableIds || []; this.ipv4CidrBlocks = ipv4CidrBlocks || []; diff --git a/packages/aws-cdk-lib/aws-ec2/lib/volume.ts b/packages/aws-cdk-lib/aws-ec2/lib/volume.ts index d284e8ef81dbb..a9f072e03a600 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/volume.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/volume.ts @@ -738,7 +738,6 @@ export class Volume extends VolumeBase { if (iopsRatio > maximumThroughputRatio) { throw new Error(`Throughput (MiBps) to iops ratio of ${iopsRatio} is too high; maximum is ${maximumThroughputRatio} MiBps per iops`); } - } } diff --git a/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts b/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts index 2322dd9015979..d2eb2d68f1f52 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts @@ -955,7 +955,6 @@ export class InterfaceVpcEndpoint extends VpcEndpoint implements IInterfaceVpcEn * Sanity checking when looking up AZs for an endpoint service, to make sure it won't fail */ private validateCanLookupSupportedAzs(subnets: ISubnet[], serviceName: string) { - // Having any of these be true will cause the AZ lookup to fail at synthesis time const agnosticAcct = Token.isUnresolved(this.env.account); const agnosticRegion = Token.isUnresolved(this.env.region); diff --git a/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts b/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts index 29df4da89a029..1a5f7b3ecc9c6 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts @@ -593,7 +593,6 @@ abstract class VpcBase extends Resource implements IVpc { if (selection.subnetGroupName !== undefined) { // Select by name subnets = this.selectSubnetObjectsByName(selection.subnetGroupName); - } else { // Or specify by type const type = selection.subnetType || SubnetType.PRIVATE_WITH_EGRESS; subnets = this.selectSubnetObjectsByType(type); @@ -656,7 +655,6 @@ abstract class VpcBase extends Resource implements IVpc { * PUBLIC (in that order) that has any subnets. */ private reifySelectionDefaults(placement: SubnetSelection): SubnetSelection { - if (placement.subnetName !== undefined) { if (placement.subnetGroupName !== undefined) { throw new Error('Please use only \'subnetGroupName\' (\'subnetName\' is deprecated and has the same behavior)'); @@ -1741,7 +1739,6 @@ export class Vpc extends VpcBase { * array or creates the `DEFAULT_SUBNETS` configuration */ private createSubnets() { - const requestedSubnets: RequestedSubnet[] = []; this.subnetConfiguration.forEach((configuration)=> ( @@ -1830,7 +1827,6 @@ export class Vpc extends VpcBase { private createSubnetResources(requestedSubnets: RequestedSubnet[], allocatedSubnets: AllocatedSubnet[]) { allocatedSubnets.forEach((allocated, i) => { - const { configuration: subnetConfig, subnetConstructId, availabilityZone } = requestedSubnets[i]; if (subnetConfig.reserved === true) { diff --git a/packages/aws-cdk-lib/aws-ec2/lib/vpn.ts b/packages/aws-cdk-lib/aws-ec2/lib/vpn.ts index 57ff5be433961..6af4d186a2af3 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/vpn.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/vpn.ts @@ -225,7 +225,6 @@ export class VpnConnection extends VpnConnectionBase { * Import a VPN connection by supplying all attributes directly */ public static fromVpnConnectionAttributes(scope: Construct, id: string, attrs: VpnConnectionAttributes): IVpnConnection { - class Import extends VpnConnectionBase { public readonly vpnId: string = attrs.vpnId; public readonly customerGatewayId: string = attrs.customerGatewayId; @@ -234,7 +233,6 @@ export class VpnConnection extends VpnConnectionBase { } return new Import(scope, id); - } /** diff --git a/packages/aws-cdk-lib/aws-ec2/test/bastion-host.test.ts b/packages/aws-cdk-lib/aws-ec2/test/bastion-host.test.ts index cd97b4594174e..560839ca8d25d 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/bastion-host.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/bastion-host.test.ts @@ -19,7 +19,6 @@ describe('bastion host', () => { InstanceType: 't3.nano', SubnetId: { Ref: 'VPCPrivateSubnet1Subnet8BCA10E0' }, }); - }); test('default instance is created in isolated vpc', () => { // GIVEN @@ -43,7 +42,6 @@ describe('bastion host', () => { InstanceType: 't3.nano', SubnetId: { Ref: 'VPCIsolatedSubnet1SubnetEBD00FC6' }, }); - }); test('ebs volume is encrypted', () => { // GIVEN @@ -80,7 +78,6 @@ describe('bastion host', () => { }, ], }); - }); test('x86-64 instances use x86-64 image by default', () => { // GIVEN @@ -98,7 +95,6 @@ describe('bastion host', () => { Ref: 'SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amikernel510hvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter', }, }); - }); test('arm instances use arm image by default', () => { // GIVEN @@ -117,7 +113,6 @@ describe('bastion host', () => { Ref: 'SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amikernel510hvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter', }, }); - }); test('add CloudFormation Init to instance', () => { diff --git a/packages/aws-cdk-lib/aws-ec2/test/cfn-init-element.test.ts b/packages/aws-cdk-lib/aws-ec2/test/cfn-init-element.test.ts index a2472652c6fac..8ca52530b23c6 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/cfn-init-element.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/cfn-init-element.test.ts @@ -19,7 +19,6 @@ beforeEach(() => { }); describe('InitCommand', () => { - test('throws error on empty argv command', () => { expect(() => { ec2.InitCommand.argvCommand([]); }).toThrow(); }); @@ -131,11 +130,9 @@ describe('InitCommand', () => { command._bind(defaultOptions(InitPlatform.LINUX)); }).toThrow(/'waitAfterCompletion' is only valid for Windows/); }); - }); describe('InitFile', () => { - test('fromString creates inline content', () => { // GIVEN const file = ec2.InitFile.fromString('/tmp/foo', 'My content'); @@ -361,7 +358,6 @@ describe('InitFile', () => { // THEN expect(() => { - new ec2.Instance(myStack, 'SecondInstance', { vpc, instanceType: @@ -383,14 +379,11 @@ describe('InitFile', () => { }, }), }); - }).not.toThrow(); }); - }); describe('InitGroup', () => { - test('renders without a group id', () => { // GIVEN const group = ec2.InitGroup.fromName('amazon'); @@ -422,11 +415,9 @@ describe('InitGroup', () => { group._bind(defaultOptions(InitPlatform.WINDOWS)); }).toThrow('Init groups are not supported on Windows'); }); - }); describe('InitUser', () => { - test('fromName accepts just a name to create a user', () => { // GIVEN const group = ec2.InitUser.fromName('sysuser1'); @@ -468,11 +459,9 @@ describe('InitUser', () => { group._bind(defaultOptions(InitPlatform.WINDOWS)); }).toThrow('Init users are not supported on Windows'); }); - }); describe('InitPackage', () => { - test('rpm auto-generates a name if none is provided', () => { // GIVEN const pkg = ec2.InitPackage.rpm('https://example.com/rpm/mypkg.rpm'); @@ -605,11 +594,9 @@ describe('InitPackage', () => { pkg._bind(defaultOptions(InitPlatform.LINUX)); }).toThrow('MSI installers are only supported on Windows systems.'); }); - }); describe('InitService', () => { - test.each([ ['Linux', 'sysvinit', InitPlatform.LINUX], ['Windows', 'windows', InitPlatform.WINDOWS], @@ -759,7 +746,6 @@ describe('InitService', () => { }); describe('InitSource', () => { - test('fromUrl renders correctly', () => { // GIVEN const source = ec2.InitSource.fromUrl('/tmp/foo', 'https://example.com/archive.zip'); @@ -812,7 +798,6 @@ describe('InitSource', () => { '/tmp/foo': expect.stringContaining('/mybucket/myKey'), }); }); - }); function getElementConfig(element: ec2.InitElement, platform: InitPlatform) { diff --git a/packages/aws-cdk-lib/aws-ec2/test/cfn-init.test.ts b/packages/aws-cdk-lib/aws-ec2/test/cfn-init.test.ts index a944bbd1f7371..93e22b3e8436d 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/cfn-init.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/cfn-init.test.ts @@ -388,7 +388,6 @@ const ASSET_STATEMENT = { }; describe('assets n buckets', () => { - test.each([ ['Existing'], [''], diff --git a/packages/aws-cdk-lib/aws-ec2/test/connections.test.ts b/packages/aws-cdk-lib/aws-ec2/test/connections.test.ts index ef8bdba0e3dda..5716269544e7a 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/connections.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/connections.test.ts @@ -25,7 +25,6 @@ describe('connections', () => { conn1.connections.allowTo(conn2, Port.tcp(80), 'Test'); // THEN -- it finishes! - }); test('(imported) SecurityGroup can be used as target of .allowTo()', () => { @@ -59,7 +58,6 @@ describe('connections', () => { SourceSecurityGroupId: { 'Fn::GetAtt': ['SomeSecurityGroupEF219AD6', 'GroupId'] }, ToPort: 65535, }); - }); test('security groups added to connections after rule still gets rule', () => { @@ -100,7 +98,6 @@ describe('connections', () => { }, ], }); - }); test('when security groups are added to target they also get the rule', () => { @@ -132,7 +129,6 @@ describe('connections', () => { FromPort: 88, ToPort: 88, }); - }); test('multiple security groups allows internally between them', () => { @@ -161,7 +157,6 @@ describe('connections', () => { FromPort: 88, ToPort: 88, }); - }); test('can establish cross stack Security Group connections - allowFrom', () => { @@ -191,7 +186,6 @@ describe('connections', () => { GroupId: { 'Fn::ImportValue': 'Stack1:ExportsOutputFnGetAttSecurityGroupDD263621GroupIdDF6F8B09' }, DestinationSecurityGroupId: { 'Fn::GetAtt': ['SecurityGroupDD263621', 'GroupId'] }, }); - }); test('can establish cross stack Security Group connections - allowTo', () => { @@ -221,7 +215,6 @@ describe('connections', () => { GroupId: { 'Fn::GetAtt': ['SecurityGroupDD263621', 'GroupId'] }, DestinationSecurityGroupId: { 'Fn::ImportValue': 'Stack1:ExportsOutputFnGetAttSecurityGroupDD263621GroupIdDF6F8B09' }, }); - }); test('can establish multiple cross-stack SGs', () => { @@ -253,7 +246,6 @@ describe('connections', () => { GroupId: { 'Fn::ImportValue': 'Stack1:ExportsOutputFnGetAttSecurityGroupB04591F90GroupIdFA7208D5' }, DestinationSecurityGroupId: { 'Fn::GetAtt': ['SecurityGroupDD263621', 'GroupId'] }, }); - }); test('Imported SecurityGroup does not create egress rule', () => { // GIVEN @@ -279,7 +271,6 @@ describe('connections', () => { // THEN: rule to imported security group to allow connections from generated Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 0); - }); test('Imported SecurityGroup with allowAllOutbound: false DOES create egress rule', () => { // GIVEN @@ -314,7 +305,6 @@ describe('connections', () => { DestinationSecurityGroupId: { 'Fn::GetAtt': ['SomeSecurityGroupEF219AD6', 'GroupId'] }, ToPort: 65535, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ec2/test/instance.test.ts b/packages/aws-cdk-lib/aws-ec2/test/instance.test.ts index f78adfc0aa86d..18c1438ad6ef7 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/instance.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/instance.test.ts @@ -53,7 +53,6 @@ describe('instance', () => { InstanceType: 't3.large', SourceDestCheck: false, }); - }); test('instance is grantable', () => { // GIVEN @@ -107,7 +106,6 @@ describe('instance', () => { Version: '2012-10-17', }, }); - }); test('instance architecture is correctly discerned for arm instances', () => { // GIVEN @@ -123,7 +121,6 @@ describe('instance', () => { // THEN expect(instanceType.architecture).toBe(InstanceArchitecture.ARM_64); } - }); test('instance architecture is correctly discerned for x86-64 instance', () => { // GIVEN @@ -136,7 +133,6 @@ describe('instance', () => { // THEN expect(instanceType.architecture).toBe(InstanceArchitecture.X86_64); } - }); test('sameInstanceClassAs compares InstanceTypes contains dashes', () => { @@ -197,7 +193,6 @@ describe('instance', () => { // THEN expect(() => instanceType.architecture).toThrow('Malformed instance type identifier'); } - }); test('can propagate EBS volume tags', () => { // WHEN @@ -350,7 +345,6 @@ describe('instance', () => { }, ], }); - }); test('throws if ephemeral volumeIndex < 0', () => { @@ -366,7 +360,6 @@ describe('instance', () => { }], }); }).toThrow(/volumeIndex must be a number starting from 0/); - }); test('throws if volumeType === IO1 without iops', () => { @@ -500,7 +493,6 @@ describe('instance', () => { InstanceType: 't3.large', PrivateIpAddress: '10.0.0.2', }); - }); test('instance can be created with Private IP Address AND Associate Public IP Address', () => { @@ -551,7 +543,6 @@ describe('instance', () => { 'VPCPublicSubnet2RouteTableAssociation5A808732', ], }); - }); test('instance requires IMDSv2', () => { diff --git a/packages/aws-cdk-lib/aws-ec2/test/ip-addresses.test.ts b/packages/aws-cdk-lib/aws-ec2/test/ip-addresses.test.ts index 52f4bd75b8e17..176a58d1256a6 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/ip-addresses.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/ip-addresses.test.ts @@ -5,7 +5,6 @@ import { IpAddresses, SubnetType, Vpc, cidrSplitToCfnExpression } from '../lib'; import { CidrSplit } from '../lib/cidr-splits'; describe('Cidr vpc allocation', () => { - test('Default Cidr returns the correct vpc cidr', () => { const ipAddresses = IpAddresses.cidr('10.0.0.0/16'); expect(ipAddresses.allocateVpcCidr().cidrBlock).toEqual('10.0.0.0/16'); @@ -20,11 +19,9 @@ describe('Cidr vpc allocation', () => { const ipAddresses = IpAddresses.cidr('10.0.0.0/16'); expect(ipAddresses.allocateVpcCidr().ipv4NetmaskLength).toBeUndefined; }); - }); describe('IpAddresses.cidr subnets allocation', () => { - const cidrProps = '10.0.0.0/16'; test('Default Cidr returns the correct subnet allocations, when you do not give a cidr for the subnets', () => { @@ -95,11 +92,9 @@ describe('IpAddresses.cidr subnets allocation', () => { vpcCidr: '10.0.0.0/16', }).allocatedSubnets).toEqual([{ cidr: '10.0.128.0/17' }, { cidr: '10.0.0.0/24' }]); }); - }); describe('AwsIpam vpc allocation', () => { - const awsIpamProps = { ipv4IpamPoolId: 'ipam-pool-0111222333444', ipv4NetmaskLength: 22, @@ -119,11 +114,9 @@ describe('AwsIpam vpc allocation', () => { const ipAddresses = IpAddresses.awsIpamAllocation(awsIpamProps); expect(ipAddresses.allocateVpcCidr().ipv4NetmaskLength).toEqual(22); }); - }); describe('AwsIpam subnets allocation', () => { - const awsIpamProps = { ipv4IpamPoolId: 'ipam-pool-0111222333444', ipv4NetmaskLength: 22, @@ -209,12 +202,10 @@ describe('AwsIpam subnets allocation', () => { expect (allocations.allocatedSubnets[0].cidr).toContain('TOKEN'); expect (allocations.allocatedSubnets[1].cidr).toContain('TOKEN'); }); - }); describe('IpAddresses.cidr Vpc Integration', () => { test('IpAddresses.cidr provides the correct Cidr allocation to the Vpc ', () => { - const stack = new Stack(); const cidrProps = '10.0.0.0/16'; @@ -228,7 +219,6 @@ describe('IpAddresses.cidr Vpc Integration', () => { }); test('IpAddresses.cidr provides the correct Subnet allocation to the Vpc', () => { - const stack = new Stack(); const cidrProps = '10.0.0.0/16'; @@ -254,9 +244,7 @@ describe('IpAddresses.cidr Vpc Integration', () => { }); describe('AwsIpam Vpc Integration', () => { - test('Should throw if there are subnets without explicit Cidr and no defaultCidr given', () => { - const stack = new Stack(); const awsIpamProps = { @@ -267,11 +255,9 @@ describe('AwsIpam Vpc Integration', () => { const ipAddresses = IpAddresses.awsIpamAllocation(awsIpamProps); expect(() => {new Vpc(stack, 'VpcNetwork', { ipAddresses: ipAddresses });}).toThrow(/If you have not set a cidr for all subnets in this case you must set a defaultCidrMask in AwsIpam Options/); - }); test('AwsIpam provides the correct Cidr allocation to the Vpc ', () => { - const stack = new Stack(); const awsIpamProps = { @@ -291,7 +277,6 @@ describe('AwsIpam Vpc Integration', () => { }); test('AwsIpam provides the correct Subnet allocation to the Vpc', () => { - const stack = new Stack(); const awsIpamProps = { @@ -345,7 +330,6 @@ describe('AwsIpam Vpc Integration', () => { }); test('Should throw if ipv4NetmaskLength not big enough to allocate subnets', () => { - const stack = new Stack(); const awsIpamProps = { @@ -357,11 +341,9 @@ describe('AwsIpam Vpc Integration', () => { const ipAddresses = IpAddresses.awsIpamAllocation(awsIpamProps); expect(() => {new Vpc(stack, 'VpcNetwork', { ipAddresses: ipAddresses });}).toThrow('IP space of size /18 not big enough to allocate subnets of sizes /17,/17,/17,/17'); - }); test('Should be able to allocate subnets from a SubnetConfiguration in Vpc Constructor', () => { - const stack = new Stack(); const awsIpamProps = { @@ -405,7 +387,6 @@ describe('AwsIpam Vpc Integration', () => { }); template.resourceCountIs('AWS::EC2::Subnet', 2); - }); }); diff --git a/packages/aws-cdk-lib/aws-ec2/test/network-utils.test.ts b/packages/aws-cdk-lib/aws-ec2/test/network-utils.test.ts index f6ed377869fed..262dc8c6311c7 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/network-utils.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/network-utils.test.ts @@ -9,17 +9,14 @@ describe('network utils', () => { describe('IP', () => { test('should convert a valid IP Address to an integer', () => { expect(NetworkUtils.ipToNum('174.66.173.168')).toEqual(2923605416); - }); test('should throw on invalid IP Address', () => { expect(() => { NetworkUtils.ipToNum('174.266.173.168'); }).toThrow('is not valid'); - }); test('should convert a valid IP integer to a staring', () => { expect(NetworkUtils.numToIp(2923605416)).toEqual('174.66.173.168'); - }); test('should throw an error for invalid IP', () => { expect(() => { @@ -28,21 +25,18 @@ describe('network utils', () => { expect(() => { NetworkUtils.numToIp(-1); }).toThrow(/is not a valid/); - }); test('validIp returns true if octect is in 0-255', () => { const invalidIps = ['255.255.0.0', '0.0.0.0', '1.2.3.4', '10.0.0.0', '255.01.01.255']; for (const ip of invalidIps) { expect(true).toEqual(NetworkUtils.validIp(ip)); } - }); test('validIp returns false if octect is not in 0-255', () => { const invalidIps = ['1.2.3.4.689', '-1.55.22.22', '', ' ', '255.264.1.01']; for (const ip of invalidIps) { expect(false).toEqual(NetworkUtils.validIp(ip)); } - }); }); describe('CidrBlock', () => { @@ -50,7 +44,6 @@ describe('network utils', () => { const num = NetworkUtils.ipToNum('10.0.1.255'); const newBlock = new CidrBlock(num, 24); expect(newBlock.cidr).toEqual('10.0.2.0/24'); - }); test('nextBlock() returns the next higher CIDR space', () => { const testValues = [ @@ -61,7 +54,6 @@ describe('network utils', () => { const block = new CidrBlock(value[0]); expect(block.nextBlock().cidr).toEqual(value[1]); } - }); test('maxIp() should return the last usable IP from the CidrBlock', () => { const testValues = [ @@ -73,7 +65,6 @@ describe('network utils', () => { const block = new CidrBlock(value[0]); expect(block.maxIp()).toEqual(value[1]); } - }); test('minIp() should return the first usable IP from the CidrBlock', () => { const testValues = [ @@ -84,26 +75,21 @@ describe('network utils', () => { const block = new CidrBlock(answer[0]); expect(block.minIp()).toEqual(answer[1]); } - }); test('containsCidr returns true if fully contained', () => { const block = new CidrBlock('10.0.3.0/24'); const contained = new CidrBlock('10.0.3.0/26'); expect(block.containsCidr(contained)).toEqual(true); - }); test('containsCidr returns false if not fully contained', () => { const block = new CidrBlock('10.0.3.0/26'); const notContained = new CidrBlock('10.0.3.0/25'); expect(block.containsCidr(notContained)).toEqual(false); - }); test('calculateNetmask returns the ip string mask', () => { const netmask = CidrBlock.calculateNetmask(27); expect(netmask).toEqual('255.255.255.224'); - }); - }); describe('NetworkBuilder', () => { test('allows you to carve subnets our of CIDR network', () => { @@ -143,7 +129,6 @@ describe('network utils', () => { for (let i = 0; i < answers.length; i++) { expect(answers[i].sort()).toEqual(expected[i]); } - }); test('throws on subnets < 16 or > 28', () => { const builder = new NetworkBuilder('192.168.0.0/18'); @@ -153,7 +138,6 @@ describe('network utils', () => { expect(() => { builder.addSubnet(29); }).toThrow(InvalidCidrRangeError); - }); test('throws if you add a subnet outside of the cidr', () => { const builder = new NetworkBuilder('192.168.0.0/18'); @@ -167,7 +151,6 @@ describe('network utils', () => { expect(() => { builder2.addSubnet(28); }).toThrow(/exceeds remaining space/); - }); test('maskForRemainingSubnets calcs mask for even split of remaining', () => { const builder = new NetworkBuilder('10.0.0.0/24'); diff --git a/packages/aws-cdk-lib/aws-ec2/test/security-group.test.ts b/packages/aws-cdk-lib/aws-ec2/test/security-group.test.ts index 75e7301cd7234..8965db23c5f6f 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/security-group.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/security-group.test.ts @@ -77,7 +77,6 @@ describe('security group', () => { }, ], }); - }); test('no new outbound rule is added if we are allowing all traffic anyway', () => { @@ -99,7 +98,6 @@ describe('security group', () => { }, ], }); - }); test('security group disallow outbound traffic by default', () => { @@ -122,7 +120,6 @@ describe('security group', () => { }, ], }); - }); test('bogus outbound rule disappears if another rule is added', () => { @@ -264,7 +261,6 @@ describe('security group', () => { } // THEN -- no crash - }); test('can add multiple rules using tokens on same security group', () => { @@ -317,7 +313,6 @@ describe('security group', () => { for (const range of ports) { expect(range.canInlineRule).toEqual(false); } - }); describe('Peer IP CIDR validation', () => { @@ -329,7 +324,6 @@ describe('security group', () => { for (const cidrIp of cidrIps) { expect(Peer.ipv4(cidrIp).uniqueId).toEqual(cidrIp); } - }); test('passes with unresolved IP CIDR token', () => { @@ -337,7 +331,6 @@ describe('security group', () => { Token.asString(new Intrinsic('ip')); // THEN: don't throw - }); test('throws if invalid IPv4 CIDR block', () => { @@ -345,14 +338,12 @@ describe('security group', () => { expect(() => { Peer.ipv4('invalid'); }).toThrow(/Invalid IPv4 CIDR/); - }); test('throws if missing mask in IPv4 CIDR block', () => { expect(() => { Peer.ipv4('0.0.0.0'); }).toThrow(/CIDR mask is missing in IPv4/); - }); test('passes with valid IPv6 CIDR block', () => { @@ -368,7 +359,6 @@ describe('security group', () => { for (const cidrIp of cidrIps) { expect(Peer.ipv6(cidrIp).uniqueId).toEqual(cidrIp); } - }); test('throws if invalid IPv6 CIDR block', () => { @@ -376,14 +366,12 @@ describe('security group', () => { expect(() => { Peer.ipv6('invalid'); }).toThrow(/Invalid IPv6 CIDR/); - }); test('throws if missing mask in IPv6 CIDR block', () => { expect(() => { Peer.ipv6('::'); }).toThrow(/IDR mask is missing in IPv6/); - }); }); @@ -428,7 +416,6 @@ describe('security group', () => { expect(() => { Peer.securityGroupId('invalid'); }).toThrow(/Invalid security group ID/); - }); test('throws if invalid source security group id', () => { @@ -526,7 +513,6 @@ describe('security group lookup', () => { expect(securityGroup.securityGroupId).toEqual('sg-12345678'); expect(securityGroup.allowAllOutbound).toEqual(true); - }); test('can look up a security group by id', () => { @@ -545,7 +531,6 @@ describe('security group lookup', () => { // THEN expect(securityGroup.securityGroupId).toEqual('sg-12345678'); expect(securityGroup.allowAllOutbound).toEqual(true); - }); test('can look up a security group by name and vpc', () => { @@ -569,7 +554,6 @@ describe('security group lookup', () => { // THEN expect(securityGroup.securityGroupId).toEqual('sg-12345678'); expect(securityGroup.allowAllOutbound).toEqual(true); - }); test('can look up a security group by id and vpc', () => { @@ -593,7 +577,6 @@ describe('security group lookup', () => { // THEN expect(securityGroup.securityGroupId).toEqual('sg-12345678'); expect(securityGroup.allowAllOutbound).toEqual(true); - }); test('can look up a security group and use it as a peer', () => { @@ -634,7 +617,6 @@ describe('security group lookup', () => { expect(() => { SecurityGroup.fromLookupById(stack, 'stack', Lazy.string({ produce: () => 'sg-12345' })); }).toThrow('All arguments to look up a security group must be concrete (no Tokens)'); - }); test('throws if securityGroupName is tokenized', () => { @@ -651,7 +633,6 @@ describe('security group lookup', () => { expect(() => { SecurityGroup.fromLookupById(stack, 'stack', Lazy.string({ produce: () => 'my-security-group' })); }).toThrow('All arguments to look up a security group must be concrete (no Tokens)'); - }); test('throws if vpc id is tokenized', () => { @@ -673,13 +654,10 @@ describe('security group lookup', () => { expect(() => { SecurityGroup.fromLookupByName(stack, 'stack', 'my-security-group', vpc); }).toThrow('All arguments to look up a security group must be concrete (no Tokens)'); - }); - }); function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | null, optionsDisableInlineRules: boolean | undefined) { - describe('When allowAllOutbound', () => { test('new SecurityGroup will create an inline SecurityGroupEgress rule to allow all traffic', () => { // GIVEN @@ -704,7 +682,6 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 0); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addEgressRule rule will not modify egress rules', () => { @@ -732,7 +709,6 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 0); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addIngressRule will add a new ingress rule', () => { @@ -766,7 +742,6 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu }, ], }); - }); }); @@ -796,7 +771,6 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addEgressRule rule will add a new inline egress rule and remove the denyAllTraffic rule', () => { // GIVEN @@ -825,7 +799,6 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 0); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addIngressRule will add a new ingress rule', () => { @@ -864,14 +837,11 @@ function testRulesAreInlined(contextDisableInlineRules: boolean | undefined | nu Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 0); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); }); - } function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | null, optionsDisableInlineRules: boolean | undefined) { - describe('When allowAllOutbound', () => { test('new SecurityGroup will create an external SecurityGroupEgress rule', () => { // GIVEN @@ -894,7 +864,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | IpProtocol: '-1', }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addIngressRule rule will not remove external allowAllOutbound rule', () => { @@ -921,7 +890,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addIngressRule rule will not add a new egress rule', () => { @@ -980,7 +948,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | Description: 'Allow all outbound traffic by default', IpProtocol: '-1', }); - }); }); @@ -1008,7 +975,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | FromPort: 252, ToPort: 86, }); - }); test('addEgressRule rule will remove the rule that denies all traffic if another egress rule is added', () => { @@ -1060,7 +1026,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupIngress', 0); - }); test('addIngressRule will add a new external ingress rule even if it could have been inlined', () => { @@ -1096,8 +1061,6 @@ function testRulesAreNotInlined(contextDisableInlineRules: boolean | undefined | FromPort: 252, ToPort: 86, }); - }); }); - } diff --git a/packages/aws-cdk-lib/aws-ec2/test/userdata.test.ts b/packages/aws-cdk-lib/aws-ec2/test/userdata.test.ts index 5ec5432e81edd..de49537602e7a 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/userdata.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/userdata.test.ts @@ -14,7 +14,6 @@ describe('user data', () => { // THEN const rendered = userData.render(); expect(rendered).toEqual('command1\ncommand2'); - }); test('can create Windows user data with commands on exit', () => { // GIVEN @@ -35,7 +34,6 @@ describe('user data', () => { 'command1\n' + 'command2\n' + 'throw "Success"'); - }); test('can create Windows with Signal Command', () => { // GIVEN @@ -60,7 +58,6 @@ describe('user data', () => { 'command1\n' + 'throw "Success"', ); - }); test('can create Windows with Signal Command and userDataCausesReplacement', () => { // GIVEN @@ -125,7 +122,6 @@ describe('user data', () => { 'mkdir (Split-Path -Path \'c:\\test\\location\\otherScript.bat\' ) -ea 0\n' + 'Read-S3Object -BucketName \'test2\' -key \'filename2.bat\' -file \'c:\\test\\location\\otherScript.bat\' -ErrorAction Stop', ); - }); test('can windows userdata download S3 files with given region', () => { // GIVEN @@ -154,7 +150,6 @@ describe('user data', () => { 'mkdir (Split-Path -Path \'c:\\test\\location\\otherScript.bat\' ) -ea 0\n' + 'Read-S3Object -BucketName \'test2\' -key \'filename2.bat\' -file \'c:\\test\\location\\otherScript.bat\' -ErrorAction Stop -Region us-east-1', ); - }); test('can windows userdata execute files', () => { // GIVEN @@ -176,7 +171,6 @@ describe('user data', () => { '&\'C:\\test\\filename2.bat\' arg1 arg2 -arg $variable\n' + 'if (!$?) { Write-Error \'Failed to execute the file "C:\\test\\filename2.bat"\' -ErrorAction Stop }', ); - }); test('can persist windows userdata', () => { // WHEN @@ -196,7 +190,6 @@ describe('user data', () => { // THEN const rendered = userData.render(); expect(rendered).toEqual('#!/bin/bash\ncommand1\ncommand2'); - }); test('can create Linux user data with commands on exit', () => { // GIVEN @@ -217,7 +210,6 @@ describe('user data', () => { 'trap exitTrap EXIT\n' + 'command1\n' + 'command2'); - }); test('can create Linux with Signal Command', () => { // GIVEN @@ -240,7 +232,6 @@ describe('user data', () => { '}\n' + 'trap exitTrap EXIT\n' + 'command1'); - }); test('can create Linux with Signal Command and userDataCausesReplacement', () => { // GIVEN @@ -305,7 +296,6 @@ describe('user data', () => { 'mkdir -p $(dirname \'c:\\test\\location\\otherScript.sh\')\n' + 'aws s3 cp \'s3://test2/filename2.sh\' \'c:\\test\\location\\otherScript.sh\'', ); - }); test('can linux userdata download S3 files from specific region', () => { // GIVEN @@ -335,7 +325,6 @@ describe('user data', () => { 'mkdir -p $(dirname \'c:\\test\\location\\otherScript.sh\')\n' + 'aws s3 cp \'s3://test2/filename2.sh\' \'c:\\test\\location\\otherScript.sh\' --region us-east-1', ); - }); test('can linux userdata execute files', () => { // GIVEN @@ -360,7 +349,6 @@ describe('user data', () => { 'chmod +x \'/test/filename2.sh\'\n' + '\'/test/filename2.sh\' arg1 arg2 -arg $variable', ); - }); test('can create Custom user data', () => { // GIVEN @@ -371,7 +359,6 @@ describe('user data', () => { // THEN const rendered = userData.render(); expect(rendered).toEqual('Some\nmultiline\ncontent'); - }); test('Custom user data throws when adding on exit commands', () => { // GIVEN @@ -380,7 +367,6 @@ describe('user data', () => { // THEN expect(() => userData.addOnExitCommands( 'a command goes here' )).toThrow(); - }); test('Custom user data throws when adding signal command', () => { // GIVEN @@ -392,7 +378,6 @@ describe('user data', () => { // THEN expect(() => userData.addSignalOnExitCommand( resource )).toThrow(); - }); test('Custom user data throws when downloading file', () => { // GIVEN @@ -405,7 +390,6 @@ describe('user data', () => { bucket, bucketKey: 'filename.sh', })).toThrow(); - }); test('Custom user data throws when executing file', () => { // GIVEN @@ -416,7 +400,6 @@ describe('user data', () => { userData.addExecuteFileCommand({ filePath: '/tmp/filename.sh', })).toThrow(); - }); test('Linux user rendering multipart headers', () => { @@ -442,7 +425,6 @@ describe('user data', () => { '', { 'Fn::Base64': '#!/bin/bash\necho \"Hello world\"' }, ]); - }); test('Default parts separator used, if not specified', () => { @@ -467,7 +449,6 @@ describe('user data', () => { '--+AWS+CDK+User+Data+Separator==--', '', ].join('\n')); - }); test('Non-default parts separator used, if not specified', () => { @@ -494,7 +475,6 @@ describe('user data', () => { '--//--', '', ].join('\n')); - }); test('Multipart separator validation', () => { @@ -509,7 +489,6 @@ describe('user data', () => { partsSeparator: s, }); }).toThrow(/Invalid characters in separator/)); - }); test('Multipart user data throws when adding on exit commands', () => { @@ -519,7 +498,6 @@ describe('user data', () => { // THEN expect(() => userData.addOnExitCommands( 'a command goes here' )).toThrow(); - }); test('Multipart user data throws when adding signal command', () => { // GIVEN @@ -531,7 +509,6 @@ describe('user data', () => { // THEN expect(() => userData.addSignalOnExitCommand( resource )).toThrow(); - }); test('Multipart user data throws when downloading file', () => { // GIVEN @@ -544,7 +521,6 @@ describe('user data', () => { bucket, bucketKey: 'filename.sh', } )).toThrow(); - }); test('Multipart user data throws when executing file', () => { // GIVEN @@ -556,7 +532,6 @@ describe('user data', () => { userData.addExecuteFileCommand({ filePath: '/tmp/filename.sh', } )).toThrow(); - }); test('can add commands to Multipart user data', () => { @@ -595,7 +570,6 @@ describe('user data', () => { ], ], }); - }); test('can add commands on exit to Multipart user data', () => { // GIVEN @@ -642,7 +616,6 @@ describe('user data', () => { ], ], }); - }); test('can add Signal Command to Multipart user data', () => { // GIVEN @@ -688,7 +661,6 @@ describe('user data', () => { ], ], }); - }); test('can add download S3 files to Multipart user data', () => { // GIVEN @@ -740,7 +712,6 @@ describe('user data', () => { ], ], }); - }); test('can add execute files to Multipart user data', () => { // GIVEN @@ -790,6 +761,5 @@ describe('user data', () => { ], ], }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ec2/test/volume.test.ts b/packages/aws-cdk-lib/aws-ec2/test/volume.test.ts index 612555a544c3c..e1c2dd303a2ea 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/volume.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/volume.test.ts @@ -1516,5 +1516,4 @@ describe('volume', () => { }); }).toThrow('Throughput (MiBps) to iops ratio of 0.25033333333333335 is too high; maximum is 0.25 MiBps per iops'); }); - }); diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint-service.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint-service.test.ts index 5ffc11c5025e2..3385aad4631bd 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint-service.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint-service.test.ts @@ -46,7 +46,6 @@ describe('vpc endpoint service', () => { AllowedPrincipals: [], }); expect(Object.keys(servicePermissions).length).toBe(0); - }); test('create endpoint service with a principal', () => { // GIVEN @@ -72,7 +71,6 @@ describe('vpc endpoint service', () => { }, AllowedPrincipals: ['arn:aws:iam::123456789012:root'], }); - }); test('create endpoint service with a service principal (workaround)', () => { @@ -99,7 +97,6 @@ describe('vpc endpoint service', () => { }, AllowedPrincipals: ['ec2.amazonaws.com'], }); - }); test('with acceptance required', () => { @@ -126,7 +123,6 @@ describe('vpc endpoint service', () => { }, AllowedPrincipals: ['arn:aws:iam::123456789012:root'], }); - }); test('with contributor insights enabled', () => { @@ -148,7 +144,6 @@ describe('vpc endpoint service', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpointService', { ContributorInsightsEnabled: true, }); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts index 40650ad5b2c44..727e7a7b585ff 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts @@ -45,7 +45,6 @@ describe('vpc endpoint', () => { ], VpcEndpointType: 'Gateway', }); - }); test('routing on private and public subnets', () => { @@ -102,7 +101,6 @@ describe('vpc endpoint', () => { ], VpcEndpointType: 'Gateway', }); - }); test('add statements to policy', () => { @@ -137,7 +135,6 @@ describe('vpc endpoint', () => { Version: '2012-10-17', }, }); - }); test('throws when adding a statement without a principal', () => { @@ -153,7 +150,6 @@ describe('vpc endpoint', () => { actions: ['s3:GetObject', 's3:ListBucket'], resources: ['*'], }))).toThrow(/`Principal`/); - }); test('import/export', () => { @@ -165,7 +161,6 @@ describe('vpc endpoint', () => { // THEN expect(ep.vpcEndpointId).toEqual('endpoint-id'); - }); test('works with an imported vpc', () => { @@ -187,7 +182,6 @@ describe('vpc endpoint', () => { RouteTableIds: ['rt1', 'rt2', 'rt3'], VpcEndpointType: 'Gateway', }); - }); test('throws with an imported vpc without route tables ids', () => { @@ -200,7 +194,6 @@ describe('vpc endpoint', () => { }); expect(() => vpc.addGatewayEndpoint('Gateway', { service: GatewayVpcEndpointAwsService.S3 })).toThrow(/route table/); - }); }); @@ -258,7 +251,6 @@ describe('vpc endpoint', () => { Ref: 'VpcNetworkB258E83A', }, }); - }); describe('interface endpoint retains service name in shortName property', () => { @@ -303,7 +295,6 @@ describe('vpc endpoint', () => { GroupId: 'security-group-id', }); expect(importedEndpoint.vpcEndpointId).toEqual('vpc-endpoint-id'); - }); test('import/export without security group', () => { @@ -320,7 +311,6 @@ describe('vpc endpoint', () => { // THEN expect(importedEndpoint.vpcEndpointId).toEqual('vpc-endpoint-id'); expect(importedEndpoint.connections.securityGroups.length).toEqual(0); - }); test('with existing security groups', () => { @@ -338,7 +328,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { SecurityGroupIds: ['existing-id'], }); - }); test('with existing security groups for efs', () => { // GIVEN @@ -355,7 +344,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { SecurityGroupIds: ['existing-id'], }); - }); test('security group has ingress by default', () => { // GIVEN @@ -378,7 +366,6 @@ describe('vpc endpoint', () => { }), ], }); - }); test('non-AWS service interface endpoint', () => { // GIVEN @@ -395,7 +382,6 @@ describe('vpc endpoint', () => { ServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', PrivateDnsEnabled: false, }); - }); test('marketplace partner service interface endpoint', () => { // GIVEN @@ -416,7 +402,6 @@ describe('vpc endpoint', () => { ServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-mktplacesvcwprdns', PrivateDnsEnabled: true, }); - }); test('test endpoint service context azs discovered', () => { // GIVEN @@ -461,7 +446,6 @@ describe('vpc endpoint', () => { }, ], }); - }); test('endpoint service setup with stack AZ context but no endpoint context', () => { // GIVEN @@ -500,7 +484,6 @@ describe('vpc endpoint', () => { }, ], }); - }); test('test endpoint service context with aws service', () => { // GIVEN @@ -542,7 +525,6 @@ describe('vpc endpoint', () => { }, ], }); - }); test('lookupSupportedAzs fails if account is unresolved', () => { // GIVEN @@ -556,7 +538,6 @@ describe('vpc endpoint', () => { }, lookupSupportedAzs: true, })).toThrow(); - }); test('lookupSupportedAzs fails if region is unresolved', () => { // GIVEN @@ -570,7 +551,6 @@ describe('vpc endpoint', () => { }, lookupSupportedAzs: true, })).toThrow(); - }); test('lookupSupportedAzs fails if subnet AZs are tokens', () => { // GIVEN @@ -596,7 +576,6 @@ describe('vpc endpoint', () => { }, lookupSupportedAzs: true, })).toThrow(); - }); test('vpc endpoint fails if no subnets provided', () => { // GIVEN @@ -612,7 +591,6 @@ describe('vpc endpoint', () => { subnets: [], }), })).toThrow(); - }); test('test vpc interface endpoint with cn.com.amazonaws prefix can be created correctly in cn-north-1', () => { // GIVEN @@ -628,7 +606,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'cn.com.amazonaws.cn-north-1.ecr.api', }); - }); test('test vpc interface endpoint with cn.com.amazonaws prefix can be created correctly in cn-northwest-1', () => { // GIVEN @@ -644,7 +621,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'cn.com.amazonaws.cn-northwest-1.lambda', }); - }); test('test vpc interface endpoint without cn.com.amazonaws prefix can be created correctly in cn-north-1', () => { // GIVEN @@ -660,7 +636,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.cn-north-1.ecs', }); - }); test('test vpc interface endpoint without cn.com.amazonaws prefix can be created correctly in cn-northwest-1', () => { // GIVEN @@ -676,7 +651,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.cn-northwest-1.glue', }); - }); test('test vpc interface endpoint for transcribe can be created correctly in non-china regions', () => { // GIVEN @@ -692,7 +666,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.us-east-1.transcribe', }); - }); test.each([ ['transcribe', InterfaceVpcEndpointAwsService.TRANSCRIBE], @@ -841,7 +814,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.us-west-2.codeartifact.api', }); - }); test('test s3 vpc interface endpoint in us-west-2', () => { @@ -859,7 +831,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.us-west-2.s3', }); - }); test('test batch vpc interface endpoint in us-west-2', () => { @@ -877,7 +848,6 @@ describe('vpc endpoint', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::VPCEndpoint', { ServiceName: 'com.amazonaws.us-west-2.batch', }); - }); test('test autoscaling vpc interface endpoint in us-west-2', () => { diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc-flow-logs.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc-flow-logs.test.ts index 287baa496ea95..2d4dbac1eff4d 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc-flow-logs.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc-flow-logs.test.ts @@ -28,7 +28,6 @@ describe('vpc flow logs', () => { Template.fromStack(stack).resourceCountIs('AWS::Logs::LogGroup', 1); Template.fromStack(stack).resourceCountIs('AWS::IAM::Role', 1); Template.fromStack(stack).resourceCountIs('AWS::S3::Bucket', 0); - }); test('with cloudwatch logs as the destination, allows use of existing resources', () => { const stack = getTestStack(); @@ -53,7 +52,6 @@ describe('vpc flow logs', () => { RoleName: 'TestName', }); Template.fromStack(stack).resourceCountIs('AWS::S3::Bucket', 0); - }); test('with s3 as the destination, allows use of existing resources', () => { const stack = getTestStack(); @@ -75,7 +73,6 @@ describe('vpc flow logs', () => { Template.fromStack(stack).hasResourceProperties('AWS::S3::Bucket', { BucketName: 'testbucket', }); - }); test('with kinesis data firehose as the destination, allows use of existing resources', () => { const stack = getTestStack(); @@ -120,7 +117,6 @@ describe('vpc flow logs', () => { }, ], }); - }); test('allows setting destination options', () => { @@ -440,7 +436,6 @@ describe('vpc flow logs', () => { Template.fromStack(stack).hasResourceProperties('AWS::S3::Bucket', { BucketName: 'testbucket', }); - }); test('with s3 as the destination and all the defaults set, it successfully creates all the resources', () => { const stack = getTestStack(); @@ -461,7 +456,6 @@ describe('vpc flow logs', () => { Template.fromStack(stack).resourceCountIs('AWS::Logs::LogGroup', 0); Template.fromStack(stack).resourceCountIs('AWS::IAM::Role', 0); Template.fromStack(stack).resourceCountIs('AWS::S3::Bucket', 1); - }); test('create with vpc', () => { const stack = getTestStack(); @@ -486,7 +480,6 @@ describe('vpc flow logs', () => { Ref: 'VPCflowLogsLogGroupE900F980', }, }); - }); test('add to vpc', () => { const stack = getTestStack(); @@ -758,7 +751,6 @@ test('with custom log format set empty, it not creates with cloudwatch log desti Ref: 'FlowLogsLogGroup9853A85F', }, }); - }); function getTestStack(): Stack { diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc.from-lookup.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc.from-lookup.test.ts index 5baa495cb0c5d..61017268f452c 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc.from-lookup.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc.from-lookup.test.ts @@ -14,9 +14,7 @@ describe('vpc from lookup', () => { Vpc.fromLookup(stack, 'Vpc', { vpcId: Lazy.string({ produce: () => 'some-id' }), }); - }).toThrow('All arguments to Vpc.fromLookup() must be concrete'); - }); test('selecting subnets by name from a looked-up VPC does not throw', () => { @@ -30,7 +28,6 @@ describe('vpc from lookup', () => { vpc.selectSubnets({ subnetName: 'Bleep' }); // THEN: no exception - }); test('accepts asymmetric subnets', () => { @@ -99,7 +96,6 @@ describe('vpc from lookup', () => { expect(vpc.isolatedSubnets.length).toEqual(0); restoreContextProvider(previous); - }); test('selectSubnets onePerAz works on imported VPC', () => { @@ -169,7 +165,6 @@ describe('vpc from lookup', () => { expect(subnets.subnets.map(s => s.availabilityZone)).toEqual(['us-east-1c', 'us-east-1d']); restoreContextProvider(previous); - }); test('AZ in dummy lookup VPC matches AZ in Stack', () => { @@ -184,7 +179,6 @@ describe('vpc from lookup', () => { // THEN expect(subnets.subnets.length).toEqual(2); - }); test('don\'t crash when using subnetgroup name in lookup VPC', () => { @@ -203,7 +197,6 @@ describe('vpc from lookup', () => { }); // THEN -- no exception occurred - }); test('subnets in imported VPC has all expected attributes', () => { const previous = mockVpcContextProviderWith({ @@ -243,7 +236,6 @@ describe('vpc from lookup', () => { expect(subnet.ipv4CidrBlock).toEqual('10.100.0.0/24'); restoreContextProvider(previous); - }); test('passes account and region', () => { const previous = mockVpcContextProviderWith({ diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc.test.ts index 3682929aa4c4c..f5ae1743eae53 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc.test.ts @@ -43,9 +43,7 @@ import { describe('vpc', () => { describe('When creating a VPC', () => { - testDeprecated('SubnetType.PRIVATE_WITH_NAT is equivalent to SubnetType.PRIVATE_WITH_EGRESS', () => { - const stack1 = getTestStack(); const stack2 = getTestStack(); new Vpc(stack1, 'TheVPC', { @@ -78,11 +76,9 @@ describe('vpc', () => { const t2 = Template.fromStack(stack2); expect(t1.toJSON()).toEqual(t2.toJSON()); - }); testDeprecated('SubnetType.PRIVATE is equivalent to SubnetType.PRIVATE_WITH_NAT', () => { - const stack1 = getTestStack(); const stack2 = getTestStack(); new Vpc(stack1, 'TheVPC', { @@ -115,11 +111,9 @@ describe('vpc', () => { const t2 = Template.fromStack(stack2); expect(t1.toJSON()).toEqual(t2.toJSON()); - }); testDeprecated('SubnetType.ISOLATED is equivalent to SubnetType.PRIVATE_ISOLATED', () => { - const stack1 = getTestStack(); const stack2 = getTestStack(); new Vpc(stack1, 'TheVPC', { @@ -143,11 +137,9 @@ describe('vpc', () => { const t2 = Template.fromStack(stack2); expect(t1.toJSON()).toEqual(t2.toJSON()); - }); describe('with the default CIDR range', () => { - test('vpc.vpcId returns a token to the VPC ID', () => { const stack = getTestStack(); const vpc = new Vpc(stack, 'TheVPC'); @@ -169,7 +161,6 @@ describe('vpc', () => { EnableDnsSupport: true, InstanceTenancy: DefaultInstanceTenancy.DEFAULT, }); - }); test('the Name tag is defaulted to path', () => { const stack = getTestStack(); @@ -181,7 +172,6 @@ describe('vpc', () => { hasTags([{ Key: 'Name', Value: 'TestStack/TheVPC' }]), ); }); - }); test('with all of the properties set, it successfully sets the correct VPC properties', () => { @@ -199,11 +189,9 @@ describe('vpc', () => { EnableDnsSupport: false, InstanceTenancy: DefaultInstanceTenancy.DEDICATED, }); - }); describe('dns getters correspond to CFN properties', () => { - const inputs = [ { dnsSupport: false, dnsHostnames: false }, // {dnsSupport: false, dnsHostnames: true} - this configuration is illegal so its not part of the permutations. @@ -212,9 +200,7 @@ describe('vpc', () => { ]; for (const input of inputs) { - test(`[dnsSupport=${input.dnsSupport},dnsHostnames=${input.dnsHostnames}]`, () => { - const stack = getTestStack(); const vpc = new Vpc(stack, 'TheVPC', { ipAddresses: IpAddresses.cidr('192.168.0.0/16'), @@ -232,10 +218,8 @@ describe('vpc', () => { expect(input.dnsSupport).toEqual(vpc.dnsSupportEnabled); expect(input.dnsHostnames).toEqual(vpc.dnsHostnamesEnabled); - }); } - }); test('contains the correct number of subnets', () => { @@ -245,14 +229,12 @@ describe('vpc', () => { expect(vpc.publicSubnets.length).toEqual(zones); expect(vpc.privateSubnets.length).toEqual(zones); expect(stack.resolve(vpc.vpcId)).toEqual({ Ref: 'TheVPC92636AB0' }); - }); test('can refer to the internet gateway', () => { const stack = getTestStack(); const vpc = new Vpc(stack, 'TheVPC'); expect(stack.resolve(vpc.internetGatewayId)).toEqual({ Ref: 'TheVPCIGWFA25CC08' }); - }); test('with only isolated subnets, the VPC should not contain an IGW or NAT Gateways', () => { @@ -270,7 +252,6 @@ describe('vpc', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::Subnet', { MapPublicIpOnLaunch: false, }); - }); test('with no private subnets, the VPC should have an IGW but no NAT Gateways', () => { @@ -289,7 +270,6 @@ describe('vpc', () => { }); Template.fromStack(stack).resourceCountIs('AWS::EC2::InternetGateway', 1); Template.fromStack(stack).resourceCountIs('AWS::EC2::NatGateway', 0); - }); test('with createInternetGateway: false, the VPC should not have an IGW nor NAT Gateways', () => { @@ -350,7 +330,6 @@ describe('vpc', () => { Template.fromStack(stack).resourceCountIs('AWS::EC2::NetworkAcl', 1); Template.fromStack(stack).resourceCountIs('AWS::EC2::NetworkAclEntry', 2); Template.fromStack(stack).resourceCountIs('AWS::EC2::SubnetNetworkAclAssociation', 3); - }); test('with no subnets defined, the VPC should have an IGW, and a NAT Gateway per AZ', () => { @@ -359,7 +338,6 @@ describe('vpc', () => { new Vpc(stack, 'TheVPC', {}); Template.fromStack(stack).resourceCountIs('AWS::EC2::InternetGateway', 1); Template.fromStack(stack).resourceCountIs('AWS::EC2::NatGateway', zones); - }); test('with isolated and public subnet, should be able to use the internet gateway to define routes', () => { @@ -386,7 +364,6 @@ describe('vpc', () => { DestinationCidrBlock: '8.8.8.8/32', GatewayId: {}, }); - }); test('with only reserved subnets as public subnets, should not create the internet gateway', () => { @@ -483,7 +460,6 @@ describe('vpc', () => { maxAzs: 3, }); Template.fromStack(stack).resourceCountIs('AWS::EC2::Subnet', 6); - }); test('with reserved subnets, any other subnets should not have cidrBlock from within reserved space', () => { const stack = getTestStack(); @@ -528,7 +504,6 @@ describe('vpc', () => { CidrBlock: `10.0.${i}.0/24`, }); } - }); test('with custom subnets, the VPC should have the right number of subnets, an IGW, and a NAT Gateway per AZ', () => { const stack = getTestStack(); @@ -567,7 +542,6 @@ describe('vpc', () => { CidrBlock: `10.0.6.${i * 16}/28`, }); } - }); test('with custom subnets and natGateways = 2 there should be only two NATGW', () => { const stack = getTestStack(); @@ -606,7 +580,6 @@ describe('vpc', () => { CidrBlock: `10.0.6.${i * 16}/28`, }); } - }); test('with enableDnsHostnames enabled but enableDnsSupport disabled, should throw an Error', () => { const stack = getTestStack(); @@ -614,7 +587,6 @@ describe('vpc', () => { enableDnsHostnames: true, enableDnsSupport: false, })).toThrow(); - }); test('with public subnets MapPublicIpOnLaunch is true', () => { const stack = getTestStack(); @@ -633,7 +605,6 @@ describe('vpc', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::Subnet', { MapPublicIpOnLaunch: true, }); - }); test('with public subnets MapPublicIpOnLaunch is true if parameter mapPublicIpOnLaunch is true', () => { @@ -791,7 +762,6 @@ describe('vpc', () => { DestinationCidrBlock: '0.0.0.0/0', NatGatewayId: {}, }); - }); test('throws error when both availabilityZones and maxAzs are set', () => { @@ -862,7 +832,6 @@ describe('vpc', () => { DestinationCidrBlock: '0.0.0.0/0', NatGatewayId: {}, }); - }); test('with natGateway subnets defined', () => { const stack = getTestStack(); @@ -898,7 +867,6 @@ describe('vpc', () => { Value: `TestStack/VPC/egressSubnet${i}`, }])); } - }); testDeprecated('natGateways = 0 throws if PRIVATE_WITH_NAT subnets configured', () => { @@ -918,7 +886,6 @@ describe('vpc', () => { ], }); }).toThrow(/make sure you don't configure any PRIVATE/); - }); test('natGateways = 0 succeeds if PRIVATE_WITH_EGRESS subnets configured', () => { @@ -940,7 +907,6 @@ describe('vpc', () => { Template.fromStack(stack).resourceCountIs('AWS::EC2::InternetGateway', 1); Template.fromStack(stack).resourceCountIs('AWS::EC2::NatGateway', 0); - }); test('natGateway = 0 defaults with ISOLATED subnet', () => { @@ -952,7 +918,6 @@ describe('vpc', () => { Key: 'aws-cdk:subnet-type', Value: 'Isolated', }])); - }); test('unspecified natGateways constructs with PRIVATE subnet', () => { @@ -962,7 +927,6 @@ describe('vpc', () => { Key: 'aws-cdk:subnet-type', Value: 'Private', }])); - }); test('natGateways = 0 allows RESERVED PRIVATE subnets', () => { @@ -986,7 +950,6 @@ describe('vpc', () => { Key: 'aws-cdk:subnet-name', Value: 'ingress', }])); - }); test('EIP passed with NAT gateway does not create duplicate EIP', () => { @@ -1033,7 +996,6 @@ describe('vpc', () => { subnetGroupName: 'notthere', }, })).toThrow(); - }); test('with a vpn gateway', () => { const stack = getTestStack(); @@ -1072,7 +1034,6 @@ describe('vpc', () => { Ref: 'VPCVpnGatewayB5ABAE68', }, }); - }); test('with a vpn gateway and route propagation on isolated subnets', () => { const stack = getTestStack(); @@ -1105,7 +1066,6 @@ describe('vpc', () => { Ref: 'VPCVpnGatewayB5ABAE68', }, }); - }); test('with a vpn gateway and route propagation on private and isolated subnets', () => { const stack = getTestStack(); @@ -1151,7 +1111,6 @@ describe('vpc', () => { Ref: 'VPCVpnGatewayB5ABAE68', }, }); - }); test('route propagation defaults to isolated subnets when there are no private subnets', () => { const stack = getTestStack(); @@ -1179,7 +1138,6 @@ describe('vpc', () => { Ref: 'VPCVpnGatewayB5ABAE68', }, }); - }); test('route propagation defaults to public subnets when there are no private/isolated subnets', () => { const stack = getTestStack(); @@ -1206,7 +1164,6 @@ describe('vpc', () => { Ref: 'VPCVpnGatewayB5ABAE68', }, }); - }); test('fails when specifying vpnConnections with vpnGateway set to false', () => { // GIVEN @@ -1221,7 +1178,6 @@ describe('vpc', () => { }, }, })).toThrow(/`vpnConnections`.+`vpnGateway`.+false/); - }); test('fails when specifying vpnGatewayAsn with vpnGateway set to false', () => { // GIVEN @@ -1231,7 +1187,6 @@ describe('vpc', () => { vpnGateway: false, vpnGatewayAsn: 65000, })).toThrow(/`vpnGatewayAsn`.+`vpnGateway`.+false/); - }); test('Subnets have a defaultChild', () => { @@ -1322,7 +1277,6 @@ describe('vpc', () => { DestinationIpv6CidrBlock: '2001:4860:4860::8888/32', NetworkInterfaceId: 'router-1', }); - }); test('Can add an IPv4 route', () => { // GIVEN @@ -1342,7 +1296,6 @@ describe('vpc', () => { DestinationCidrBlock: '0.0.0.0/0', NetworkInterfaceId: 'router-1', }); - }); test('can restrict access to the default security group', () => { // GIVEN @@ -1502,7 +1455,6 @@ describe('vpc', () => { expect(isolated1?.ipv4CidrBlock).toEqual('10.20.0.0/18'); expect(isolated2?.ipv4CidrBlock).toEqual('10.20.64.0/18'); expect(isolated3?.ipv4CidrBlock).toEqual('10.20.128.0/18'); - }); test('throws on incorrect number of subnet names', () => { @@ -1587,7 +1539,6 @@ describe('vpc', () => { }, ], }); - }); test('Can configure NAT instances V2 instead of NAT gateways', () => { @@ -1631,7 +1582,6 @@ describe('vpc', () => { }, ], }); - }); test('Can customize NAT instances V2 properties', () => { @@ -1687,7 +1637,6 @@ describe('vpc', () => { }, ], }); - }); test('throws if both defaultAllowedTraffic and allowAllTraffic are set', () => { @@ -1868,7 +1817,6 @@ describe('vpc', () => { }, ], }); - }); test('can configure Security Groups of NAT instances with defaultAllowAll INBOUND_AND_OUTBOUND', () => { @@ -1904,7 +1852,6 @@ describe('vpc', () => { }, ], }); - }); test('can configure Security Groups of NAT instances with defaultAllowAll OUTBOUND_ONLY', () => { @@ -1933,7 +1880,6 @@ describe('vpc', () => { }, ], }); - }); test('can configure Security Groups of NAT instances with defaultAllowAll NONE', () => { @@ -1964,7 +1910,6 @@ describe('vpc', () => { }, ], }); - }); test('burstable instance with explicit credit specification', () => { @@ -1991,7 +1936,6 @@ describe('vpc', () => { }, }); }); - }); describe('Network ACL association', () => { @@ -2090,7 +2034,6 @@ describe('vpc', () => { const matchingResources = Template.fromStack(stack).findResources(`AWS::EC2::${resource}`, hasTags(noProp)); expect(Object.keys(matchingResources).length).toBe(0); } - }); test('Subnet Name will propagate to route tables and NATGW', () => { const stack = getTestStack(); @@ -2104,7 +2047,6 @@ describe('vpc', () => { const tag = { Key: 'Name', Value: subnet.node.path }; Template.fromStack(stack).hasResource('AWS::EC2::RouteTable', hasTags([tag])); } - }); test('Tags can be added after the Vpc is created with `vpc.tags.setTag(...)`', () => { const stack = getTestStack(); @@ -2113,7 +2055,6 @@ describe('vpc', () => { const tag = { Key: 'Late', Value: 'Adder' }; Tags.of(vpc).add(tag.Key, tag.Value); Template.fromStack(stack).hasResource('AWS::EC2::VPC', hasTags([tag])); - }); }); @@ -2128,7 +2069,6 @@ describe('vpc', () => { // THEN expect(subnetIds).toEqual(vpc.privateSubnets.map(s => s.subnetId)); - }); test('can select public subnets', () => { @@ -2141,7 +2081,6 @@ describe('vpc', () => { // THEN expect(subnetIds).toEqual(vpc.publicSubnets.map(s => s.subnetId)); - }); test('can select isolated subnets', () => { @@ -2159,7 +2098,6 @@ describe('vpc', () => { // THEN expect(subnetIds).toEqual(vpc.isolatedSubnets.map(s => s.subnetId)); - }); test('can select subnets by name', () => { @@ -2178,7 +2116,6 @@ describe('vpc', () => { // THEN expect(subnetIds).toEqual(vpc.privateSubnets.map(s => s.subnetId)); - }); test('subnetName is an alias for subnetGroupName (backwards compat)', () => { @@ -2197,7 +2134,6 @@ describe('vpc', () => { // THEN expect(subnetIds).toEqual(vpc.privateSubnets.map(s => s.subnetId)); - }); test('selecting default subnets in a VPC with only isolated subnets returns the isolateds', () => { @@ -2215,7 +2151,6 @@ describe('vpc', () => { // THEN expect(subnets.subnetIds).toEqual(['iso-1', 'iso-2', 'iso-3']); - }); test('selecting default subnets in a VPC with only public subnets returns the publics', () => { @@ -2233,7 +2168,6 @@ describe('vpc', () => { // THEN expect(subnets.subnetIds).toEqual(['pub-1', 'pub-2', 'pub-3']); - }); test('selecting subnets by name fails if the name is unknown', () => { @@ -2244,7 +2178,6 @@ describe('vpc', () => { expect(() => { vpc.selectSubnets({ subnetGroupName: 'Toot' }); }).toThrow(/There are no subnet groups with name 'Toot' in this VPC. Available names: Public,Private/); - }); test('select subnets with az restriction', () => { @@ -2265,7 +2198,6 @@ describe('vpc', () => { // THEN expect(subnetIds.length).toEqual(1); expect(subnetIds[0]).toEqual(vpc.privateSubnets[0].subnetId); - }); test('fromVpcAttributes using unknown-length list tokens', () => { @@ -2329,7 +2261,6 @@ describe('vpc', () => { { 'Fn::Select': [1, publicSubnetList] }, ], }); - }); test('select explicitly defined subnets', () => { @@ -2353,7 +2284,6 @@ describe('vpc', () => { // THEN expect(subnetIds.length).toEqual(1); expect(subnetIds[0]).toEqual(subnet.subnetId); - }); test('subnet created from subnetId', () => { @@ -2365,7 +2295,6 @@ describe('vpc', () => { // THEN expect(subnet.subnetId).toEqual('pub-1'); - }); test('Referencing AZ throws error when subnet created from subnetId', () => { @@ -2378,7 +2307,6 @@ describe('vpc', () => { // THEN // eslint-disable-next-line max-len expect(() => subnet.availabilityZone).toThrow("You cannot reference a Subnet's availability zone if it was not supplied. Add the availabilityZone when importing using Subnet.fromSubnetAttributes()"); - }); test('Referencing AZ throws error when subnet created from attributes without az', () => { @@ -2392,7 +2320,6 @@ describe('vpc', () => { expect(subnet.subnetId).toEqual('pub-1'); // eslint-disable-next-line max-len expect(() => subnet.availabilityZone).toThrow("You cannot reference a Subnet's availability zone if it was not supplied. Add the availabilityZone when importing using Subnet.fromSubnetAttributes()"); - }); test('AZ have value when subnet created from attributes with az', () => { @@ -2405,7 +2332,6 @@ describe('vpc', () => { // THEN expect(subnet.subnetId).toEqual('pub-1'); expect(subnet.availabilityZone).toEqual('az-1234'); - }); test('Can select subnets by type and AZ', () => { @@ -2438,7 +2364,6 @@ describe('vpc', () => { }, ], }); - }); test('SubnetSelection filtered on az uses default subnetType when no subnet type specified', () => { @@ -2469,7 +2394,6 @@ describe('vpc', () => { }, ], }); - }); test('SubnetSelection doesnt throw error when selecting imported subnets', () => { // GIVEN @@ -2484,7 +2408,6 @@ describe('vpc', () => { Subnet.fromSubnetId(stack, 'Subnet', 'sub-1'), ], })).not.toThrow(); - }); test('can filter by single IP address', () => { @@ -2515,7 +2438,6 @@ describe('vpc', () => { Ref: 'VPCPrivateSubnet3Subnet3EDCD457', }, }); - }); test('can filter by multiple IP addresses', () => { @@ -2551,7 +2473,6 @@ describe('vpc', () => { }, ], }); - }); test('can filter by Subnet Ids', () => { @@ -2579,7 +2500,6 @@ describe('vpc', () => { ServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', SubnetIds: ['priv-1', 'priv-2'], }); - }); test('can filter by Subnet Ids via selectSubnets', () => { @@ -2600,7 +2520,6 @@ describe('vpc', () => { // THEN expect(subnets.subnetIds.length).toEqual(1); - }); test('can filter by Cidr Netmask', () => { @@ -2624,7 +2543,6 @@ describe('vpc', () => { expect(subnetIds.length).toEqual(2); const expected = vpc.publicSubnets.filter(s => s.ipv4CidrBlock.endsWith('/20')); expect(subnetIds).toEqual(expected.map(s => s.subnetId)); - }); test('can filter by CIDR Range', () => { @@ -2662,7 +2580,6 @@ describe('vpc', () => { }, ], }); - }); test('can filter by CIDR Range if CIDR is associated with VPC', () => { diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpn.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpn.test.ts index 6dae4a1df42aa..1b332c3668c1d 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpn.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpn.test.ts @@ -35,7 +35,6 @@ describe('vpn', () => { }, StaticRoutesOnly: false, }); - }); test('with static routing', () => { @@ -80,7 +79,6 @@ describe('vpn', () => { Ref: 'VpcNetworkstaticE33EA98C', }, }); - }); test('with tunnel options, using secret value', () => { @@ -162,7 +160,6 @@ describe('vpn', () => { }, }, })).toThrow(/`ip`.+IPv4/); - }); test('fails when specifying more than two tunnel options', () => { @@ -187,7 +184,6 @@ describe('vpn', () => { }, }, })).toThrow(/two.+`tunnelOptions`/); - }); test('fails with duplicate tunnel inside cidr', () => { @@ -209,7 +205,6 @@ describe('vpn', () => { }, }, })).toThrow(/`tunnelInsideCidr`.+both tunnels/); - }); test('with two tunnel options and no tunnelInsideCidr', () => { @@ -270,7 +265,6 @@ describe('vpn', () => { }, }, })).toThrow(/`preSharedKey`/); - }); test('fails when specifying a reserved tunnel inside cidr', () => { @@ -289,7 +283,6 @@ describe('vpn', () => { }, }, })).toThrow(/`tunnelInsideCidr`.+reserved/); - }); test('fails when specifying an invalid tunnel inside cidr', () => { @@ -308,7 +301,6 @@ describe('vpn', () => { }, }, })).toThrow(/`tunnelInsideCidr`.+size/); - }); test('can use metricTunnelState on a vpn connection', () => { @@ -331,11 +323,9 @@ describe('vpn', () => { period: Duration.minutes(5), statistic: 'Average', }); - }); test('can import a vpn connection from attributes', () => { - const stack = new Stack(); const vpn = VpnConnection.fromVpnConnectionAttributes(stack, 'Connection', { @@ -373,7 +363,6 @@ describe('vpn', () => { period: Duration.minutes(5), statistic: 'Sum', }); - }); test('can use metricAllTunnelDataOut', () => { @@ -387,7 +376,6 @@ describe('vpn', () => { period: Duration.minutes(5), statistic: 'Sum', }); - }); test('fails when enabling vpnGateway without having subnets', () => { @@ -398,7 +386,6 @@ describe('vpn', () => { vpnGateway: true, subnetConfiguration: [], })).toThrow(/VPN gateway/); - }); test('can add a vpn connection later to a vpc that initially had no subnets', () => { @@ -423,7 +410,6 @@ describe('vpn', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::CustomerGateway', { Type: 'ipsec.1', }); - }); test('can add a vpn connection with a Token as customer gateway ip', () => { // GIVEN @@ -443,6 +429,5 @@ describe('vpn', () => { Template.fromStack(stack).hasResourceProperties('AWS::EC2::CustomerGateway', { IpAddress: '192.0.2.1', }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ecr-assets/test/image-asset.test.ts b/packages/aws-cdk-lib/aws-ecr-assets/test/image-asset.test.ts index 294c9797396d7..7a6e432bc19ea 100644 --- a/packages/aws-cdk-lib/aws-ecr-assets/test/image-asset.test.ts +++ b/packages/aws-cdk-lib/aws-ecr-assets/test/image-asset.test.ts @@ -17,7 +17,6 @@ describe('image asset', () => { directory: `/does/not/exist/${Math.floor(Math.random() * 9999)}`, }); }).toThrow(/Cannot find image directory at/); - }); test('fails if the directory does not contain a Dockerfile', () => { @@ -28,7 +27,6 @@ describe('image asset', () => { directory: __dirname, }); }).toThrow(/Cannot find file at/); - }); test('fails if the file does not exist', () => { @@ -40,7 +38,6 @@ describe('image asset', () => { file: 'doesnt-exist', }); }).toThrow(/Cannot find file at/); - }); test('docker directory is staged if asset staging is enabled', () => { @@ -54,7 +51,6 @@ describe('image asset', () => { expect(fs.existsSync(path.join(session.directory, `asset.${image.assetHash}`, 'Dockerfile'))).toBe(true); expect(fs.existsSync(path.join(session.directory, `asset.${image.assetHash}`, 'index.py'))).toBe(true); - }); describeDeprecated('docker ignore option', () => { diff --git a/packages/aws-cdk-lib/aws-ecr-assets/test/tarball-asset.test.ts b/packages/aws-cdk-lib/aws-ecr-assets/test/tarball-asset.test.ts index 27620c2580e97..00f97f3e3036f 100644 --- a/packages/aws-cdk-lib/aws-ecr-assets/test/tarball-asset.test.ts +++ b/packages/aws-cdk-lib/aws-ecr-assets/test/tarball-asset.test.ts @@ -134,7 +134,6 @@ describe('image asset', () => { tarballFile: `/does/not/exist/${Math.floor(Math.random() * 9999)}`, }); }).toThrow(/Cannot find file at/); - }); describe('imageTag is correct for different stack synthesizers', () => { @@ -161,7 +160,6 @@ describe('image asset', () => { expect(asset2.imageTag).toEqual('banana95c924c84f5d023be4edee540cb2cb401a49f115d01ed403b288f6cb412771df'); }); }); - }); function isAssetManifest(x: cxapi.CloudArtifact): x is cxapi.AssetManifestArtifact { diff --git a/packages/aws-cdk-lib/aws-ecr/lib/repository.ts b/packages/aws-cdk-lib/aws-ecr/lib/repository.ts index 0221db4a7682a..7d7977a6763c4 100644 --- a/packages/aws-cdk-lib/aws-ecr/lib/repository.ts +++ b/packages/aws-cdk-lib/aws-ecr/lib/repository.ts @@ -625,7 +625,6 @@ export class Repository extends RepositoryBase { } public static fromRepositoryArn(scope: Construct, id: string, repositoryArn: string): IRepository { - // if repositoryArn is a token, the repository name is also required. this is because // repository names can include "/" (e.g. foo/bar/myrepo) and it is impossible to // parse the name from an ARN using CloudFormation's split/select. @@ -882,7 +881,6 @@ export class Repository extends RepositoryBase { * user's configuration. */ private parseEncryption(props: RepositoryProps): CfnRepository.EncryptionConfigurationProperty | undefined { - // default based on whether encryptionKey is specified const encryptionType = props.encryption ?? (props.encryptionKey ? RepositoryEncryption.KMS : RepositoryEncryption.AES_256); diff --git a/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts b/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts index 47bba794bd324..505141aa8bc1f 100644 --- a/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts +++ b/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts @@ -515,7 +515,6 @@ export abstract class ApplicationLoadBalancedServiceBase extends Construct { this.targetGroup = this.listener.addTargets('ECS', targetProps); if (protocol === ApplicationProtocol.HTTPS) { - if (props.certificate !== undefined) { this.certificate = props.certificate; } else { diff --git a/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts b/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts index 031d6881dd3d5..502e42b335393 100644 --- a/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts +++ b/packages/aws-cdk-lib/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts @@ -589,7 +589,6 @@ export abstract class ApplicationMultipleTargetGroupsServiceBase extends Constru } } } - } private createLoadBalancer(name: string, publicLoadBalancer?: boolean, idleTimeout?: Duration): ApplicationLoadBalancer { diff --git a/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts b/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts index 4d877124c1d7a..88eaf76497773 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts @@ -714,7 +714,6 @@ export class Cluster extends Resource implements ICluster { if (options.canContainersAccessInstanceRole === false || options.canContainersAccessInstanceRole === undefined) { - if (!FeatureFlags.of(this).isEnabled(Disable_ECS_IMDS_Blocking) && FeatureFlags.of(this).isEnabled(Enable_IMDS_Blocking_Deprecated_Feature)) { // new commands from https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-role-considerations diff --git a/packages/aws-cdk-lib/aws-ecs/lib/container-image.ts b/packages/aws-cdk-lib/aws-ecs/lib/container-image.ts index 79ecf2f707ff1..d6030a98d16cc 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/container-image.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/container-image.ts @@ -65,7 +65,6 @@ export abstract class ContainerImage { public static fromTarball(tarballFile: string): ContainerImage { return { bind(scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { - const asset = new TarballImageAsset(scope, 'Tarball', { tarballFile }); asset.repository.grantPull(containerDefinition.taskDefinition.obtainExecutionRole()); diff --git a/packages/aws-cdk-lib/aws-ecs/lib/external/external-service.ts b/packages/aws-cdk-lib/aws-ecs/lib/external/external-service.ts index d7e43a8addcdc..3694919eeff74 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/external/external-service.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/external/external-service.ts @@ -135,7 +135,6 @@ export class ExternalService extends BaseService implements IExternalService { if (props.minHealthyPercent === undefined) { Annotations.of(this).addWarningV2('@aws-cdk/aws-ecs:minHealthyPercentExternal', 'minHealthyPercent has not been configured so the default value of 0% for an external service is used. The number of running tasks will decrease below the desired count during deployments etc. See https://github.com/aws/aws-cdk/issues/31705'); } - } /** diff --git a/packages/aws-cdk-lib/aws-ecs/lib/firelens-log-router.ts b/packages/aws-cdk-lib/aws-ecs/lib/firelens-log-router.ts index 31f7c28d003de..54ca7c1263b37 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/firelens-log-router.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/firelens-log-router.ts @@ -137,7 +137,6 @@ function renderFirelensConfig(firelensConfig: FirelensConfig): CfnTaskDefinition }, }; } - } /** diff --git a/packages/aws-cdk-lib/aws-ecs/test/app-mesh-proxy-configuration.test.ts b/packages/aws-cdk-lib/aws-ecs/test/app-mesh-proxy-configuration.test.ts index 203ad1365591b..e752fc6301219 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/app-mesh-proxy-configuration.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/app-mesh-proxy-configuration.test.ts @@ -69,7 +69,6 @@ describe('app mesh proxy configuration', () => { Type: 'APPMESH', }, }); - }); test('correctly sets appMeshProxyConfiguration with default properties set', () => { @@ -123,7 +122,6 @@ describe('app mesh proxy configuration', () => { Type: 'APPMESH', }, }); - }); test('correctly sets appMeshProxyConfiguration with empty egressIgnoredPorts and egressIgnoredIPs', () => { @@ -179,7 +177,6 @@ describe('app mesh proxy configuration', () => { Type: 'APPMESH', }, }); - }); test('throws when neither of IgnoredUID and IgnoredGID is set', () => { @@ -200,6 +197,5 @@ describe('app mesh proxy configuration', () => { }), }); }).toThrow(/At least one of ignoredUID or ignoredGID should be specified./); - }); }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/aws-log-driver.test.ts b/packages/aws-cdk-lib/aws-ecs/test/aws-log-driver.test.ts index 0dffdc43143db..cab5fdc6db48a 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/aws-log-driver.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/aws-log-driver.test.ts @@ -11,7 +11,6 @@ describe('aws log driver', () => { beforeEach(() => { stack = new cdk.Stack(); td = new ecs.FargateTaskDefinition(stack, 'TaskDefinition'); - }); test('create an aws log driver', () => { @@ -157,7 +156,6 @@ describe('aws log driver', () => { logRetention: logs.RetentionDays.FIVE_DAYS, streamPrefix: 'hello', })).toThrow(/`logGroup`.*`logRetentionDays`/); - }); test('throws error when specifying maxBufferSize and blocking mode', () => { @@ -171,7 +169,6 @@ describe('aws log driver', () => { mode: ecs.AwsLogDriverMode.BLOCKING, maxBufferSize: cdk.Size.mebibytes(25), })).toThrow(/.*maxBufferSize.*/); - }); test('throws error when specifying maxBufferSize and default settings', () => { @@ -184,7 +181,6 @@ describe('aws log driver', () => { streamPrefix: 'hello', maxBufferSize: cdk.Size.mebibytes(25), })).toThrow(/.*maxBufferSize.*/); - }); test('allows cross-region log group', () => { diff --git a/packages/aws-cdk-lib/aws-ecs/test/cluster.test.ts b/packages/aws-cdk-lib/aws-ecs/test/cluster.test.ts index 7324ccf49a26b..434bf5d7e77e0 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/cluster.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/cluster.test.ts @@ -379,7 +379,6 @@ describe('cluster', () => { Version: '2012-10-17', }, }); - }); testDeprecated('multiple clusters with default capacity', () => { @@ -394,7 +393,6 @@ describe('cluster', () => { instanceType: new ec2.InstanceType('m3.medium'), }); } - }); testDeprecated('lifecycle hook is automatically added', () => { @@ -532,7 +530,6 @@ describe('cluster', () => { }, ], }); - }); testDeprecated('lifecycle hook with encrypted SNS is added correctly', () => { @@ -559,7 +556,6 @@ describe('cluster', () => { ], }, }); - }); testDeprecated('with capacity and cloudmap namespace properties set', () => { @@ -739,7 +735,6 @@ describe('cluster', () => { Version: '2012-10-17', }, }); - }); }); @@ -757,7 +752,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::LaunchConfiguration', { InstanceType: 'm3.large', }); - }); testDeprecated('allows specifying cluster size', () => { @@ -775,7 +769,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::AutoScalingGroup', { MaxSize: '3', }); - }); testDeprecated('configures userdata with powershell if windows machine image is specified', () => { @@ -827,7 +820,6 @@ describe('cluster', () => { }, }, }); - }); /* @@ -862,7 +854,6 @@ describe('cluster', () => { Default: '/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id', }, }); - }); testDeprecated('errors if amazon linux given with special HW type', () => { @@ -882,7 +873,6 @@ describe('cluster', () => { }), }); }).toThrow(/Amazon Linux does not support special hardware type/); - }); testDeprecated('allows specifying windows image', () => { @@ -908,7 +898,6 @@ describe('cluster', () => { Default: '/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized/image_id', }, }); - }); testDeprecated('errors if windows given with special HW type', () => { @@ -928,7 +917,6 @@ describe('cluster', () => { }), }); }).toThrow(/Windows Server does not support special hardware type/); - }); testDeprecated('errors if windowsVersion and linux generation are set', () => { @@ -948,7 +936,6 @@ describe('cluster', () => { }), }); }).toThrow(/"windowsVersion" and Linux image "generation" cannot be both set/); - }); testDeprecated('allows returning the correct image for windows for EcsOptimizedAmi', () => { @@ -959,7 +946,6 @@ describe('cluster', () => { }); expect(ami.getImage(stack).osType).toEqual(ec2.OperatingSystemType.WINDOWS); - }); testDeprecated('allows returning the correct image for linux for EcsOptimizedAmi', () => { @@ -970,7 +956,6 @@ describe('cluster', () => { }); expect(ami.getImage(stack).osType).toEqual(ec2.OperatingSystemType.LINUX); - }); testDeprecated('allows returning the correct image for linux 2 for EcsOptimizedAmi', () => { @@ -981,7 +966,6 @@ describe('cluster', () => { }); expect(ami.getImage(stack).osType).toEqual(ec2.OperatingSystemType.LINUX); - }); testDeprecated('allows returning the correct image for linux 2023 for EcsOptimizedAmi', () => { @@ -992,7 +976,6 @@ describe('cluster', () => { }); expect(ami.getImage(stack).osType).toEqual(ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux for EcsOptimizedImage', () => { @@ -1001,7 +984,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux().getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux 2 for EcsOptimizedImage', () => { @@ -1010,7 +992,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux2().getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux 2 for EcsOptimizedImage with ARM hardware', () => { @@ -1019,7 +1000,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux2(ecs.AmiHardwareType.ARM).getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux 2 for EcsOptimizedImage with Neuron hardware', () => { @@ -1028,7 +1008,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux2(ecs.AmiHardwareType.NEURON).getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux 2023 for EcsOptimizedImage', () => { @@ -1037,7 +1016,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux2023().getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for linux 2023 for EcsOptimizedImage with ARM hardware', () => { @@ -1046,7 +1024,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.amazonLinux2023(ecs.AmiHardwareType.ARM).getImage(stack).osType).toEqual( ec2.OperatingSystemType.LINUX); - }); test('allows returning the correct image for windows for EcsOptimizedImage', () => { @@ -1055,7 +1032,6 @@ describe('cluster', () => { expect(ecs.EcsOptimizedImage.windows(ecs.WindowsOptimizedVersion.SERVER_2019).getImage(stack).osType).toEqual( ec2.OperatingSystemType.WINDOWS); - }); test('correct SSM parameter is set for amazon linux 2 Neuron AMI', () => { @@ -1226,7 +1202,6 @@ describe('cluster', () => { Default: '/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id', }, }); - }); testDeprecated('allows specifying Amazon Linux v1 AMI', () => { @@ -1256,7 +1231,6 @@ describe('cluster', () => { Default: '/aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id', }, }); - }); testDeprecated('allows specifying windows image v2', () => { @@ -1280,7 +1254,6 @@ describe('cluster', () => { Default: '/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized/image_id', }, }); - }); testDeprecated('allows specifying spot fleet', () => { @@ -1298,7 +1271,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::LaunchConfiguration', { SpotPrice: '0.31', }); - }); testDeprecated('allows specifying drain time', () => { @@ -1316,7 +1288,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::LifecycleHook', { HeartbeatTimeout: 60, }); - }); testDeprecated('allows specifying automated spot draining', () => { @@ -1348,7 +1319,6 @@ describe('cluster', () => { }, }, }); - }); testDeprecated('allows containers access to instance metadata service', () => { @@ -1379,7 +1349,6 @@ describe('cluster', () => { }, }, }); - }); testDeprecated('allows adding default service discovery namespace', () => { @@ -1404,7 +1373,6 @@ describe('cluster', () => { Ref: 'MyVpcF9F0CA6F', }, }); - }); testDeprecated('allows adding public service discovery namespace', () => { @@ -1429,7 +1397,6 @@ describe('cluster', () => { }); expect(cluster.defaultCloudMapNamespace!.type).toEqual(cloudmap.NamespaceType.DNS_PUBLIC); - }); testDeprecated('throws if default service discovery namespace added more than once', () => { @@ -1453,7 +1420,6 @@ describe('cluster', () => { name: 'foo.com', }); }).toThrow(/Can only add default namespace once./); - }); test('export/import of a cluster with a namespace', () => { @@ -1485,7 +1451,6 @@ describe('cluster', () => { // Can retrieve subnets from VPC - will throw 'There are no 'Private' subnets in this VPC. Use a different VPC subnet selection.' if broken. cluster2.vpc.selectSubnets(); - }); test('imported cluster with imported security groups honors allowAllOutbound', () => { @@ -1511,7 +1476,6 @@ describe('cluster', () => { }); Template.fromStack(stack).resourceCountIs('AWS::EC2::SecurityGroupEgress', 1); - }); test('Security groups are optonal for imported clusters', () => { @@ -1585,7 +1549,6 @@ describe('cluster', () => { period: cdk.Duration.minutes(5), statistic: 'Average', }); - }); testDeprecated('ASG with a public VPC without NAT Gateways', () => { @@ -1703,7 +1666,6 @@ describe('cluster', () => { }); // THEN - }); test('enable container insights', () => { @@ -1722,7 +1684,6 @@ describe('cluster', () => { }, ], }); - }); test('disable container insights', () => { @@ -1741,7 +1702,6 @@ describe('cluster', () => { }, ], }); - }); test('disabled container insights', () => { @@ -1844,7 +1804,6 @@ describe('cluster', () => { template.Resources.EcsCluster97242B84.Properties === undefined || template.Resources.EcsCluster97242B84.Properties.ClusterSettings === undefined, ).toEqual(true); - }); test('enable fargate ephemeral storage encryption on cluster with random name', () => { @@ -1970,7 +1929,6 @@ describe('cluster', () => { ([k, v]) => k.startsWith('SsmParameterValueawsservicebottlerocketawsecs') && (v as any).Default.includes('/aws-ecs-1/'), )).toEqual(true); - }); describe('isBottleRocketImage() returns', () => { @@ -2127,7 +2085,6 @@ describe('cluster', () => { }, }, }); - }); testDeprecated('updatePolicy set when passed without updateType', () => { @@ -2284,7 +2241,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::ClusterCapacityProviderAssociations', { CapacityProviders: ['FARGATE_SPOT'], }); - }); test('allows specifying Fargate capacityProviders', () => { @@ -2305,7 +2261,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::ClusterCapacityProviderAssociations', { CapacityProviders: ['FARGATE', 'FARGATE_SPOT'], }); - }); test('allows specifying capacityProviders (alternate method)', () => { @@ -2325,7 +2280,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::ClusterCapacityProviderAssociations', { CapacityProviders: ['FARGATE', 'FARGATE_SPOT'], }); - }); testDeprecated('allows adding capacityProviders post-construction (deprecated)', () => { @@ -2346,7 +2300,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::ClusterCapacityProviderAssociations', { CapacityProviders: ['FARGATE'], }); - }); testDeprecated('allows adding capacityProviders post-construction', () => { @@ -2367,7 +2320,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::ClusterCapacityProviderAssociations', { CapacityProviders: ['FARGATE'], }); - }); testDeprecated('throws for unsupported capacity providers', () => { @@ -2380,7 +2332,6 @@ describe('cluster', () => { expect(() => { cluster.addCapacityProvider('HONK'); }).toThrow(/CapacityProvider not supported/); - }); describe('creates ASG capacity providers ', () => { @@ -2644,7 +2595,6 @@ describe('cluster', () => { Template.fromStack(stack).hasResourceProperties('AWS::AutoScaling::AutoScalingGroup', { NewInstancesProtectedFromScaleIn: true, }); - }); test('capacity provider disables ASG new instance scale-in protection', () => { @@ -2709,7 +2659,6 @@ describe('cluster', () => { ], DefaultCapacityProviderStrategy: [], }); - }); test('throws when calling Cluster.addAsgCapacityProvider with an AsgCapacityProvider created with an imported ASG', () => { @@ -2969,7 +2918,6 @@ describe('cluster', () => { }, }, }); - }); test('throws when no log configuration is provided when logging is set to OVERRIDE', () => { @@ -2985,7 +2933,6 @@ describe('cluster', () => { }, }); }).toThrow(/Execute command log configuration must only be specified when logging is OVERRIDE./); - }); test('throws when log configuration provided but logging is set to DEFAULT', () => { @@ -3006,7 +2953,6 @@ describe('cluster', () => { }, }); }).toThrow(/Execute command log configuration must only be specified when logging is OVERRIDE./); - }); test('throws when CloudWatchEncryptionEnabled without providing CloudWatch Logs log group name', () => { @@ -3025,7 +2971,6 @@ describe('cluster', () => { }, }); }).toThrow(/You must specify a CloudWatch log group in the execute command log configuration to enable CloudWatch encryption./); - }); test('throws when S3EncryptionEnabled without providing S3 Bucket name', () => { @@ -3044,7 +2989,6 @@ describe('cluster', () => { }, }); }).toThrow(/You must specify an S3 bucket name in the execute command log configuration to enable S3 encryption./); - }); test('When importing ECS Cluster via Arn', () => { @@ -3172,7 +3116,6 @@ test('can add ASG capacity via Capacity Provider by not specifying machineImageT }, DefaultCapacityProviderStrategy: [], }); - }); test('throws when ASG Capacity Provider with capacityProviderName starting with aws, ecs or fargate', () => { @@ -3233,7 +3176,6 @@ test('throws when ASG Capacity Provider with no capacityProviderName but stack n }); cluster.addAsgCapacityProvider(capacityProvider); - }).not.toThrow(); }); @@ -3286,7 +3228,6 @@ test('throws when InstanceWarmupPeriod is greater than 10000', () => { }); describe('Accessing container instance role', function () { - const addUserDataMock = jest.fn(); function getAutoScalingGroup(stack: cdk.Stack): autoscaling.AutoScalingGroup { diff --git a/packages/aws-cdk-lib/aws-ecs/test/container-definition.test.ts b/packages/aws-cdk-lib/aws-ecs/test/container-definition.test.ts index bd1a14129d390..ea1906823fd1f 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/container-definition.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/container-definition.test.ts @@ -276,9 +276,7 @@ describe('container definition', () => { portMap.validate(); }).not.toThrow(); }); - }); - }); describe('ServiceConnect class', () => { @@ -317,7 +315,6 @@ describe('container definition', () => { // THEN expect(serviceConnect.isServiceConnect()).toEqual(false); }); - }); describe('validate', () => { @@ -362,9 +359,7 @@ describe('container definition', () => { serviceConnect.validate(); }).not.toThrow(); }); - }); - }); test('port mapping throws an error when appProtocol is set without name', () => { @@ -2480,7 +2475,6 @@ describe('container definition', () => { // THEN expect(taskDefinition.defaultContainer).toEqual(container); - }); test('when the props passed in is not an essential container', () => { diff --git a/packages/aws-cdk-lib/aws-ecs/test/ec2/cross-stack.test.ts b/packages/aws-cdk-lib/aws-ecs/test/ec2/cross-stack.test.ts index 6670284aaae0a..ca5ffb337da5e 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/ec2/cross-stack.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/ec2/cross-stack.test.ts @@ -36,7 +36,6 @@ describe('cross stack', () => { cluster, taskDefinition, }); - }); test('ALB next to Service', () => { @@ -52,7 +51,6 @@ describe('cross stack', () => { Template.fromStack(stack2).resourceCountIs('AWS::ECS::Service', 1); expectIngress(stack2); - }); test('ALB next to Cluster', () => { @@ -67,7 +65,6 @@ describe('cross stack', () => { // THEN: it shouldn't throw due to cyclic dependencies Template.fromStack(stack2).resourceCountIs('AWS::ECS::Service', 1); expectIngress(stack2); - }); test('ALB in its own stack', () => { @@ -83,7 +80,6 @@ describe('cross stack', () => { // THEN: it shouldn't throw due to cyclic dependencies Template.fromStack(stack2).resourceCountIs('AWS::ECS::Service', 1); expectIngress(stack2); - }); }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-service.test.ts b/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-service.test.ts index b40634812a452..cb338de8fe954 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-service.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-service.test.ts @@ -60,7 +60,6 @@ describe('ec2 service', () => { }); expect(service.node.defaultChild).toBeDefined(); - }); [false, undefined].forEach((value) => { @@ -354,7 +353,6 @@ describe('ec2 service', () => { }, ], }); - }); test('no logging enabled when logging field is set to NONE', () => { @@ -413,7 +411,6 @@ describe('ec2 service', () => { }, ], }); - }); test('enables execute command logging when logging field is set to OVERRIDE', () => { @@ -537,7 +534,6 @@ describe('ec2 service', () => { }, ], }); - }); test('enables only execute command session encryption', () => { @@ -708,7 +704,6 @@ describe('ec2 service', () => { Version: '2012-10-17', }, }); - }); test('enables encryption for execute command logging', () => { @@ -954,7 +949,6 @@ describe('ec2 service', () => { Version: '2012-10-17', }, }); - }); test('with custom cloudmap namespace', () => { @@ -1021,7 +1015,6 @@ describe('ec2 service', () => { Ref: 'MyVpcF9F0CA6F', }, }); - }); test('with all properties set', () => { @@ -1139,7 +1132,6 @@ describe('ec2 service', () => { }, ], }); - }); test('with autoscaling group capacity provider', () => { @@ -1191,7 +1183,6 @@ describe('ec2 service', () => { }, ], }); - }); test('with multiple security groups, it correctly updates the cfn template', () => { @@ -1304,7 +1295,6 @@ describe('ec2 service', () => { Ref: 'MyVpcF9F0CA6F', }, }); - }); test('sets task definition to family when CODE_DEPLOY deployment controller is specified', () => { @@ -1384,7 +1374,6 @@ describe('ec2 service', () => { vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, }); }).toThrow(/Only one of SecurityGroup or SecurityGroups can be populated./); - }); test('throws when task definition is not EC2 compatible', () => { @@ -1408,7 +1397,6 @@ describe('ec2 service', () => { taskDefinition, }); }).toThrow(/Supplied TaskDefinition is not configured for compatibility with EC2/); - }); test('ignore task definition and launch type if deployment controller is set to be EXTERNAL', () => { @@ -1445,7 +1433,6 @@ describe('ec2 service', () => { SchedulingStrategy: 'REPLICA', EnableECSManagedTags: false, }); - }); test('add warning to annotations if circuitBreaker is specified with a non-ECS DeploymentControllerType', () => { @@ -1475,7 +1462,6 @@ describe('ec2 service', () => { // THEN expect(service.node.metadata[0].data).toEqual('taskDefinition and launchType are blanked out when using external deployment controller. [ack: @aws-cdk/aws-ecs:externalDeploymentController]'); expect(service.node.metadata[1].data).toEqual('Deployment circuit breaker requires the ECS deployment controller.'); - }); test('errors if daemon and desiredCount both specified', () => { @@ -1499,7 +1485,6 @@ describe('ec2 service', () => { desiredCount: 2, }); }).toThrow(/Don't supply desiredCount/); - }); test('errors if daemon and maximumPercent not 100', () => { @@ -1523,7 +1508,6 @@ describe('ec2 service', () => { maxHealthyPercent: 300, }); }).toThrow(/Maximum percent must be 100 for daemon mode./); - }); test('errors if minimum not less than maximum', () => { @@ -1548,7 +1532,6 @@ describe('ec2 service', () => { maxHealthyPercent: 100, }); }).toThrow(/Minimum healthy percent must be less than maximum healthy percent./); - }); test('errors if no container definitions', () => { @@ -1568,7 +1551,6 @@ describe('ec2 service', () => { expect(() => { Template.fromStack(stack); }).toThrow(/one essential container/); - }); test('allows adding the default container after creating the service', () => { @@ -1627,7 +1609,6 @@ describe('ec2 service', () => { MinimumHealthyPercent: 0, }, }); - }); test('warning if minHealthyPercent not set', () => { @@ -1752,7 +1733,6 @@ describe('ec2 service', () => { }); // THEN - }); test('it errors if assignPublicIp is true', () => { @@ -1780,7 +1760,6 @@ describe('ec2 service', () => { }).toThrow(/vpcSubnets, securityGroup\(s\) and assignPublicIp can only be used in AwsVpc networking mode/); // THEN - }); test('it errors if vpc subnets is provided', () => { @@ -1814,7 +1793,6 @@ describe('ec2 service', () => { }).toThrow(/vpcSubnets, securityGroup\(s\) and assignPublicIp can only be used in AwsVpc networking mode/); // THEN - }); test('it errors if security group is provided', () => { @@ -1842,7 +1820,6 @@ describe('ec2 service', () => { }).toThrow(/vpcSubnets, securityGroup\(s\) and assignPublicIp can only be used in AwsVpc networking mode/); // THEN - }); test('it errors if multiple security groups is provided', () => { @@ -1873,7 +1850,6 @@ describe('ec2 service', () => { }).toThrow(/vpcSubnets, securityGroup\(s\) and assignPublicIp can only be used in AwsVpc networking mode/); // THEN - }); }); @@ -1922,7 +1898,6 @@ describe('ec2 service', () => { }, }, }); - }); test('it allows vpcSubnets', () => { @@ -1949,7 +1924,6 @@ describe('ec2 service', () => { }); // THEN - }); }); @@ -1978,7 +1952,6 @@ describe('ec2 service', () => { Type: 'distinctInstance', }], }); - }); test('with memberOf placement constraints', () => { @@ -2008,7 +1981,6 @@ describe('ec2 service', () => { Type: 'memberOf', }], }); - }); test('with spreadAcross container instances strategy', () => { @@ -2039,7 +2011,6 @@ describe('ec2 service', () => { Type: 'spread', }], }); - }); test('with spreadAcross placement strategy', () => { @@ -2069,7 +2040,6 @@ describe('ec2 service', () => { Type: 'spread', }], }); - }); test('can turn PlacementStrategy into json format', () => { @@ -2078,7 +2048,6 @@ describe('ec2 service', () => { type: 'spread', field: 'attribute:ecs.availability-zone', }]); - }); test('can turn PlacementConstraints into json format', () => { @@ -2086,7 +2055,6 @@ describe('ec2 service', () => { expect(PlacementConstraint.distinctInstances().toJson()).toEqual([{ type: 'distinctInstance', }]); - }); test('errors when spreadAcross with no input', () => { @@ -2111,7 +2079,6 @@ describe('ec2 service', () => { expect(() => { service.addPlacementStrategies(PlacementStrategy.spreadAcross()); }).toThrow('spreadAcross: give at least one field to spread by'); - }); test('errors with spreadAcross placement strategy if daemon specified', () => { @@ -2137,7 +2104,6 @@ describe('ec2 service', () => { expect(() => { service.addPlacementStrategies(PlacementStrategy.spreadAcross(ecs.BuiltInAttributes.AVAILABILITY_ZONE)); }); - }); test('with no placement constraints', () => { @@ -2210,7 +2176,6 @@ describe('ec2 service', () => { propagateTaskTagsFrom: PropagatedTagSource.SERVICE, }); }).toThrow(/You can only specify either propagateTags or propagateTaskTagsFrom. Alternatively, you can leave both blank/); - }); test('with no placement strategy if daemon specified', () => { @@ -2264,7 +2229,6 @@ describe('ec2 service', () => { Type: 'random', }], }); - }); test('errors with random placement strategy if daemon specified', () => { @@ -2290,7 +2254,6 @@ describe('ec2 service', () => { expect(() => { service.addPlacementStrategies(PlacementStrategy.randomly()); }).toThrow(); - }); test('with packedbyCpu placement strategy', () => { @@ -2320,7 +2283,6 @@ describe('ec2 service', () => { Type: 'binpack', }], }); - }); test('with packedbyMemory placement strategy', () => { @@ -2350,7 +2312,6 @@ describe('ec2 service', () => { Type: 'binpack', }], }); - }); test('with packedBy placement strategy', () => { @@ -2380,7 +2341,6 @@ describe('ec2 service', () => { Type: 'binpack', }], }); - }); test('errors with packedBy placement strategy if daemon specified', () => { @@ -2910,7 +2870,6 @@ describe('ec2 service', () => { // THEN const lb = new elb.LoadBalancer(stack, 'LB', { vpc }); service.attachToClassicLB(lb); - }); test('allows network mode of task definition to be bridge', () => { @@ -2933,7 +2892,6 @@ describe('ec2 service', () => { // THEN const lb = new elb.LoadBalancer(stack, 'LB', { vpc }); service.attachToClassicLB(lb); - }); test('throws when network mode of task definition is AwsVpc', () => { @@ -2958,7 +2916,6 @@ describe('ec2 service', () => { expect(() => { service.attachToClassicLB(lb); }).toThrow(/Cannot use a Classic Load Balancer if NetworkMode is AwsVpc. Use Host or Bridge instead./); - }); test('throws when network mode of task definition is none', () => { @@ -2983,7 +2940,6 @@ describe('ec2 service', () => { expect(() => { service.attachToClassicLB(lb); }).toThrow(/Cannot use a Classic Load Balancer if NetworkMode is None. Use Host or Bridge instead./); - }); }); @@ -3012,7 +2968,6 @@ describe('ec2 service', () => { // THEN service.attachToApplicationTargetGroup(targetGroup); - }); test('throws when network mode of task definition is none', () => { @@ -3041,7 +2996,6 @@ describe('ec2 service', () => { expect(() => { service.attachToApplicationTargetGroup(targetGroup); }).toThrow(/Cannot use a load balancer if NetworkMode is None. Use Bridge, Host or AwsVpc instead./); - }); test('throws when the first port mapping added to the container does not expose a single port', () => { @@ -3073,7 +3027,6 @@ describe('ec2 service', () => { expect(() => { service.attachToApplicationTargetGroup(targetGroup); }).toThrow(/The first port mapping of the container MainContainer must expose a single port./); - }); describe('correctly setting ingress and egress port', () => { @@ -3122,7 +3075,6 @@ describe('ec2 service', () => { ToPort: 65535, }); }); - }); test('with bridge/NAT network mode and host port other than 0', () => { @@ -3169,7 +3121,6 @@ describe('ec2 service', () => { ToPort: 80, }); }); - }); test('with host network mode', () => { @@ -3214,7 +3165,6 @@ describe('ec2 service', () => { FromPort: 8001, ToPort: 8001, }); - }); test('with aws_vpc network mode', () => { @@ -3259,7 +3209,6 @@ describe('ec2 service', () => { FromPort: 8001, ToPort: 8001, }); - }); }); }); @@ -3289,7 +3238,6 @@ describe('ec2 service', () => { // THEN service.attachToNetworkTargetGroup(targetGroup); - }); test('throws when network mode of task definition is none', () => { @@ -3318,7 +3266,6 @@ describe('ec2 service', () => { expect(() => { service.attachToNetworkTargetGroup(targetGroup); }).toThrow(/Cannot use a load balancer if NetworkMode is None. Use Bridge, Host or AwsVpc instead./); - }); test('throws when the first port mapping added to the container does not expose a single port', () => { @@ -3350,7 +3297,6 @@ describe('ec2 service', () => { expect(() => { service.attachToNetworkTargetGroup(targetGroup); }).toThrow(/The first port mapping of the container MainContainer must expose a single port./); - }); }); @@ -3392,7 +3338,6 @@ describe('ec2 service', () => { // set, then it should default to 60 seconds. HealthCheckGracePeriodSeconds: 60, }); - }); test('can attach any container and port as a target', () => { @@ -3430,7 +3375,6 @@ describe('ec2 service', () => { }, ], }); - }); }); @@ -3460,7 +3404,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/Cannot enable service discovery if a Cloudmap Namespace has not been created in the cluster./); - }); test('fails to enable Service Discovery with HTTP defaultCloudmapNamespace', () => { @@ -3490,7 +3433,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/Cannot enable DNS service discovery for HTTP Cloudmap Namespace./); - }); test('throws if network mode is none', () => { @@ -3520,7 +3462,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/Cannot use a service discovery if NetworkMode is None. Use Bridge, Host or AwsVpc instead./); - }); test('creates AWS Cloud Map service for Private DNS namespace with bridge network mode', () => { @@ -3595,7 +3536,6 @@ describe('ec2 service', () => { ], }, }); - }); test('creates AWS Cloud Map service for Private DNS namespace with host network mode', () => { @@ -3671,7 +3611,6 @@ describe('ec2 service', () => { ], }, }); - }); test('throws if wrong DNS record type specified with bridge network mode', () => { @@ -3704,7 +3643,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/SRV records must be used when network mode is Bridge or Host./); - }); test('creates AWS Cloud Map service for Private DNS namespace with AwsVpc network mode', () => { @@ -3778,7 +3716,6 @@ describe('ec2 service', () => { ], }, }); - }); test('creates AWS Cloud Map service for Private DNS namespace with AwsVpc network mode with SRV records', () => { @@ -3855,7 +3792,6 @@ describe('ec2 service', () => { ], }, }); - }); test('user can select any container and port', () => { @@ -4073,7 +4009,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/another task definition/i); - }); test('throws if SRV and the container port is not mapped', () => { @@ -4107,7 +4042,6 @@ describe('ec2 service', () => { }, }); }).toThrow(/container port.*not.*mapped/i); - }); }); @@ -4150,7 +4084,6 @@ describe('ec2 service', () => { period: cdk.Duration.minutes(5), statistic: 'Average', }); - }); describe('When import an EC2 Service', () => { @@ -4267,7 +4200,6 @@ describe('ec2 service', () => { expect(service.env.account).toEqual('123456789012'); expect(service.env.region).toEqual('us-west-2'); - }); test('with serviceArn new format', () => { @@ -4467,7 +4399,6 @@ describe('ec2 service', () => { cluster, }); }).toThrow(/only specify either serviceArn or serviceName/); - }); test('throws an exception if neither serviceArn nor serviceName were provided for fromEc2ServiceAttributes', () => { @@ -4480,7 +4411,6 @@ describe('ec2 service', () => { cluster, }); }).toThrow(/only specify either serviceArn or serviceName/); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-task-definition.test.ts b/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-task-definition.test.ts index a66bad6fe1eed..e7212554bcb78 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-task-definition.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/ec2/ec2-task-definition.test.ts @@ -1259,7 +1259,6 @@ describe('ec2 task definition', () => { DeviceType: 'eia2.medium', }], }); - }); test('correctly sets inferenceAccelerators using props and addInferenceAccelerator method', () => { // GIVEN @@ -1413,5 +1412,4 @@ describe('ec2 task definition', () => { new ecs.Ec2TaskDefinition(stack, 'TaskDef', { placementConstraints: [invalidConstraint] }); }).toThrow(/Invalid placement constraint\(s\): distinctInstance. Only 'memberOf' is currently supported in the Ec2TaskDefinition class./); }); - }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/environment-file.test.ts b/packages/aws-cdk-lib/aws-ecs/test/environment-file.test.ts index 736523a2dcd46..695185078b82c 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/environment-file.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/environment-file.test.ts @@ -14,7 +14,6 @@ describe('environment file', () => { // THEN expect(() => defineContainerDefinition(stack, fileAsset)).toThrow(/Asset must be a single file/); - }); test('only one environment file asset object is created even if multiple container definitions use the same file', () => { @@ -42,7 +41,6 @@ describe('environment file', () => { // container one has an asset, container two does not expect(synthesized.assets.length).toEqual(1); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/external/external-service.test.ts b/packages/aws-cdk-lib/aws-ecs/test/external/external-service.test.ts index 9eeb40aafee2e..fce5776a7c8b9 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/external/external-service.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/external/external-service.test.ts @@ -95,7 +95,6 @@ describe('external service', () => { LaunchType: LaunchType.EXTERNAL, ServiceName: 'bonjour', }); - }); test('with cloudmap set on cluster, throw error', () => { @@ -127,7 +126,6 @@ describe('external service', () => { })], serviceName: 'bonjour', })).toThrow('Cloud map integration is not supported for External service' ); - }); test('with multiple security groups, it correctly updates the cfn template', () => { @@ -201,7 +199,6 @@ describe('external service', () => { }, ], }); - }); test('with deployment alarms', () => { @@ -288,7 +285,6 @@ describe('external service', () => { cluster, taskDefinition, })).toThrow('Supplied TaskDefinition is not configured for compatibility with ECS Anywhere cluster'); - }); test('errors if minimum not less than maximum', () => { @@ -310,7 +306,6 @@ describe('external service', () => { minHealthyPercent: 100, maxHealthyPercent: 100, })).toThrow('Minimum healthy percent must be less than maximum healthy percent.'); - }); test('error if cloudmap options provided with external service', () => { @@ -336,7 +331,6 @@ describe('external service', () => { })).toThrow('Cloud map options are not supported for External service'); // THEN - }); test('error if capacityProviderStrategies options provided with external service', () => { @@ -374,7 +368,6 @@ describe('external service', () => { })).toThrow('Capacity Providers are not supported for External service'); // THEN - }); test('error when performing attachToApplicationTargetGroup to an external service', () => { @@ -405,7 +398,6 @@ describe('external service', () => { expect(() => service.attachToApplicationTargetGroup(targetGroup)).toThrow('Application load balancer cannot be attached to an external service'); // THEN - }); test('error when performing loadBalancerTarget to an external service', () => { @@ -432,7 +424,6 @@ describe('external service', () => { })).toThrow('External service cannot be attached as load balancer targets'); // THEN - }); test('error when performing registerLoadBalancerTargets to an external service', () => { @@ -466,7 +457,6 @@ describe('external service', () => { )).toThrow('External service cannot be registered as load balancer targets'); // THEN - }); test('error when performing autoScaleTaskCount to an external service', () => { @@ -494,7 +484,6 @@ describe('external service', () => { })).toThrow('Autoscaling not supported for external service'); // THEN - }); test('error when performing enableCloudMap to an external service', () => { @@ -519,7 +508,6 @@ describe('external service', () => { expect(() => service.enableCloudMap({})).toThrow('Cloud map integration not supported for an external service'); // THEN - }); test('error when performing associateCloudMapService to an external service', () => { @@ -557,7 +545,6 @@ describe('external service', () => { container: container, containerPort: 8000, })).toThrow('Cloud map service association is not supported for an external service'); - }); test('add warning to annotations if circuitBreaker is specified with a non-ECS DeploymentControllerType', () => { @@ -638,5 +625,4 @@ describe('external service', () => { Annotations.fromStack(stack).hasNoWarning('/Default/ExternalService', 'minHealthyPercent has not been configured so the default value of 0% for an external service is used. The number of running tasks will decrease below the desired count during deployments etc. See https://github.com/aws/aws-cdk/issues/31705 [ack: @aws-cdk/aws-ecs:minHealthyPercentExternal]'); Annotations.fromStack(stack).hasNoWarning('/Default/ExternalService', 'minHealthyPercent has not been configured so the default value of 50% is used. The number of running tasks will decrease below the desired count during deployments etc. See https://github.com/aws/aws-cdk/issues/31705 [ack: @aws-cdk/aws-ecs:minHealthyPercent]'); }); - }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-service.test.ts b/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-service.test.ts index 59d353ba5a611..afed93f259642 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-service.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-service.test.ts @@ -791,7 +791,6 @@ describe('fargate service', () => { taskDefinition, }); }).toThrow(/Supplied TaskDefinition is not configured for compatibility with Fargate/); - }); test('throws whith secret json field on unsupported platform version', () => { @@ -881,7 +880,6 @@ describe('fargate service', () => { // THEN expect(service.node.metadata[1].data).toEqual('Deployment circuit breaker requires the ECS deployment controller.'); expect(service.node.metadata[0].data).toEqual('taskDefinition and launchType are blanked out when using external deployment controller. [ack: @aws-cdk/aws-ecs:externalDeploymentController]'); - }); test('errors when no container specified on task definition', () => { @@ -1388,7 +1386,6 @@ describe('fargate service', () => { describe('when enabling service connect', () => { describe('when validating service connect configurations', () => { - let service: ecs.FargateService; beforeEach(() => { @@ -1510,7 +1507,6 @@ describe('fargate service', () => { }); describe('when creating a FargateService with service connect', () => { - let service: ecs.FargateService; let stack: cdk.Stack; let cluster: ecs.Cluster; @@ -3945,7 +3941,6 @@ describe('fargate service', () => { expect(service.env.account).toEqual('123456789012'); expect(service.env.region).toEqual('us-west-2'); - }); test('with serviceArn new format', () => { diff --git a/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-task-definition.test.ts b/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-task-definition.test.ts index 8f0af96286aaf..4f8f4f264ed0d 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-task-definition.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/fargate/fargate-task-definition.test.ts @@ -18,7 +18,6 @@ describe('fargate task definition', () => { Cpu: '256', Memory: '512', }); - }); test('support lazy cpu and memory values', () => { @@ -35,7 +34,6 @@ describe('fargate task definition', () => { Cpu: '128', Memory: '1024', }); - }); test('with all properties set', () => { @@ -108,7 +106,6 @@ describe('fargate task definition', () => { }, ], }); - }); test('throws when adding placement constraint', () => { @@ -120,7 +117,6 @@ describe('fargate task definition', () => { expect(() => { taskDefinition.addPlacementConstraint(ecs.PlacementConstraint.memberOf('attribute:ecs.instance-type =~ t2.*')); }).toThrow(/Cannot set placement constraints on tasks that run on Fargate/); - }); test('throws when adding inference accelerators', () => { @@ -137,7 +133,6 @@ describe('fargate task definition', () => { expect(() => { taskDefinition.addInferenceAccelerator(inferenceAccelerator); }).toThrow(/Cannot use inference accelerators on tasks that run on Fargate/); - }); test('throws when ephemeral storage request is too high', () => { @@ -268,7 +263,6 @@ describe('fargate task definition', () => { // THEN expect(taskDefinition.taskDefinitionArn).toEqual(expectTaskDefinitionArn); - }); test('can succeed using attributes', () => { @@ -299,7 +293,6 @@ describe('fargate task definition', () => { expect(taskDefinition.networkMode).toEqual(expectNetworkMode); expect(taskDefinition.taskRole).toEqual(expectTaskRole); expect(taskDefinition.executionRole).toEqual(expectExecutionRole); - }); test('returns a Fargate TaskDefinition that will throw an error when trying to access its networkMode but its networkMode is undefined', () => { @@ -321,7 +314,6 @@ describe('fargate task definition', () => { taskDefinition.networkMode; }).toThrow('This operation requires the networkMode in ImportedTaskDefinition to be defined. ' + 'Add the \'networkMode\' in ImportedTaskDefinitionProps to instantiate ImportedTaskDefinition'); - }); test('returns a Fargate TaskDefinition that will throw an error when trying to access its taskRole but its taskRole is undefined', () => { @@ -468,8 +460,6 @@ describe('fargate task definition', () => { }, }); }).toThrow('If operatingSystemFamily is WINDOWS_SERVER_2004_CORE, then cpu must be in 1024 (1 vCPU), 2048 (2 vCPU), or 4096 (4 vCPU). Provided value was: 256'); - }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ecs/test/firelens-log-driver.test.ts b/packages/aws-cdk-lib/aws-ecs/test/firelens-log-driver.test.ts index 57dda00535cdb..380800c0e05a2 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/firelens-log-driver.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/firelens-log-driver.test.ts @@ -12,7 +12,6 @@ describe('firelens log driver', () => { beforeEach(() => { stack = new cdk.Stack(); td = new ecs.Ec2TaskDefinition(stack, 'TaskDefinition'); - }); test('create a firelens log driver with default options', () => { // WHEN diff --git a/packages/aws-cdk-lib/aws-ecs/test/gelf-log-driver.test.ts b/packages/aws-cdk-lib/aws-ecs/test/gelf-log-driver.test.ts index 0752a84ac39c1..1e7d948966863 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/gelf-log-driver.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/gelf-log-driver.test.ts @@ -10,7 +10,6 @@ describe('gelf log driver', () => { beforeEach(() => { stack = new cdk.Stack(); td = new ecs.Ec2TaskDefinition(stack, 'TaskDefinition'); - }); test('create a gelf log driver with minimum options', () => { diff --git a/packages/aws-cdk-lib/aws-ecs/test/json-file-log-driver.test.ts b/packages/aws-cdk-lib/aws-ecs/test/json-file-log-driver.test.ts index b8a47e9306a84..f4609c11c238c 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/json-file-log-driver.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/json-file-log-driver.test.ts @@ -10,7 +10,6 @@ describe('json file log driver', () => { beforeEach(() => { stack = new cdk.Stack(); td = new ecs.Ec2TaskDefinition(stack, 'TaskDefinition'); - }); test('create a json-file log driver with options', () => { diff --git a/packages/aws-cdk-lib/aws-ecs/test/task-definition.test.ts b/packages/aws-cdk-lib/aws-ecs/test/task-definition.test.ts index fd2f460490bd8..ee4fecfecb044 100644 --- a/packages/aws-cdk-lib/aws-ecs/test/task-definition.test.ts +++ b/packages/aws-cdk-lib/aws-ecs/test/task-definition.test.ts @@ -436,7 +436,6 @@ describe('task definition', () => { Template.fromStack(stack).hasResourceProperties('AWS::ECS::TaskDefinition', { Memory: '512', }); - }); test('A task definition where task-level memory, container-level memory and memoryReservation are not defined throws an error', () => { @@ -505,7 +504,6 @@ describe('task definition', () => { expect(taskDefinition.taskDefinitionArn).toEqual(taskDefinitionArn); expect(taskDefinition.compatibility).toEqual(ecs.Compatibility.EC2_AND_FARGATE); expect(taskDefinition.executionRole).toEqual(undefined); - }); test('can import a Task Definition using attributes', () => { @@ -536,7 +534,6 @@ describe('task definition', () => { expect(taskDefinition.executionRole).toEqual(expectExecutionRole); expect(taskDefinition.networkMode).toEqual(expectNetworkMode); expect(taskDefinition.taskRole).toEqual(expectTaskRole); - }); test('returns an imported TaskDefinition that will throw an error when trying to access its yet to defined networkMode', () => { @@ -560,7 +557,6 @@ describe('task definition', () => { taskDefinition.networkMode; }).toThrow('This operation requires the networkMode in ImportedTaskDefinition to be defined. ' + 'Add the \'networkMode\' in ImportedTaskDefinitionProps to instantiate ImportedTaskDefinition'); - }); test('returns an imported TaskDefinition that will throw an error when trying to access its yet to defined taskRole', () => { @@ -582,7 +578,6 @@ describe('task definition', () => { taskDefinition.taskRole; }).toThrow('This operation requires the taskRole in ImportedTaskDefinition to be defined. ' + 'Add the \'taskRole\' in ImportedTaskDefinitionProps to instantiate ImportedTaskDefinition'); - }); }); diff --git a/packages/aws-cdk-lib/aws-efs/test/efs-file-system.test.ts b/packages/aws-cdk-lib/aws-efs/test/efs-file-system.test.ts index 4001e6ca06dec..58df6c997f62b 100644 --- a/packages/aws-cdk-lib/aws-efs/test/efs-file-system.test.ts +++ b/packages/aws-cdk-lib/aws-efs/test/efs-file-system.test.ts @@ -979,7 +979,6 @@ test('one zone file system with vpcSubnets.availabilityZones having 1 AZ.', () = Template.fromStack(stack).hasResourceProperties('AWS::EFS::FileSystem', { AvailabilityZoneName: 'us-east-1a', }); - }); test('one zone file system with vpcSubnets.availabilityZones having more than 1 AZ.', () => { diff --git a/packages/aws-cdk-lib/aws-eks/lib/aws-auth.ts b/packages/aws-cdk-lib/aws-eks/lib/aws-auth.ts index 7b3f600425c95..6c42413e19f5e 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/aws-auth.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/aws-auth.ts @@ -116,7 +116,6 @@ export class AwsAuth extends Construct { } private assertSameStack(construct: IConstruct) { - const thisStack = Stack.of(this); if (Stack.of(construct) !== thisStack) { diff --git a/packages/aws-cdk-lib/aws-eks/lib/cluster.ts b/packages/aws-cdk-lib/aws-eks/lib/cluster.ts index 267c5b9843ee2..733092b36ba6a 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/cluster.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/cluster.ts @@ -1132,7 +1132,6 @@ abstract class ClusterBase extends Resource implements ICluster { * @returns a `KubernetesManifest` construct representing the chart. */ public addCdk8sChart(id: string, chart: Construct, options: KubernetesManifestOptions = {}): KubernetesManifest { - const cdk8sChart = chart as any; // see https://github.com/awslabs/cdk8s/blob/master/packages/cdk8s/src/chart.ts#L84 @@ -1705,7 +1704,6 @@ export class Cluster extends ClusterBase { }); if (this.endpointAccess._config.privateAccess && privateSubnets.length !== 0) { - // when private access is enabled and the vpc has private subnets, lets connect // the provider to the vpc so that it will work even when restricting public access. @@ -1824,7 +1822,6 @@ export class Cluster extends ClusterBase { } this.defineCoreDnsComputeType(props.coreDnsComputeType ?? CoreDnsComputeType.EC2); - } /** @@ -1849,7 +1846,6 @@ export class Cluster extends ClusterBase { * @param options Additional operation options. */ public getServiceLoadBalancerAddress(serviceName: string, options: ServiceLoadBalancerAddressOptions = {}): string { - const loadBalancerAddress = new KubernetesObjectValue(this, `${serviceName}LoadBalancerAddress`, { cluster: this, objectType: 'service', @@ -1860,7 +1856,6 @@ export class Cluster extends ClusterBase { }); return loadBalancerAddress.value; - } /** @@ -1870,7 +1865,6 @@ export class Cluster extends ClusterBase { * @param options Additional operation options. */ public getIngressLoadBalancerAddress(ingressName: string, options: IngressLoadBalancerAddressOptions = {}): string { - const loadBalancerAddress = new KubernetesObjectValue(this, `${ingressName}LoadBalancerAddress`, { cluster: this, objectType: 'ingress', @@ -1881,7 +1875,6 @@ export class Cluster extends ClusterBase { }); return loadBalancerAddress.value; - } /** @@ -2120,9 +2113,7 @@ export class Cluster extends ClusterBase { const vpcPublicSubnetIds = this.vpc.publicSubnets.map(s => s.subnetId); for (const placement of this.vpcSubnets) { - for (const subnet of this.vpc.selectSubnets(placement).subnets) { - if (vpcPrivateSubnetIds.includes(subnet.subnetId)) { // definitely private, take it. privateSubnets.push(subnet); @@ -2139,7 +2130,6 @@ export class Cluster extends ClusterBase { // fail at deploy time :\ (its better than filtering it out and preventing a possibly successful deployment) privateSubnets.push(subnet); } - } return privateSubnets; diff --git a/packages/aws-cdk-lib/aws-eks/lib/k8s-manifest.ts b/packages/aws-cdk-lib/aws-eks/lib/k8s-manifest.ts index 2e5272274f073..3d75a449588e3 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/k8s-manifest.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/k8s-manifest.ts @@ -194,9 +194,7 @@ export class KubernetesManifest extends Construct { * @see https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/ */ private injectIngressAlbAnnotations(manifest: Record[], scheme: AlbScheme) { - for (const resource of manifest) { - // skip resource if it's not an object or if it does not have a "kind" if (typeof(resource) !== 'object' || !resource.kind) { continue; @@ -210,6 +208,5 @@ export class KubernetesManifest extends Construct { }; } } - } } diff --git a/packages/aws-cdk-lib/aws-eks/lib/k8s-object-value.ts b/packages/aws-cdk-lib/aws-eks/lib/k8s-object-value.ts index 0421c52a80ca6..d4f1aaa973be9 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/k8s-object-value.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/k8s-object-value.ts @@ -77,7 +77,6 @@ export class KubernetesObjectValue extends Construct { TimeoutSeconds: (props?.timeout ?? Duration.minutes(5)).toSeconds(), }, }); - } /** diff --git a/packages/aws-cdk-lib/aws-eks/lib/oidc-provider.ts b/packages/aws-cdk-lib/aws-eks/lib/oidc-provider.ts index d11b7fdff1eb8..0b1f86c2d2b13 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/oidc-provider.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/oidc-provider.ts @@ -41,7 +41,6 @@ export class OpenIdConnectProvider extends iam.OpenIdConnectProvider { * @param props Initialization properties */ public constructor(scope: Construct, id: string, props: OpenIdConnectProviderProps) { - const clientIds = ['sts.amazonaws.com']; super(scope, id, { diff --git a/packages/aws-cdk-lib/aws-eks/lib/service-account.ts b/packages/aws-cdk-lib/aws-eks/lib/service-account.ts index 6bfae59e1b952..0c5e6f3e25e04 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/service-account.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/service-account.ts @@ -177,7 +177,6 @@ export class ServiceAccount extends Construct implements IPrincipal { principal = new OpenIdConnectPrincipal(cluster.openIdConnectProvider).withConditions({ StringEquals: conditions, }); - } else { /** * Identity type is POD_IDENTITY. @@ -214,7 +213,6 @@ export class ServiceAccount extends Construct implements IPrincipal { roleArn: role.roleArn, serviceAccount: this.serviceAccountName, }); - } this.role = role; diff --git a/packages/aws-cdk-lib/aws-eks/lib/user-data.ts b/packages/aws-cdk-lib/aws-eks/lib/user-data.ts index 1271ec186903c..6c8d53e3126c9 100644 --- a/packages/aws-cdk-lib/aws-eks/lib/user-data.ts +++ b/packages/aws-cdk-lib/aws-eks/lib/user-data.ts @@ -4,7 +4,6 @@ import { Stack } from '../../core'; // eslint-disable-next-line max-len export function renderAmazonLinuxUserData(cluster: ICluster, autoScalingGroup: autoscaling.AutoScalingGroup, options: BootstrapOptions = {}): string[] { - const stack = Stack.of(autoScalingGroup); // determine logical id of ASG so we can signal cloudformation diff --git a/packages/aws-cdk-lib/aws-eks/test/access-entry.test.ts b/packages/aws-cdk-lib/aws-eks/test/access-entry.test.ts index 5fe74024a5531..0ae34b01d511b 100644 --- a/packages/aws-cdk-lib/aws-eks/test/access-entry.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/access-entry.test.ts @@ -134,5 +134,4 @@ describe('AccessEntry', () => { Template.fromStack(stack).resourceCountIs('AWS::EKS::AccessEntry', 0); }); - }); diff --git a/packages/aws-cdk-lib/aws-eks/test/access-policy.test.ts b/packages/aws-cdk-lib/aws-eks/test/access-policy.test.ts index f6f013636c5d8..66cb2e69e20c4 100644 --- a/packages/aws-cdk-lib/aws-eks/test/access-policy.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/access-policy.test.ts @@ -45,7 +45,6 @@ describe('AccessPolicy', () => { describe('constructor', () => { test('creates an AccessPolicy with the provided props', () => { - const accessPolicy = new AccessPolicy({ accessScope: { type: AccessScopeType.NAMESPACE, diff --git a/packages/aws-cdk-lib/aws-eks/test/alb-controller.test.ts b/packages/aws-cdk-lib/aws-eks/test/alb-controller.test.ts index 170a0cf1d1783..523059c20005a 100644 --- a/packages/aws-cdk-lib/aws-eks/test/alb-controller.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/alb-controller.test.ts @@ -46,11 +46,9 @@ test('all vended policies are valid', () => { if (addOn.startsWith('alb-iam_policy')) { const policy = JSON.parse(fs.readFileSync(path.join(addOnsDir, addOn)).toString()); try { - for (const statement of policy.Statement) { iam.PolicyStatement.fromJson(statement); } - } catch (error) { throw new Error(`Invalid policy: ${addOn}: ${error}`); } diff --git a/packages/aws-cdk-lib/aws-eks/test/cluster.test.ts b/packages/aws-cdk-lib/aws-eks/test/cluster.test.ts index 0e1b18b1a91db..350d0c9bf1460 100644 --- a/packages/aws-cdk-lib/aws-eks/test/cluster.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/cluster.test.ts @@ -547,7 +547,6 @@ describe('cluster', () => { const resource = new cdk.CfnResource(this, 'resource', { type: 'MyType' }); new eks.HelmChart(this, `chart-${id}`, { cluster: props.cluster, chart: resource.ref }); - } } @@ -1444,7 +1443,6 @@ describe('cluster', () => { }); describe('spot instances', () => { - test('nodes labeled an tainted accordingly', () => { // GIVEN const { app, stack } = testFixtureNoVpc(); @@ -3362,7 +3360,5 @@ describe('cluster', () => { }); }); - }); - }); diff --git a/packages/aws-cdk-lib/aws-eks/test/helm-chart.test.ts b/packages/aws-cdk-lib/aws-eks/test/helm-chart.test.ts index edd48511af95c..8522b8c28577c 100644 --- a/packages/aws-cdk-lib/aws-eks/test/helm-chart.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/helm-chart.test.ts @@ -233,7 +233,6 @@ describe('helm chart', () => { // THEN const charts = Template.fromStack(stack).findResources(eks.HelmChart.RESOURCE_TYPE, { Atomic: true }); expect(Object.keys(charts).length).toEqual(0); - }); test('should timeout only after 10 minutes', () => { diff --git a/packages/aws-cdk-lib/aws-eks/test/service-account.test.ts b/packages/aws-cdk-lib/aws-eks/test/service-account.test.ts index 316fa5b2e57c0..bbcf05d164ffb 100644 --- a/packages/aws-cdk-lib/aws-eks/test/service-account.test.ts +++ b/packages/aws-cdk-lib/aws-eks/test/service-account.test.ts @@ -390,7 +390,6 @@ describe('service account', () => { 'Pod Identity is not supported in Fargate. Use IRSA identity type instead.', ); }); - }); describe('Service Account with eks.IdentityType.IRSA', () => { test('default', () => { diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts index 0a83fa965acfb..774448b6dc861 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts @@ -170,7 +170,6 @@ export class ApplicationLoadBalancer extends BaseLoadBalancer implements IApplic */ public static fromApplicationLoadBalancerAttributes( scope: Construct, id: string, attrs: ApplicationLoadBalancerAttributes): IApplicationLoadBalancer { - return new ImportedApplicationLoadBalancer(scope, id, attrs); } diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/trust-store.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/trust-store.ts index 1e1fd4ba5d582..cb824717173fb 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/trust-store.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/alb/trust-store.ts @@ -107,7 +107,6 @@ export class TrustStore extends Resource implements ITrustStore { }); if (props.trustStoreName !== undefined && !Token.isUnresolved(props.trustStoreName)) { - if (props.trustStoreName.length < 1 || props.trustStoreName.length > 32) { throw new ValidationError(`trustStoreName '${props.trustStoreName}' must be 1-32 characters long.`, this); } @@ -115,7 +114,6 @@ export class TrustStore extends Resource implements ITrustStore { if (!validNameRegex.test(props.trustStoreName)) { throw new ValidationError(`trustStoreName '${props.trustStoreName}' must contain only alphanumeric characters and hyphens, and cannot begin or end with a hyphen.`, this); } - } const resource = new CfnTrustStore(this, 'Resource', { diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts index 4da3ec475e095..a812659be3b8d 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts @@ -172,7 +172,6 @@ export class NetworkTargetGroup extends TargetGroupBase implements INetworkTarge this.setAttribute('deregistration_delay.connection_termination.enabled', props.connectionTermination ? 'true' : 'false'); } this.addTarget(...(props.targets || [])); - } public get metrics(): INetworkTargetGroupMetrics { diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/conditions.test.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/conditions.test.ts index d24b2b0a979cd..e3644426da71e 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/conditions.test.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/conditions.test.ts @@ -1,7 +1,6 @@ import * as elbv2 from '../../lib'; describe('tests', () => { - test('pathPatterns length greater than 5 will throw exception', () => { // GIVEN const array = ['/u1', '/u2', '/u3', '/u4', '/u5']; @@ -14,7 +13,5 @@ describe('tests', () => { expect(() => { elbv2.ListenerCondition.pathPatterns(array); }).toThrow(/A rule can only have '5' condition values/); - }); - }); diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/listener.test.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/listener.test.ts index aad9b8b31c8a5..7a74ecabed853 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/listener.test.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/listener.test.ts @@ -1135,7 +1135,6 @@ describe('tests', () => { }); describeDeprecated('Throws with bad fixed responses', () => { - test('status code', () => { // GIVEN const stack = new cdk.Stack(); @@ -1173,7 +1172,6 @@ describe('tests', () => { }); describeDeprecated('Throws with bad redirect responses', () => { - test('status code', () => { // GIVEN const stack = new cdk.Stack(); @@ -2006,7 +2004,6 @@ describe('tests', () => { }), ).toThrow('Anomaly mitigation is only available when `loadBalancingAlgorithmType` is `TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`.'); }); - }); describe('Mutual Authentication', () => { @@ -2165,7 +2162,6 @@ describe('tests', () => { }).toThrow('You cannot set \'ignoreClientCertificateExpiry\' when \'mode\' is \'off\' or \'passthrough\''); }); }); - }); class ResourceWithLBDependency extends cdk.CfnResource { diff --git a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/load-balancer.test.ts b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/load-balancer.test.ts index 855b15f6cb6da..ca13496b7223d 100644 --- a/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/load-balancer.test.ts +++ b/packages/aws-cdk-lib/aws-elasticloadbalancingv2/test/alb/load-balancer.test.ts @@ -353,7 +353,6 @@ describe('tests', () => { }); describe('logAccessLogs', () => { - class ExtendedLB extends elbv2.ApplicationLoadBalancer { constructor(scope: Construct, id: string, vpc: ec2.IVpc) { super(scope, id, { vpc }); @@ -542,7 +541,6 @@ describe('tests', () => { // THEN // verify failure in case the access log bucket is encrypted with KMS expect(logAccessLogFunctionTest).toThrow('Encryption key detected. Bucket encryption using KMS keys is unsupported'); - }); test('access logging on imported bucket', () => { @@ -691,7 +689,6 @@ describe('tests', () => { }); describe('logConnectionLogs', () => { - class ExtendedLB extends elbv2.ApplicationLoadBalancer { constructor(scope: Construct, id: string, vpc: ec2.IVpc) { super(scope, id, { vpc }); @@ -880,7 +877,6 @@ describe('tests', () => { // THEN // verify failure in case the connection log bucket is encrypted with KMS expect(logConnectionLogFunctionTest).toThrow('Encryption key detected. Bucket encryption using KMS keys is unsupported'); - }); test('connection logging on imported bucket', () => { @@ -1286,7 +1282,6 @@ describe('tests', () => { crossZoneEnabled: false, }); }).toThrow('crossZoneEnabled cannot be false with Application Load Balancers.'); - }); }); diff --git a/packages/aws-cdk-lib/aws-elasticsearch/test/domain.test.ts b/packages/aws-cdk-lib/aws-elasticsearch/test/domain.test.ts index f4f6d4b2dd460..1b4e4691a93c1 100644 --- a/packages/aws-cdk-lib/aws-elasticsearch/test/domain.test.ts +++ b/packages/aws-cdk-lib/aws-elasticsearch/test/domain.test.ts @@ -32,7 +32,6 @@ const readWriteActions = [ ]; testDeprecated('connections throws if domain is placed inside a vpc', () => { - expect(() => { new Domain(stack, 'Domain', { version: ElasticsearchVersion.V7_1, @@ -41,7 +40,6 @@ testDeprecated('connections throws if domain is placed inside a vpc', () => { }); testDeprecated('subnets and security groups can be provided when vpc is used', () => { - const vpc = new Vpc(stack, 'Vpc'); const securityGroup = new SecurityGroup(stack, 'CustomSecurityGroup', { vpc, @@ -74,7 +72,6 @@ testDeprecated('subnets and security groups can be provided when vpc is used', ( }); testDeprecated('default subnets and security group when vpc is used', () => { - const vpc = new Vpc(stack, 'Vpc'); const domain = new Domain(stack, 'Domain', { version: ElasticsearchVersion.V7_10, @@ -118,7 +115,6 @@ testDeprecated('default removalpolicy is retain', () => { }); testDeprecated('grants kms permissions if needed', () => { - const key = new kms.Key(stack, 'Key'); new Domain(stack, 'Domain', { @@ -152,7 +148,6 @@ testDeprecated('grants kms permissions if needed', () => { const resources = Template.fromStack(stack).toJSON().Resources; expect(resources.AWS679f53fac002430cb0da5b7982bd2287ServiceRoleDefaultPolicyD28E1A5E.Properties.PolicyDocument).toStrictEqual(expectedPolicy); - }); testDeprecated('minimal example renders correctly', () => { @@ -263,7 +258,6 @@ testDeprecated('can set a self-referencing custom policy', () => { }); describe('UltraWarm instances', () => { - testDeprecated('can enable UltraWarm instances', () => { new Domain(stack, 'Domain', { version: ElasticsearchVersion.V7_1, @@ -302,7 +296,6 @@ describe('UltraWarm instances', () => { }, }); }); - }); testDeprecated('can use tokens in capacity configuration', () => { @@ -345,7 +338,6 @@ testDeprecated('can use tokens in capacity configuration', () => { }); describe('log groups', () => { - testDeprecated('slowSearchLogEnabled should create a custom log group', () => { new Domain(stack, 'Domain', { version: ElasticsearchVersion.V7_4, @@ -725,11 +717,9 @@ describe('log groups', () => { }, }); }); - }); describe('grants', () => { - testDeprecated('"grantRead" allows read actions associated with this domain resource', () => { testGrant(readActions, (p, d) => d.grantRead(p)); }); @@ -854,11 +844,9 @@ describe('grants', () => { ], }); }); - }); describe('metrics', () => { - testDeprecated('Can use metricClusterStatusRed on an Elasticsearch Domain', () => { testMetric( (domain) => domain.metricClusterStatusRed(), @@ -980,11 +968,9 @@ describe('metrics', () => { 'p99', ); }); - }); describe('import', () => { - testDeprecated('static fromDomainEndpoint(endpoint) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; @@ -1361,11 +1347,9 @@ describe('custom endpoints', () => { ], }); }); - }); describe('custom error responses', () => { - testDeprecated('error when availabilityZoneCount does not match vpcOptions.subnets length', () => { const vpc = new Vpc(stack, 'Vpc', { maxAzs: 1, @@ -1659,7 +1643,6 @@ describe('custom error responses', () => { }, })).toThrow(/Dedicated master node is required when UltraWarm storage is enabled/); }); - }); testDeprecated('can specify future version', () => { diff --git a/packages/aws-cdk-lib/aws-events-targets/lib/codebuild.ts b/packages/aws-cdk-lib/aws-events-targets/lib/codebuild.ts index d5b17b1d45635..c2b9a37edfe81 100644 --- a/packages/aws-cdk-lib/aws-events-targets/lib/codebuild.ts +++ b/packages/aws-cdk-lib/aws-events-targets/lib/codebuild.ts @@ -39,7 +39,6 @@ export class CodeBuildProject implements events.IRuleTarget { * Allows using build projects as event rule targets. */ public bind(_rule: events.IRule, _id?: string): events.RuleTargetConfig { - if (this.props.deadLetterQueue) { addToDeadLetterQueueResourcePolicy(_rule, this.props.deadLetterQueue); } diff --git a/packages/aws-cdk-lib/aws-events-targets/test/api-gateway/api-gateway.test.ts b/packages/aws-cdk-lib/aws-events-targets/test/api-gateway/api-gateway.test.ts index 81d99b5cee286..375e54644f102 100644 --- a/packages/aws-cdk-lib/aws-events-targets/test/api-gateway/api-gateway.test.ts +++ b/packages/aws-cdk-lib/aws-events-targets/test/api-gateway/api-gateway.test.ts @@ -244,7 +244,6 @@ test('Throw when the number of wild cards in the path not equal to the number of path: '/*/*', pathParameterValues: ['value1', 'value2'], }))).not.toThrow(); - }); test('with an explicit event role', () => { diff --git a/packages/aws-cdk-lib/aws-events-targets/test/appsync/appsync.test.ts b/packages/aws-cdk-lib/aws-events-targets/test/appsync/appsync.test.ts index 2f39601887219..6b4859d90dc7e 100644 --- a/packages/aws-cdk-lib/aws-events-targets/test/appsync/appsync.test.ts +++ b/packages/aws-cdk-lib/aws-events-targets/test/appsync/appsync.test.ts @@ -141,7 +141,6 @@ describe('AppSync GraphQL API target', () => { })); }).toThrow('Your API visibility must be "GLOBAL"'); }); - }); describe('AppSync API with AWS_IAM auth', () => { @@ -157,7 +156,6 @@ describe('AppSync API with AWS_IAM auth', () => { }); test('use AppSync GraphQL API as an event rule target', () => { - const rule = new events.Rule(stack, 'Rule', { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); @@ -193,7 +191,6 @@ describe('AppSync API with AWS_IAM auth', () => { }); test('use a Dead Letter Queue', () => { - const rule = new events.Rule(stack, 'Rule', { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); @@ -227,7 +224,6 @@ describe('AppSync API with AWS_IAM auth', () => { }); test('when no mutation fields provided, grant access to Mutations only', () => { - const rule = new events.Rule(stack, 'Rule', { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); @@ -305,7 +301,6 @@ describe('AppSync API with AWS_IAM auth', () => { }); test('a role is provided', () => { - const rule = new events.Rule(stack, 'Rule', { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); @@ -346,7 +341,6 @@ describe('AppSync API with AWS_IAM auth', () => { }); test('a role is not provided', () => { - const rule = new events.Rule(stack, 'Rule', { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); @@ -389,7 +383,5 @@ describe('AppSync API with AWS_IAM auth', () => { ], }, }); - }); - }); diff --git a/packages/aws-cdk-lib/aws-events/lib/connection.ts b/packages/aws-cdk-lib/aws-events/lib/connection.ts index 08f4a2e21d950..7d1050d825bd1 100644 --- a/packages/aws-cdk-lib/aws-events/lib/connection.ts +++ b/packages/aws-cdk-lib/aws-events/lib/connection.ts @@ -124,7 +124,6 @@ export abstract class Authorization { }; } }(); - } /** diff --git a/packages/aws-cdk-lib/aws-events/lib/util.ts b/packages/aws-cdk-lib/aws-events/lib/util.ts index b280f2a800866..c302c798ecc45 100644 --- a/packages/aws-cdk-lib/aws-events/lib/util.ts +++ b/packages/aws-cdk-lib/aws-events/lib/util.ts @@ -19,7 +19,6 @@ export function mergeEventPattern(dest: any, src: any) { } for (const field of Object.keys(srcObj)) { - const srcValue = srcObj[field]; const destValue = destObj[field]; diff --git a/packages/aws-cdk-lib/aws-events/test/event-bus.test.ts b/packages/aws-cdk-lib/aws-events/test/event-bus.test.ts index bc48153cf9ee1..0e35b84240bf2 100644 --- a/packages/aws-cdk-lib/aws-events/test/event-bus.test.ts +++ b/packages/aws-cdk-lib/aws-events/test/event-bus.test.ts @@ -777,5 +777,4 @@ describe('event bus', () => { }, }); }); - }); diff --git a/packages/aws-cdk-lib/aws-fsx/lib/lustre-file-system.ts b/packages/aws-cdk-lib/aws-fsx/lib/lustre-file-system.ts index 946e870c1b4a3..87080d4060407 100644 --- a/packages/aws-cdk-lib/aws-fsx/lib/lustre-file-system.ts +++ b/packages/aws-cdk-lib/aws-fsx/lib/lustre-file-system.ts @@ -582,6 +582,5 @@ export class LustreFileSystem extends FileSystemBase { if (dailyAutomaticBackupStartTime && automaticBackupDisabled) { throw new Error('automaticBackupRetention period must be set a non-zero day when dailyAutomaticBackupStartTime is set'); } - } } diff --git a/packages/aws-cdk-lib/aws-fsx/test/lustre-file-system.test.ts b/packages/aws-cdk-lib/aws-fsx/test/lustre-file-system.test.ts index 94a4302270adf..9e02c3f7c78f9 100644 --- a/packages/aws-cdk-lib/aws-fsx/test/lustre-file-system.test.ts +++ b/packages/aws-cdk-lib/aws-fsx/test/lustre-file-system.test.ts @@ -354,7 +354,6 @@ describe('FSx for Lustre File System', () => { }); test('autoImportPath requires importPath', () => { - lustreConfiguration = { deploymentType: LustreDeploymentType.PERSISTENT_1, autoImportPolicy: LustreAutoImportPolicy.NEW_CHANGED_DELETED, diff --git a/packages/aws-cdk-lib/aws-globalaccelerator/lib/_accelerator-security-group.ts b/packages/aws-cdk-lib/aws-globalaccelerator/lib/_accelerator-security-group.ts index f7863a40bf71b..601b0b34fcf77 100644 --- a/packages/aws-cdk-lib/aws-globalaccelerator/lib/_accelerator-security-group.ts +++ b/packages/aws-cdk-lib/aws-globalaccelerator/lib/_accelerator-security-group.ts @@ -20,7 +20,6 @@ export class AcceleratorSecurityGroupPeer implements ec2.IPeer { * to other resources created by CDK. */ public static fromVpc(scope: Construct, id: string, vpc: ec2.IVpc, endpointGroup: EndpointGroup) { - // The security group name is always 'GlobalAccelerator' const globalAcceleratorSGName = 'GlobalAccelerator'; diff --git a/packages/aws-cdk-lib/aws-iam/lib/private/postprocess-policy-document.ts b/packages/aws-cdk-lib/aws-iam/lib/private/postprocess-policy-document.ts index acddeb6005093..047cdcc165d46 100644 --- a/packages/aws-cdk-lib/aws-iam/lib/private/postprocess-policy-document.ts +++ b/packages/aws-cdk-lib/aws-iam/lib/private/postprocess-policy-document.ts @@ -86,7 +86,6 @@ export function normalizeStatement(s: StatementSchema) { }); function _norm(values: any, { unique = false }: { unique: boolean } = { unique: false }) { - if (values == null) { return undefined; } diff --git a/packages/aws-cdk-lib/aws-iam/test/access-key.test.ts b/packages/aws-cdk-lib/aws-iam/test/access-key.test.ts index 161d6dd2fb59d..0e77d17f4f4f2 100644 --- a/packages/aws-cdk-lib/aws-iam/test/access-key.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/access-key.test.ts @@ -75,5 +75,4 @@ describe('IAM Access keys', () => { 'Fn::GetAtt': ['MyAccessKeyF0FFBE2E', 'SecretAccessKey'], }); }); - }); diff --git a/packages/aws-cdk-lib/aws-iam/test/cross-account.test.ts b/packages/aws-cdk-lib/aws-iam/test/cross-account.test.ts index e23a873c9a8db..70e468b77bb08 100644 --- a/packages/aws-cdk-lib/aws-iam/test/cross-account.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/cross-account.test.ts @@ -157,7 +157,6 @@ test('Immutable role in same account adds no policy and no trust', () => { // THEN noTrustCreated(stack2); noPolicyCreated(stack2); - }); class FakeResource extends cdk.Resource implements iam.IResourceWithPolicy { diff --git a/packages/aws-cdk-lib/aws-iam/test/immutable-role.test.ts b/packages/aws-cdk-lib/aws-iam/test/immutable-role.test.ts index 0162374afe39e..ea51223526432 100644 --- a/packages/aws-cdk-lib/aws-iam/test/immutable-role.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/immutable-role.test.ts @@ -139,7 +139,6 @@ describe('ImmutableRole', () => { }); test('ignores grants', () => { - iam.Grant.addToPrincipal({ grantee: immutableRole, actions: ['s3:*'], diff --git a/packages/aws-cdk-lib/aws-iam/test/oidc-provider.test.ts b/packages/aws-cdk-lib/aws-iam/test/oidc-provider.test.ts index e1fa4ffbf4eae..8f4de31df6e24 100644 --- a/packages/aws-cdk-lib/aws-iam/test/oidc-provider.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/oidc-provider.test.ts @@ -5,7 +5,6 @@ import * as iam from '../lib'; const arnOfProvider = 'arn:aws:iam::1234567:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/someid'; describe('OpenIdConnectProvider resource', () => { - test('minimal configuration (no clients and no thumbprint)', () => { // GIVEN const stack = new Stack(); @@ -86,11 +85,9 @@ describe('OpenIdConnectProvider resource', () => { ThumbprintList: ['thumb1'], }); }); - }); describe('custom resource provider infrastructure', () => { - test('two resources share the same cr provider', () => { // GIVEN const app = new App(); diff --git a/packages/aws-cdk-lib/aws-iam/test/policy-document.test.ts b/packages/aws-cdk-lib/aws-iam/test/policy-document.test.ts index 2cf20950bab70..42665ab260876 100644 --- a/packages/aws-cdk-lib/aws-iam/test/policy-document.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/policy-document.test.ts @@ -482,7 +482,6 @@ describe('IAM policy document', () => { }); describe('CompositePrincipal can be used to represent a principal that has multiple types', () => { - test('with a single principal', () => { const stack = new Stack(); const p = new CompositePrincipal(new ArnPrincipal('i:am:an:arn')); @@ -522,7 +521,6 @@ describe('IAM policy document', () => { }); test('conditions are not allowed when used in a single statement', () => { - expect(() => { new PolicyStatement({ actions: ['s3:test'], @@ -723,7 +721,6 @@ describe('IAM policy document', () => { }); describe('duplicate statements', () => { - test('without tokens', () => { // GIVEN const stack = new Stack(); @@ -830,7 +827,6 @@ describe('IAM policy document', () => { }); }).toThrow(/Statement must be an array/); }); - }); test('adding another condition with the same operator does not delete the original', () => { diff --git a/packages/aws-cdk-lib/aws-iam/test/policy-statement.test.ts b/packages/aws-cdk-lib/aws-iam/test/policy-statement.test.ts index 09304a2a55a32..322ac286e045a 100644 --- a/packages/aws-cdk-lib/aws-iam/test/policy-statement.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/policy-statement.test.ts @@ -2,7 +2,6 @@ import { Stack } from '../../core'; import { AnyPrincipal, Group, PolicyDocument, PolicyStatement, Effect } from '../lib'; describe('IAM policy statement', () => { - describe('from JSON', () => { test('parses with no principal', () => { // given @@ -81,7 +80,6 @@ describe('IAM policy statement', () => { const doc2 = PolicyDocument.fromJson(doc1.toJSON()); expect(stack.resolve(doc2)).toEqual(stack.resolve(doc1)); - }); test('parses with notAction', () => { @@ -97,7 +95,6 @@ describe('IAM policy statement', () => { const doc2 = PolicyDocument.fromJson(doc1.toJSON()); expect(stack.resolve(doc2)).toEqual(stack.resolve(doc1)); - }); test('parses with notActions', () => { @@ -113,7 +110,6 @@ describe('IAM policy statement', () => { const doc2 = PolicyDocument.fromJson(doc1.toJSON()); expect(stack.resolve(doc2)).toEqual(stack.resolve(doc1)); - }); test('parses with notResource', () => { @@ -129,7 +125,6 @@ describe('IAM policy statement', () => { const doc2 = PolicyDocument.fromJson(doc1.toJSON()); expect(stack.resolve(doc2)).toEqual(stack.resolve(doc1)); - }); test('parses with notResources', () => { @@ -145,7 +140,6 @@ describe('IAM policy statement', () => { const doc2 = PolicyDocument.fromJson(doc1.toJSON()); expect(stack.resolve(doc2)).toEqual(stack.resolve(doc1)); - }); test('the kitchen sink', () => { diff --git a/packages/aws-cdk-lib/aws-iam/test/principals.test.ts b/packages/aws-cdk-lib/aws-iam/test/principals.test.ts index 16ec4120f74b8..1b67bc843c64f 100644 --- a/packages/aws-cdk-lib/aws-iam/test/principals.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/principals.test.ts @@ -397,7 +397,6 @@ describe('standardized Service Principal behavior', () => { const stack = new Stack(app, 'Stack', { env: { region: 'af-south-1' } }); expect(stack.resolve(afSouth1StatesPrincipal.policyFragment).principalJson).toEqual({ Service: ['states.amazonaws.com'] }); }); - }); test('Can enable session tags', () => { diff --git a/packages/aws-cdk-lib/aws-iam/test/role.test.ts b/packages/aws-cdk-lib/aws-iam/test/role.test.ts index f3fed615f783b..5069ad77312d4 100644 --- a/packages/aws-cdk-lib/aws-iam/test/role.test.ts +++ b/packages/aws-cdk-lib/aws-iam/test/role.test.ts @@ -530,7 +530,6 @@ describe('IAM role', () => { }, ], }); - }); test('managed policy arns can be supplied upon initialization and also added later', () => { @@ -565,7 +564,6 @@ describe('IAM role', () => { }, }, }); - }); test('federated principal can change AssumeRoleAction', () => { @@ -661,7 +659,6 @@ describe('IAM role', () => { }); describe('maxSessionDuration', () => { - test('is not specified by default', () => { const stack = new Stack(); new Role(stack, 'MyRole', { assumedBy: new ServicePrincipal('sns.amazonaws.com') }); @@ -1183,7 +1180,6 @@ describe('permissions boundary', () => { }, }); }); - }); test('managed policy ARNs are deduplicated', () => { @@ -1406,7 +1402,6 @@ describe('roleName validation', () => { }).toThrow('Invalid roleName'); }); }); - }); test('roleName validation with Tokens', () =>{ diff --git a/packages/aws-cdk-lib/aws-kinesis/lib/kinesis-fixed-canned-metrics.ts b/packages/aws-cdk-lib/aws-kinesis/lib/kinesis-fixed-canned-metrics.ts index aaeaee12bcec8..c5c650d07e534 100644 --- a/packages/aws-cdk-lib/aws-kinesis/lib/kinesis-fixed-canned-metrics.ts +++ b/packages/aws-cdk-lib/aws-kinesis/lib/kinesis-fixed-canned-metrics.ts @@ -131,7 +131,6 @@ export class KinesisMetrics { ...CannedMetrics.incomingRecordsSum(dimensions), statistic: 'Average', }; - } public static readProvisionedThroughputExceededAverage(dimensions: { StreamName: string }) { return { diff --git a/packages/aws-cdk-lib/aws-kinesis/lib/stream.ts b/packages/aws-cdk-lib/aws-kinesis/lib/stream.ts index b97e8b3832517..72d266b0e577d 100644 --- a/packages/aws-cdk-lib/aws-kinesis/lib/stream.ts +++ b/packages/aws-cdk-lib/aws-kinesis/lib/stream.ts @@ -862,10 +862,8 @@ export class Stream extends StreamBase { streamEncryption?: CfnStream.StreamEncryptionProperty | IResolvable; encryptionKey?: kms.IKey; } { - // if encryption properties are not set, default to KMS in regions where KMS is available if (!props.encryption && !props.encryptionKey) { - const conditionName = 'AwsCdkKinesisEncryptedStreamsUnsupportedRegions'; const existing = Stack.of(this).node.tryFindChild(conditionName); diff --git a/packages/aws-cdk-lib/aws-kms/test/key.test.ts b/packages/aws-cdk-lib/aws-kms/test/key.test.ts index e5c982b14172c..038818d74ce9a 100644 --- a/packages/aws-cdk-lib/aws-kms/test/key.test.ts +++ b/packages/aws-cdk-lib/aws-kms/test/key.test.ts @@ -780,7 +780,6 @@ describe('imported keys', () => { expect(() => { kms.Key.fromKeyArn(stack, 'Imported', 'arn:aws:kms:us-east-1:123456789012:key'); }).toThrow(/KMS key ARN must be in the format 'arn::kms:::key\/', got: 'arn:aws:kms:us-east-1:123456789012:key'/); - }); test('can have aliases added to them', () => { @@ -1132,7 +1131,6 @@ describe('addToResourcePolicy allowNoOp and there is no policy', () => { 'arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012'); key.addToResourcePolicy(new iam.PolicyStatement({ resources: ['*'], actions: ['*'] })); - }); test('fails if set to false', () => { @@ -1143,7 +1141,6 @@ describe('addToResourcePolicy allowNoOp and there is no policy', () => { expect(() => { key.addToResourcePolicy(new iam.PolicyStatement({ resources: ['*'], actions: ['*'] }), /* allowNoOp */ false); }).toThrow('Unable to add statement to IAM resource policy for KMS key: "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"'); - }); }); diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/lib/kafka.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/lib/kafka.ts index e51570d63f80c..1e82f0533df0e 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/lib/kafka.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/lib/kafka.ts @@ -241,7 +241,6 @@ export class SelfManagedKafkaEventSource extends StreamEventSource { throw new Error('secret must be set if Kafka brokers accessed over Internet'); } this.innerProps = props; - } public bind(target: lambda.IFunction) { diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/api.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/api.test.ts index 8d9f57704dd04..bdd828149955d 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/api.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/api.test.ts @@ -26,7 +26,6 @@ describe('ApiEventSource', () => { HttpMethod: 'GET', ResourceId: { Ref: 'MyFuncApiEventSourceA7A86A4FfooCA6F87E4' }, }); - }); test('disjoint routes', () => { @@ -62,7 +61,6 @@ describe('ApiEventSource', () => { HttpMethod: 'POST', ResourceId: { Ref: 'MyFuncApiEventSourceA7A86A4FbarDFB0F21B' }, }); - }); test('tree of routes', () => { @@ -99,6 +97,5 @@ describe('ApiEventSource', () => { HttpMethod: 'POST', ResourceId: { Ref: 'MyFuncApiEventSourceA7A86A4Ffoobar028FFFDE' }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/dynamo.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/dynamo.test.ts index 2a4a9833088ab..54f77ee1a6ddc 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/dynamo.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/dynamo.test.ts @@ -73,7 +73,6 @@ describe('DynamoEventSource', () => { 'BatchSize': 100, 'StartingPosition': 'TRIM_HORIZON', }); - }); test('specific tumblingWindow', () => { @@ -99,7 +98,6 @@ describe('DynamoEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { TumblingWindowInSeconds: 60, }); - }); test('specific batch size', () => { @@ -134,7 +132,6 @@ describe('DynamoEventSource', () => { 'BatchSize': 5000, 'StartingPosition': 'LATEST', }); - }); test('pass validation if batchsize is token', () => { @@ -176,7 +173,6 @@ describe('DynamoEventSource', () => { }, 'StartingPosition': 'LATEST', }); - }); test('fails if streaming not enabled on table', () => { @@ -195,7 +191,6 @@ describe('DynamoEventSource', () => { batchSize: 50, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/DynamoDB Streams must be enabled on the table Default\/T/); - }); test('fails if batch size < 1', () => { @@ -215,7 +210,6 @@ describe('DynamoEventSource', () => { batchSize: 0, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/Maximum batch size must be between 1 and 10000 inclusive \(given 0\)/); - }); test('fails if batch size > 10000', () => { @@ -235,7 +229,6 @@ describe('DynamoEventSource', () => { batchSize: 10001, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/Maximum batch size must be between 1 and 10000 inclusive \(given 10001\)/); - }); test('adding filter criteria', () => { @@ -443,7 +436,6 @@ describe('DynamoEventSource', () => { 'MaximumBatchingWindowInSeconds': 120, 'StartingPosition': 'LATEST', }); - }); test('throws if maxBatchingWindow > 300 seconds', () => { @@ -464,7 +456,6 @@ describe('DynamoEventSource', () => { maxBatchingWindow: cdk.Duration.seconds(301), startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/maxBatchingWindow cannot be over 300 seconds/); - }); test('contains eventSourceMappingId after lambda binding', () => { @@ -487,7 +478,6 @@ describe('DynamoEventSource', () => { // THEN expect(eventSource.eventSourceMappingId).toBeDefined(); - }); test('contains eventSourceMappingArn after lambda binding', () => { @@ -510,7 +500,6 @@ describe('DynamoEventSource', () => { // THEN expect(eventSource.eventSourceMappingArn).toBeDefined(); - }); test('eventSourceMappingId throws error before binding to lambda', () => { @@ -529,7 +518,6 @@ describe('DynamoEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingId).toThrow(/DynamoEventSource is not yet bound to an event source mapping/); - }); test('eventSourceMappingArn throws error before binding to lambda', () => { @@ -548,7 +536,6 @@ describe('DynamoEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingArn).toThrow(/DynamoEventSource is not yet bound to an event source mapping/); - }); test('specific retryAttempts', () => { @@ -583,7 +570,6 @@ describe('DynamoEventSource', () => { 'MaximumRetryAttempts': 10, 'StartingPosition': 'LATEST', }); - }); test('fails if retryAttempts < 0', () => { @@ -604,7 +590,6 @@ describe('DynamoEventSource', () => { retryAttempts: -1, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/retryAttempts must be between 0 and 10000 inclusive, got -1/); - }); test('fails if retryAttempts > 10000', () => { @@ -625,7 +610,6 @@ describe('DynamoEventSource', () => { retryAttempts: 10001, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/retryAttempts must be between 0 and 10000 inclusive, got 10001/); - }); test('specific bisectBatchOnFunctionError', () => { @@ -660,7 +644,6 @@ describe('DynamoEventSource', () => { 'BisectBatchOnFunctionError': true, 'StartingPosition': 'LATEST', }); - }); test('specific parallelizationFactor', () => { @@ -695,7 +678,6 @@ describe('DynamoEventSource', () => { 'ParallelizationFactor': 5, 'StartingPosition': 'LATEST', }); - }); test('fails if parallelizationFactor < 1', () => { @@ -716,7 +698,6 @@ describe('DynamoEventSource', () => { parallelizationFactor: 0, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/parallelizationFactor must be between 1 and 10 inclusive, got 0/); - }); test('fails if parallelizationFactor > 10', () => { @@ -737,7 +718,6 @@ describe('DynamoEventSource', () => { parallelizationFactor: 11, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/parallelizationFactor must be between 1 and 10 inclusive, got 11/); - }); test('specific maxRecordAge', () => { @@ -772,7 +752,6 @@ describe('DynamoEventSource', () => { 'MaximumRecordAgeInSeconds': 100, 'StartingPosition': 'LATEST', }); - }); test('fails if maxRecordAge < 60 seconds', () => { @@ -793,7 +772,6 @@ describe('DynamoEventSource', () => { maxRecordAge: cdk.Duration.seconds(59), startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/maxRecordAge must be between 60 seconds and 7 days inclusive/); - }); test('fails if maxRecordAge > 7 days', () => { @@ -814,7 +792,6 @@ describe('DynamoEventSource', () => { maxRecordAge: cdk.Duration.seconds(604801), startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/maxRecordAge must be between 60 seconds and 7 days inclusive/); - }); test('specific destinationConfig', () => { @@ -860,7 +837,6 @@ describe('DynamoEventSource', () => { }, 'StartingPosition': 'LATEST', }); - }); test('specific functionResponseTypes', () => { @@ -895,7 +871,6 @@ describe('DynamoEventSource', () => { 'StartingPosition': 'LATEST', 'FunctionResponseTypes': ['ReportBatchItemFailures'], }); - }); test('event source disabled', () => { @@ -920,7 +895,6 @@ describe('DynamoEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { 'Enabled': false, }); - }); test('S3 onFailure Destination raise unsupport error', () => { @@ -947,7 +921,6 @@ describe('DynamoEventSource', () => { })); // THEN }).toThrow('S3 onFailure Destination is not supported for this event source'); - }); test('filter on boolean', () => { diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/kafka.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/kafka.test.ts index 5775a8ad1507f..b654215cf917d 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/kafka.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/kafka.test.ts @@ -60,7 +60,6 @@ describe('KafkaEventSource', () => { kafkaTopic, ], }); - }); test('with secret', () => { // GIVEN @@ -132,7 +131,6 @@ describe('KafkaEventSource', () => { }, ], }); - }); test('with filters', () => { @@ -475,7 +473,6 @@ describe('KafkaEventSource', () => { }, ], }); - }); test('with filters', () => { @@ -581,7 +578,6 @@ describe('KafkaEventSource', () => { startingPosition: lambda.StartingPosition.TRIM_HORIZON, })); }).toThrow(/secret must be set/); - }); test('with s3 onFailure Destination', () => { @@ -671,7 +667,6 @@ describe('KafkaEventSource', () => { }, ], }); - }); test('with secret', () => { // GIVEN @@ -759,7 +754,6 @@ describe('KafkaEventSource', () => { }, ], }); - }); test('setting vpc requires vpcSubnets to be set', () => { const stack = new cdk.Stack(); @@ -781,7 +775,6 @@ describe('KafkaEventSource', () => { })); }).toThrow(/vpcSubnets must be set/); - }); test('setting vpc requires securityGroup to be set', () => { @@ -803,7 +796,6 @@ describe('KafkaEventSource', () => { vpcSubnets: { subnetType: SubnetType.PRIVATE_WITH_EGRESS }, })); }).toThrow(/securityGroup must be set/); - }); }); @@ -1046,11 +1038,9 @@ describe('KafkaEventSource', () => { template.hasResourceProperties('AWS::Lambda::EventSourceMapping', { SelfManagedKafkaEventSourceConfig: { ConsumerGroupId: consumerGroupId }, }); - }); test('consumerGroupId can be set for ManagedKafkaEventSource', () => { - // GIVEN const stack = new cdk.Stack(); const fn = new TestFunction(stack, 'Fn'); @@ -1075,7 +1065,6 @@ describe('KafkaEventSource', () => { template.hasResourceProperties('AWS::Lambda::EventSourceMapping', { AmazonManagedKafkaEventSourceConfig: { ConsumerGroupId: consumerGroupId }, }); - }); test('ManagedKafkaEventSource name conforms to construct id rules', () => { diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/kinesis.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/kinesis.test.ts index 381c750dfe342..3e619f6c25997 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/kinesis.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/kinesis.test.ts @@ -75,7 +75,6 @@ describe('KinesisEventSource', () => { 'BatchSize': 100, 'StartingPosition': 'TRIM_HORIZON', }); - }); test('specific tumblingWindowInSeconds', () => { @@ -106,7 +105,6 @@ describe('KinesisEventSource', () => { 'StartingPosition': 'LATEST', 'TumblingWindowInSeconds': 60, }); - }); test('specific batch size', () => { @@ -135,7 +133,6 @@ describe('KinesisEventSource', () => { 'BatchSize': 50, 'StartingPosition': 'LATEST', }); - }); test('fails if batch size < 1', () => { @@ -149,7 +146,6 @@ describe('KinesisEventSource', () => { batchSize: 0, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/Maximum batch size must be between 1 and 10000 inclusive \(given 0\)/); - }); test('fails if batch size > 10000', () => { @@ -163,7 +159,6 @@ describe('KinesisEventSource', () => { batchSize: 10001, startingPosition: lambda.StartingPosition.LATEST, }))).toThrow(/Maximum batch size must be between 1 and 10000 inclusive \(given 10001\)/); - }); test('accepts if batch size is a token', () => { @@ -177,7 +172,6 @@ describe('KinesisEventSource', () => { batchSize: cdk.Lazy.number({ produce: () => 10 }), startingPosition: lambda.StartingPosition.LATEST, })); - }); test('specific maxBatchingWindow', () => { @@ -206,7 +200,6 @@ describe('KinesisEventSource', () => { 'MaximumBatchingWindowInSeconds': 120, 'StartingPosition': 'LATEST', }); - }); test('contains eventSourceMappingId after lambda binding', () => { @@ -223,7 +216,6 @@ describe('KinesisEventSource', () => { // THEN expect(eventSource.eventSourceMappingId).toBeDefined(); - }); test('contains eventSourceMappingArn after lambda binding', () => { @@ -240,7 +232,6 @@ describe('KinesisEventSource', () => { // THEN expect(eventSource.eventSourceMappingArn).toBeDefined(); - }); test('eventSourceMappingId throws error before binding to lambda', () => { @@ -253,7 +244,6 @@ describe('KinesisEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingId).toThrow(/KinesisEventSource is not yet bound to an event source mapping/); - }); test('eventSourceMappingArn throws error before binding to lambda', () => { @@ -266,7 +256,6 @@ describe('KinesisEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingArn).toThrow(/KinesisEventSource is not yet bound to an event source mapping/); - }); test('event source disabled', () => { @@ -286,7 +275,6 @@ describe('KinesisEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { 'Enabled': false, }); - }); test('AT_TIMESTAMP starting position', () => { @@ -328,7 +316,6 @@ describe('KinesisEventSource', () => { })); // THEN }).toThrow('S3 onFailure Destination is not supported for this event source'); - }); test('metrics config', () => { diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/sns.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/sns.test.ts index 28e8a48119e86..8d5c16b27493b 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/sns.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/sns.test.ts @@ -44,7 +44,6 @@ describe('SNSEventSource', () => { 'Ref': 'TD925BC7E', }, }); - }); test('props are passed to subscription', () => { @@ -106,6 +105,5 @@ describe('SNSEventSource', () => { }, }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-lambda-event-sources/test/sqs.test.ts b/packages/aws-cdk-lib/aws-lambda-event-sources/test/sqs.test.ts index 9e47bbd0b40dd..0143b05a1019d 100644 --- a/packages/aws-cdk-lib/aws-lambda-event-sources/test/sqs.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-event-sources/test/sqs.test.ts @@ -56,7 +56,6 @@ describe('SQSEventSource', () => { 'Ref': 'Fn9270CBC0', }, }); - }); test('specific batch size', () => { @@ -83,7 +82,6 @@ describe('SQSEventSource', () => { }, 'BatchSize': 5, }); - }); test('unresolved batch size', () => { @@ -106,7 +104,6 @@ describe('SQSEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { 'BatchSize': 500, }); - }); test('fails if batch size is < 1', () => { @@ -119,7 +116,6 @@ describe('SQSEventSource', () => { expect(() => fn.addEventSource(new sources.SqsEventSource(q, { batchSize: 0, }))).toThrow(/Maximum batch size must be between 1 and 10 inclusive \(given 0\) when batching window is not specified\./); - }); test('fails if batch size is > 10', () => { @@ -132,7 +128,6 @@ describe('SQSEventSource', () => { expect(() => fn.addEventSource(new sources.SqsEventSource(q, { batchSize: 11, }))).toThrow(/Maximum batch size must be between 1 and 10 inclusive \(given 11\) when batching window is not specified\./); - }); test('batch size is > 10 and batch window is defined', () => { @@ -152,7 +147,6 @@ describe('SQSEventSource', () => { 'BatchSize': 1000, 'MaximumBatchingWindowInSeconds': 300, }); - }); test('fails if batch size is > 10000 and batch window is defined', () => { @@ -166,7 +160,6 @@ describe('SQSEventSource', () => { batchSize: 11000, maxBatchingWindow: cdk.Duration.minutes(5), }))).toThrow(/Maximum batch size must be between 1 and 10000 inclusive/i); - }); test('specific batch window', () => { @@ -184,7 +177,6 @@ describe('SQSEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { 'MaximumBatchingWindowInSeconds': 300, }); - }); test('fails if batch window defined for FIFO queue', () => { @@ -199,7 +191,6 @@ describe('SQSEventSource', () => { expect(() => fn.addEventSource(new sources.SqsEventSource(q, { maxBatchingWindow: cdk.Duration.minutes(5), }))).toThrow(/Batching window is not supported for FIFO queues/); - }); test('fails if batch window is > 5', () => { @@ -212,7 +203,6 @@ describe('SQSEventSource', () => { expect(() => fn.addEventSource(new sources.SqsEventSource(q, { maxBatchingWindow: cdk.Duration.minutes(7), }))).toThrow(/Maximum batching window must be 300 seconds or less/i); - }); test('contains eventSourceMappingId after lambda binding', () => { @@ -227,7 +217,6 @@ describe('SQSEventSource', () => { // THEN expect(eventSource.eventSourceMappingId).toBeDefined(); - }); test('contains eventSourceMappingArn after lambda binding', () => { @@ -242,7 +231,6 @@ describe('SQSEventSource', () => { // THEN expect(eventSource.eventSourceMappingArn).toBeDefined(); - }); test('eventSourceMappingId throws error before binding to lambda', () => { @@ -253,7 +241,6 @@ describe('SQSEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingId).toThrow(/SqsEventSource is not yet bound to an event source mapping/); - }); test('eventSourceMappingArn throws error before binding to lambda', () => { @@ -264,7 +251,6 @@ describe('SQSEventSource', () => { // WHEN/THEN expect(() => eventSource.eventSourceMappingArn).toThrow(/SqsEventSource is not yet bound to an event source mapping/); - }); test('event source disabled', () => { @@ -282,7 +268,6 @@ describe('SQSEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { 'Enabled': false, }); - }); test('reportBatchItemFailures', () => { @@ -553,7 +538,6 @@ describe('SQSEventSource', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::EventSourceMapping', { ScalingConfig: { MaximumConcurrency: 5 }, }); - }); test('fails if maxConcurrency > 1001', () => { diff --git a/packages/aws-cdk-lib/aws-lambda-nodejs/lib/util.ts b/packages/aws-cdk-lib/aws-lambda-nodejs/lib/util.ts index d24ca2201e843..e8c393bfaaebd 100644 --- a/packages/aws-cdk-lib/aws-lambda-nodejs/lib/util.ts +++ b/packages/aws-cdk-lib/aws-lambda-nodejs/lib/util.ts @@ -166,7 +166,6 @@ export function getTsconfigCompilerOptions(tsconfigPath: string): string { let compilerOptionsString = ''; Object.keys(options).sort().forEach((key: string) => { - if (excludedCompilerOptions.includes(key)) { return; } diff --git a/packages/aws-cdk-lib/aws-lambda-nodejs/test/bundling.test.ts b/packages/aws-cdk-lib/aws-lambda-nodejs/test/bundling.test.ts index 335dd38e26114..e1163f8067327 100644 --- a/packages/aws-cdk-lib/aws-lambda-nodejs/test/bundling.test.ts +++ b/packages/aws-cdk-lib/aws-lambda-nodejs/test/bundling.test.ts @@ -859,7 +859,6 @@ test('throws with pre compilation and not found tsconfig', () => { architecture: Architecture.X86_64, }); }).toThrow('Cannot find a `tsconfig.json` but `preCompilation` is set to `true`, please specify it via `tsconfig`'); - }); test('with custom hash', () => { diff --git a/packages/aws-cdk-lib/aws-lambda/lib/code.ts b/packages/aws-cdk-lib/aws-lambda/lib/code.ts index 66e2a26532540..2790e3b357e57 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/code.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/code.ts @@ -280,7 +280,6 @@ export class S3Code extends Code { } this.bucketName = bucket.bucketName; - } public bind(_scope: Construct): CodeConfig { @@ -308,7 +307,6 @@ export class S3CodeV2 extends Code { } this.bucketName = bucket.bucketName; - } public bind(_scope: Construct): CodeConfig { diff --git a/packages/aws-cdk-lib/aws-lambda/lib/function-base.ts b/packages/aws-cdk-lib/aws-lambda/lib/function-base.ts index 8a09a3e7a4932..8b15dcac97e31 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/function-base.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/function-base.ts @@ -666,7 +666,6 @@ export abstract class FunctionBase extends Resource implements IFunction, ec2.IC return obj[key]; } - } private validateConditionCombinations(principal: iam.IPrincipal): { diff --git a/packages/aws-cdk-lib/aws-lambda/lib/function.ts b/packages/aws-cdk-lib/aws-lambda/lib/function.ts index bf9a5f5969954..887062096482b 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/function.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/function.ts @@ -1329,7 +1329,6 @@ export class Function extends FunctionBase { description?: string, provisionedExecutions?: number, asyncInvokeConfig: EventInvokeConfigOptions = {}): Version { - return new Version(this, 'Version' + name, { lambda: this, codeSha256, @@ -1429,7 +1428,6 @@ Environment variables can be marked for removal when used in Lambda@Edge by sett * @param props properties for the ADOT instrumentation */ private configureAdotInstrumentation(props: FunctionProps): void { - if (props.adotInstrumentation === undefined) { return; } diff --git a/packages/aws-cdk-lib/aws-lambda/lib/lambda-insights.ts b/packages/aws-cdk-lib/aws-lambda/lib/lambda-insights.ts index de02d3e4a6cee..7b20d7f9f7159 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/lambda-insights.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/lambda-insights.ts @@ -149,7 +149,6 @@ export abstract class LambdaInsightsVersion { * This function is run on CDK synthesis. */ function getVersionArn(scope: IConstruct, insightsVersion: string, architecture?: string): string { - const scopeStack = Stack.of(scope); const region = scopeStack.region; const arch = architecture ?? Architecture.X86_64.name; diff --git a/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts b/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts index 5bca0e6fd6bab..141b95d5ac427 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts @@ -4,9 +4,7 @@ import * as cdk from '../../core'; import * as lambda from '../lib'; describe('ADOT Lambda Layer', () => { - describe('when the stack region is specified and supported', () => { - let fn: lambda.Function; beforeEach(() => { @@ -38,7 +36,6 @@ describe('ADOT Lambda Layer', () => { }); describe('when the Python ADOT version is specified', () => { - let fn: lambda.Function; beforeEach(() => { diff --git a/packages/aws-cdk-lib/aws-lambda/test/event-source-mapping.test.ts b/packages/aws-cdk-lib/aws-lambda/test/event-source-mapping.test.ts index b8baaa24d22dd..bb02eebba66b4 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/event-source-mapping.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/event-source-mapping.test.ts @@ -368,7 +368,6 @@ describe('event source mapping', () => { }, KmsKeyArn: 'arn:aws:kms:us-east-1:123456789012:key/', }); - }); test('adding filter criteria encryption without filter criteria', () => { diff --git a/packages/aws-cdk-lib/aws-lambda/test/function-hash.test.ts b/packages/aws-cdk-lib/aws-lambda/test/function-hash.test.ts index d9170092853ee..ab7299973ce1d 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function-hash.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function-hash.test.ts @@ -13,7 +13,6 @@ const THE_RUNTIME = new lambda.Runtime('nodejs99.x', lambda.RuntimeFamily.NODEJS describe('function hash', () => { describe('trimFromStart', () => { - test('trim not needed', () => { expect(trimFromStart('foo', 100)).toEqual('foo'); expect(trimFromStart('foo', 3)).toEqual('foo'); @@ -525,5 +524,4 @@ test.each([false, true])('can invalidate version hash using invalidateVersionBas } else { expect(template1.toJSON()).toEqual(template2.toJSON()); } - }); diff --git a/packages/aws-cdk-lib/aws-lambda/test/function-url.test.ts b/packages/aws-cdk-lib/aws-lambda/test/function-url.test.ts index 699ad7ff232fc..9c6bb414dc95f 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function-url.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function-url.test.ts @@ -246,5 +246,4 @@ describe('FunctionUrl', () => { }, }); }); - }); diff --git a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts index 8baf41fb9d854..c2c11c80948c3 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts @@ -2801,7 +2801,6 @@ describe('function', () => { }); describe('filesystem', () => { - test('mount efs filesystem', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts index ae38c5d927e62..fa29ac48932f3 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts @@ -1527,7 +1527,6 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { // https://docs.aws.amazon.com/opensearch-service/latest/developerguide/features-by-version.html const { versionNum: versionNum, isElasticsearchVersion } = parseVersion(props.version); if (isElasticsearchVersion) { - if ( versionNum <= 7.7 && ![ diff --git a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts index 78b6be1583eee..69bcf35b719fa 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts @@ -48,7 +48,6 @@ const testedOpenSearchVersions = [ ]; each(testedOpenSearchVersions).test('connections throws if domain is not placed inside a vpc', (engineVersion) => { - expect(() => { new Domain(stack, 'Domain', { version: engineVersion, @@ -57,7 +56,6 @@ each(testedOpenSearchVersions).test('connections throws if domain is not placed }); each(testedOpenSearchVersions).test('subnets and security groups can be provided when vpc is used', (engineVersion) => { - const vpc = new Vpc(stack, 'Vpc'); const securityGroup = new SecurityGroup(stack, 'CustomSecurityGroup', { vpc, @@ -87,11 +85,9 @@ each(testedOpenSearchVersions).test('subnets and security groups can be provided ], }, }); - }); each(testedOpenSearchVersions).test('default subnets and security group when vpc is used', (engineVersion) => { - const vpc = new Vpc(stack, 'Vpc'); const domain = new Domain(stack, 'Domain', { version: engineVersion, @@ -122,11 +118,9 @@ each(testedOpenSearchVersions).test('default subnets and security group when vpc ], }, }); - }); each(testedOpenSearchVersions).test('connections has no default port if enforceHttps is false', (engineVersion) => { - const vpc = new Vpc(stack, 'Vpc'); const domain = new Domain(stack, 'Domain', { version: engineVersion, @@ -135,11 +129,9 @@ each(testedOpenSearchVersions).test('connections has no default port if enforceH }); expect(domain.connections.defaultPort).toBeUndefined(); - }); each(testedOpenSearchVersions).test('connections has default port 443 if enforceHttps is true', (engineVersion) => { - const vpc = new Vpc(stack, 'Vpc'); const domain = new Domain(stack, 'Domain', { version: engineVersion, @@ -148,7 +140,6 @@ each(testedOpenSearchVersions).test('connections has default port 443 if enforce }); expect(domain.connections.defaultPort).toEqual(Port.tcp(443)); - }); each(testedOpenSearchVersions).test('default removalpolicy is retain', (engineVersion) => { @@ -162,7 +153,6 @@ each(testedOpenSearchVersions).test('default removalpolicy is retain', (engineVe }); each([testedOpenSearchVersions]).test('grants kms permissions if needed', (engineVersion) => { - const key = new kms.Key(stack, 'Key'); new Domain(stack, 'Domain', { @@ -196,7 +186,6 @@ each([testedOpenSearchVersions]).test('grants kms permissions if needed', (engin const resources = Template.fromStack(stack).toJSON().Resources; expect(resources.AWS679f53fac002430cb0da5b7982bd2287ServiceRoleDefaultPolicyD28E1A5E.Properties.PolicyDocument).toStrictEqual(expectedPolicy); - }); each([ @@ -318,7 +307,6 @@ each([testedOpenSearchVersions]).test('can set a self-referencing custom policy' }); each([testedOpenSearchVersions]).describe('UltraWarm instances', (engineVersion) => { - test('can enable UltraWarm instances', () => { new Domain(stack, 'Domain', { version: engineVersion, @@ -357,7 +345,6 @@ each([testedOpenSearchVersions]).describe('UltraWarm instances', (engineVersion) }, }); }); - }); each([testedOpenSearchVersions]).test('can use tokens in capacity configuration', (engineVersion) => { @@ -452,7 +439,6 @@ each([testedOpenSearchVersions]).test('ENABLE_OPENSEARCH_MULTIAZ_WITH_STANDBY se }); each([testedOpenSearchVersions]).describe('log groups', (engineVersion) => { - test('slowSearchLogEnabled should create a custom log group', () => { new Domain(stack, 'Domain', { version: engineVersion, @@ -960,7 +946,6 @@ each([testedOpenSearchVersions]).describe('log groups', (engineVersion) => { }); each(testedOpenSearchVersions).describe('grants', (engineVersion) => { - test('"grantRead" allows read actions associated with this domain resource', () => { testGrant(readActions, (p, d) => d.grantRead(p), engineVersion); }); @@ -1091,11 +1076,9 @@ each(testedOpenSearchVersions).describe('grants', (engineVersion) => { ], }); }); - }); each(testedOpenSearchVersions).describe('metrics', (engineVersion) => { - test('metricClusterStatusRed', () => { testMetric( (domain) => domain.metricClusterStatusRed(), @@ -1232,11 +1215,9 @@ each(testedOpenSearchVersions).describe('metrics', (engineVersion) => { 'p99', ); }); - }); describe('import', () => { - test('static fromDomainEndpoint(endpoint) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; @@ -1804,11 +1785,9 @@ each(testedOpenSearchVersions).describe('custom endpoints', (engineVersion) => { ], }); }); - }); each(testedOpenSearchVersions).describe('custom error responses', (engineVersion) => { - test('error when availabilityZoneCount does not match vpcOptions.subnets length', () => { const vpc = new Vpc(stack, 'Vpc', { maxAzs: 1, @@ -2169,7 +2148,6 @@ each(testedOpenSearchVersions).describe('custom error responses', (engineVersion }, })).toThrow(/Dedicated master node is required when UltraWarm storage is enabled/); }); - }); test('can specify future version', () => { @@ -2482,7 +2460,6 @@ each(testedOpenSearchVersions).describe('offPeakWindow and softwareUpdateOptions }); describe('EBS Options Configurations', () => { - test('iops', () => { const domainProps: DomainProps = { version: EngineVersion.OPENSEARCH_2_5, diff --git a/packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts b/packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts index f4a3dfb56732b..3e2341259ed06 100644 --- a/packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts +++ b/packages/aws-cdk-lib/aws-rds/lib/cluster-engine.ts @@ -1104,7 +1104,6 @@ export class AuroraPostgresEngineVersion { */ public static of(auroraPostgresFullVersion: string, auroraPostgresMajorVersion: string, auroraPostgresFeatures?: AuroraPostgresEngineFeatures): AuroraPostgresEngineVersion { - return new AuroraPostgresEngineVersion(auroraPostgresFullVersion, auroraPostgresMajorVersion, auroraPostgresFeatures); } diff --git a/packages/aws-cdk-lib/aws-rds/lib/cluster.ts b/packages/aws-cdk-lib/aws-rds/lib/cluster.ts index 9870753a8017a..d3db40bd5c599 100644 --- a/packages/aws-cdk-lib/aws-rds/lib/cluster.ts +++ b/packages/aws-cdk-lib/aws-rds/lib/cluster.ts @@ -1020,7 +1020,6 @@ abstract class DatabaseClusterNew extends DatabaseClusterBase { 'availability issues if a failover event occurs. It is recommended that at least one reader '+ 'has `scaleWithWriter` set to true', ); - } } else { if (serverlessInHighestTier && highestTier > 1) { @@ -1099,7 +1098,6 @@ abstract class DatabaseClusterNew extends DatabaseClusterBase { if (!regexp.test(this.serverlessV2MaxCapacity.toString()) || !regexp.test(this.serverlessV2MinCapacity.toString())) { throw new ValidationError('serverlessV2MinCapacity & serverlessV2MaxCapacity must be in 0.5 step increments, received '+ `min: ${this.serverlessV2MaxCapacity}, max: ${this.serverlessV2MaxCapacity}`, this); - } } @@ -1351,7 +1349,6 @@ const INSTANCE_TYPE_XLARGE_MEMORY_MAPPING: { [instanceType: string]: number } = * @returns true if the instance size is supported by serverless v2 instances */ function instanceSizeSupportedByServerlessV2(instanceSize: string, serverlessV2MaxCapacity: number): boolean { - const serverlessMaxMem = serverlessV2MaxCapacity*2; // i.e. r5.xlarge const sizeParts = instanceSize.split('.'); diff --git a/packages/aws-cdk-lib/aws-rds/lib/private/util.ts b/packages/aws-cdk-lib/aws-rds/lib/private/util.ts index e2d524df371fb..886e6d5e1f9bf 100644 --- a/packages/aws-cdk-lib/aws-rds/lib/private/util.ts +++ b/packages/aws-cdk-lib/aws-rds/lib/private/util.ts @@ -38,7 +38,6 @@ export function setupS3ImportExport( scope: Construct, props: DatabaseS3ImportExportProps, combineRoles: boolean): { s3ImportRole?: iam.IRole; s3ExportRole?: iam.IRole } { - let s3ImportRole = props.s3ImportRole; let s3ExportRole = props.s3ExportRole; diff --git a/packages/aws-cdk-lib/aws-rds/lib/serverless-cluster.ts b/packages/aws-cdk-lib/aws-rds/lib/serverless-cluster.ts index f63b19abdfbd8..abd4482fabe8a 100644 --- a/packages/aws-cdk-lib/aws-rds/lib/serverless-cluster.ts +++ b/packages/aws-cdk-lib/aws-rds/lib/serverless-cluster.ts @@ -540,7 +540,6 @@ export class ServerlessCluster extends ServerlessClusterNew { public static fromServerlessClusterAttributes( scope: Construct, id: string, attrs: ServerlessClusterAttributes, ): IServerlessCluster { - return new ImportedServerlessCluster(scope, id, attrs); } diff --git a/packages/aws-cdk-lib/aws-rds/test/instance-engine.test.ts b/packages/aws-cdk-lib/aws-rds/test/instance-engine.test.ts index d914fee1eb43b..ab4c19fb6caf6 100644 --- a/packages/aws-cdk-lib/aws-rds/test/instance-engine.test.ts +++ b/packages/aws-cdk-lib/aws-rds/test/instance-engine.test.ts @@ -110,7 +110,6 @@ describe('instance engine', () => { }); describe('Oracle engine bindToInstance', () => { - test('returns s3 integration feature', () => { const engine = rds.DatabaseInstanceEngine.oracleSe2({ version: rds.OracleEngineVersion.VER_19_0_0_0_2020_04_R1 }); @@ -302,7 +301,6 @@ describe('instance engine', () => { ['11.4.3', rds.MariaDbEngineVersion.VER_11_4_3], ['11.4.4', rds.MariaDbEngineVersion.VER_11_4_4], ])('is passed correctly for %s', (engineVersion, version) => { - // WHEN const stack = new cdk.Stack(); const vpc = new ec2.Vpc(stack, 'VPC'); diff --git a/packages/aws-cdk-lib/aws-route53-patterns/test/bucket-website-target.test.ts b/packages/aws-cdk-lib/aws-route53-patterns/test/bucket-website-target.test.ts index 0cb56a8353210..24b528e84e1af 100644 --- a/packages/aws-cdk-lib/aws-route53-patterns/test/bucket-website-target.test.ts +++ b/packages/aws-cdk-lib/aws-route53-patterns/test/bucket-website-target.test.ts @@ -291,7 +291,6 @@ describe('Uses Certificate when @aws-cdk/aws-route53-patters:useCertificate=true zoneName: 'example.com', }), }); - }).toThrow(/When @aws-cdk\/aws-route53-patters:useCertificate is enabled, a region must be defined on the Stack/); }); }); diff --git a/packages/aws-cdk-lib/aws-route53/lib/vpc-endpoint-service-domain-name.ts b/packages/aws-cdk-lib/aws-route53/lib/vpc-endpoint-service-domain-name.ts index 622aeb3671358..b77241b68bbe6 100644 --- a/packages/aws-cdk-lib/aws-route53/lib/vpc-endpoint-service-domain-name.ts +++ b/packages/aws-cdk-lib/aws-route53/lib/vpc-endpoint-service-domain-name.ts @@ -90,7 +90,6 @@ export class VpcEndpointServiceDomainName extends Construct { * returning the values to use in a TxtRecord, which AWS uses to verify domain ownership. */ private getPrivateDnsConfiguration(serviceUniqueId: string, serviceId: string, privateDnsName: string): PrivateDnsConfiguration { - // The custom resource which tells AWS to enable Private DNS on the given service, using the given domain name // AWS will generate a name/value pair for use in a TxtRecord, which is used to verify domain ownership. const enablePrivateDnsAction = { diff --git a/packages/aws-cdk-lib/aws-route53/test/hosted-zone-provider.test.ts b/packages/aws-cdk-lib/aws-route53/test/hosted-zone-provider.test.ts index 94a42bdf85920..15a7e6a6a0ecf 100644 --- a/packages/aws-cdk-lib/aws-route53/test/hosted-zone-provider.test.ts +++ b/packages/aws-cdk-lib/aws-route53/test/hosted-zone-provider.test.ts @@ -79,7 +79,6 @@ describe('hosted zone provider', () => { // THEN expect(fakeZoneId).toEqual(zoneId); - }); }); }); diff --git a/packages/aws-cdk-lib/aws-route53/test/route53.test.ts b/packages/aws-cdk-lib/aws-route53/test/route53.test.ts index 44015acb1d498..8c2e2cd95bfde 100644 --- a/packages/aws-cdk-lib/aws-route53/test/route53.test.ts +++ b/packages/aws-cdk-lib/aws-route53/test/route53.test.ts @@ -11,7 +11,6 @@ describe('route53', () => { Template.fromStack(app.stack).hasResourceProperties('AWS::Route53::HostedZone', { Name: 'test.public.', }); - }); test('private hosted zone', () => { const app = new TestApp(); diff --git a/packages/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.ts b/packages/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.ts index 9a8348c04a95a..2b40a6d6277f1 100644 --- a/packages/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.ts +++ b/packages/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.ts @@ -499,7 +499,6 @@ export class BucketDeployment extends Construct { * be set to true on the Bucket. */ cdk.Tags.of(this.destinationBucket).add(tagKey, 'true'); - } /** diff --git a/packages/aws-cdk-lib/aws-s3-deployment/lib/render-data.ts b/packages/aws-cdk-lib/aws-s3-deployment/lib/render-data.ts index f04b0a9600cc0..7d9979a9f4cf5 100644 --- a/packages/aws-cdk-lib/aws-s3-deployment/lib/render-data.ts +++ b/packages/aws-cdk-lib/aws-s3-deployment/lib/render-data.ts @@ -52,7 +52,6 @@ export function renderData(scope: Construct, data: string): Content { throw new ValidationError(`Unexpected "Fn::Join" part, expecting string or object but got ${typeof (part)}`, scope); } - } else if (obj.Ref || obj['Fn::GetAtt'] || obj['Fn::Select']) { addMarker(obj); } else { diff --git a/packages/aws-cdk-lib/aws-s3-deployment/test/bucket-deployment.test.ts b/packages/aws-cdk-lib/aws-s3-deployment/test/bucket-deployment.test.ts index 8aa5bea01e1f1..0ba19fe68febd 100644 --- a/packages/aws-cdk-lib/aws-s3-deployment/test/bucket-deployment.test.ts +++ b/packages/aws-cdk-lib/aws-s3-deployment/test/bucket-deployment.test.ts @@ -238,7 +238,6 @@ test('deploy from a local .zip file', () => { sources: [s3deploy.Source.asset(path.join(__dirname, 'my-website.zip'))], destinationBucket: bucket, }); - }); test('AWS_CA_BUNDLE is set', () => { @@ -619,7 +618,6 @@ test('invalidation can happen without distributionPaths provided', () => { Ref: 'DistributionCFDistribution882A7313', }, }); - }); test('fails if distribution paths provided but not distribution ID', () => { @@ -633,7 +631,6 @@ test('fails if distribution paths provided but not distribution ID', () => { destinationBucket: bucket, distributionPaths: ['/images/*'], })).toThrow(/Distribution must be specified if distribution paths are specified/); - }); test('fails if distribution paths don\'t start with "/"', () => { @@ -868,7 +865,6 @@ test('ephemeralStorageSize can be used to specify the storage size for the deplo }); test('deployment allows custom role to be supplied', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -897,7 +893,6 @@ test('deployment allows custom role to be supplied', () => { }); test('deploy without deleting missing files from destination', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -932,7 +927,6 @@ test('deploy with excluded files from destination', () => { }); test('deploy with included files from destination', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -950,7 +944,6 @@ test('deploy with included files from destination', () => { }); test('deploy with excluded and included files from destination', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -970,7 +963,6 @@ test('deploy with excluded and included files from destination', () => { }); test('deploy with multiple exclude and include filters', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1055,7 +1047,6 @@ test('given a source with markers and extract is false, BucketDeployment throws }); test('deployment allows vpc to be implicitly supplied to lambda', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1092,7 +1083,6 @@ test('deployment allows vpc to be implicitly supplied to lambda', () => { }); test('deployment allows vpc and subnets to be implicitly supplied to lambda', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1222,7 +1212,6 @@ test('using deployment bucket references the destination bucket by means of the }); test('resource id includes memory and vpc', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1247,7 +1236,6 @@ test('resource id includes memory and vpc', () => { }); test('bucket includes custom resource owner tag', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1272,7 +1260,6 @@ test('bucket includes custom resource owner tag', () => { }); test('throws if destinationKeyPrefix is too long', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1284,11 +1271,9 @@ test('throws if destinationKeyPrefix is too long', () => { destinationKeyPrefix: '/this/is/a/random/key/prefix/that/is/a/lot/of/characters/do/we/think/that/it/will/ever/be/this/long??????', memoryLimit: 256, })).toThrow(/The BucketDeployment construct requires that/); - }); test('skips destinationKeyPrefix validation if token', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); @@ -1306,11 +1291,9 @@ test('skips destinationKeyPrefix validation if token', () => { Template.fromStack(stack).hasResourceProperties('Custom::CDKBucketDeployment', { DestinationBucketKeyPrefix: 5, }); - }); test('bucket has multiple deployments', () => { - // GIVEN const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Dest'); diff --git a/packages/aws-cdk-lib/aws-s3-deployment/test/content.test.ts b/packages/aws-cdk-lib/aws-s3-deployment/test/content.test.ts index aa2cf8f346005..2f1c6d1ddf542 100644 --- a/packages/aws-cdk-lib/aws-s3-deployment/test/content.test.ts +++ b/packages/aws-cdk-lib/aws-s3-deployment/test/content.test.ts @@ -153,5 +153,4 @@ test('lazy string which resolves to something with a deploy-time value', () => { text: 'hello, resolved!', markers: { }, }); - }); diff --git a/packages/aws-cdk-lib/aws-s3-notifications/test/lambda/lambda.test.ts b/packages/aws-cdk-lib/aws-s3-notifications/test/lambda/lambda.test.ts index 4d1342c4ba7e3..ab25ea4dca607 100644 --- a/packages/aws-cdk-lib/aws-s3-notifications/test/lambda/lambda.test.ts +++ b/packages/aws-cdk-lib/aws-s3-notifications/test/lambda/lambda.test.ts @@ -5,7 +5,6 @@ import { Stack, App } from '../../../core'; import * as s3n from '../../lib'; test('add notifications to multiple functions', () => { - const stack = new Stack(); const bucket = new s3.Bucket(stack, 'MyBucket'); const fn1 = new lambda.Function(stack, 'MyFunction1', { @@ -68,11 +67,9 @@ test('add notifications to multiple functions', () => { ], }, }); - }); test('lambda in a different stack as notification target', () => { - const app = new App(); const lambdaStack = new Stack(app, 'stack1'); const bucketStack = new Stack(app, 'stack2'); @@ -183,7 +180,6 @@ test('lambda as notification target specified by function arn', () => { }); test('permissions are added as a dependency to the notifications resource when using singleton function', () => { - const stack = new Stack(); const bucket = new s3.Bucket(stack, 'MyBucket'); const fn = new lambda.SingletonFunction(stack, 'MyFunction', { @@ -203,7 +199,6 @@ test('permissions are added as a dependency to the notifications resource when u }); test('add multiple event notifications using a singleton function', () => { - const stack = new Stack(); const bucket = new s3.Bucket(stack, 'MyBucket'); const fn = new lambda.SingletonFunction(stack, 'MyFunction', { @@ -226,5 +221,4 @@ test('add multiple event notifications using a singleton function', () => { ], }), }); - }); diff --git a/packages/aws-cdk-lib/aws-s3-notifications/test/notifications.test.ts b/packages/aws-cdk-lib/aws-s3-notifications/test/notifications.test.ts index 31f38bd62931c..23958554649f5 100644 --- a/packages/aws-cdk-lib/aws-s3-notifications/test/notifications.test.ts +++ b/packages/aws-cdk-lib/aws-s3-notifications/test/notifications.test.ts @@ -24,7 +24,6 @@ test('bucket without notifications', () => { }); test('notifications can be added to imported buckets', () => { - const stack = new cdk.Stack(); const bucket = s3.Bucket.fromBucketName(stack, 'MyBucket', 'mybucket'); @@ -49,7 +48,6 @@ test('notifications can be added to imported buckets', () => { ], }, }); - }); test('when notification are added, a custom resource is provisioned + a lambda handler for it', () => { diff --git a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts index e8a3848a5b18d..dd31b7c16218e 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts @@ -2401,7 +2401,6 @@ export class Bucket extends BucketBase { bucketEncryption?: CfnBucket.BucketEncryptionProperty; encryptionKey?: kms.IKey; } { - // default based on whether encryptionKey is specified let encryptionType = props.encryption; if (encryptionType === undefined) { @@ -2757,7 +2756,6 @@ export class Bucket extends BucketBase { } private renderReplicationConfiguration(props: BucketProps): CfnBucket.ReplicationConfigurationProperty | undefined { - if (!props.replicationRules || props.replicationRules.length === 0) { return undefined; } diff --git a/packages/aws-cdk-lib/aws-s3/lib/util.ts b/packages/aws-cdk-lib/aws-s3/lib/util.ts index 8c856fdf456d7..9c3e5eeef995a 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/util.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/util.ts @@ -4,7 +4,6 @@ import * as cdk from '../../core'; import { ValidationError } from '../../core/lib/errors'; export function parseBucketArn(construct: IConstruct, props: BucketAttributes): string { - // if we have an explicit bucket ARN, use it. if (props.bucketArn) { return props.bucketArn; @@ -25,7 +24,6 @@ export function parseBucketArn(construct: IConstruct, props: BucketAttributes): } export function parseBucketName(construct: IConstruct, props: BucketAttributes): string | undefined { - // if we have an explicit bucket name, use it. if (props.bucketName) { return props.bucketName; diff --git a/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts b/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts index 5ad2b8413bcb8..352ba91750042 100644 --- a/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts @@ -656,7 +656,6 @@ describe('bucket', () => { ], }, }); - }); test('bucketKeyEnabled can not be enabled with UNENCRYPTED', () => { const stack = new cdk.Stack(); @@ -676,7 +675,6 @@ describe('bucket', () => { expect(() => { new s3.Bucket(stack, 'MyBucket3', { bucketKeyEnabled: true }); }).toThrow("bucketKeyEnabled is specified, so 'encryption' must be set to KMS, DSSE or S3 (value: UNENCRYPTED)"); - }); testDeprecated('logs to self, UNENCRYPTED does not throw error', () => { @@ -1193,7 +1191,6 @@ describe('bucket', () => { }); testDeprecated('arnForObjects accepts multiple arguments and FnConcats them for an UNENCRYPTED bucket', () => { - const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.UNENCRYPTED }); @@ -1229,7 +1226,6 @@ describe('bucket', () => { }); test('arnForObjects accepts multiple arguments and FnConcats them an S3_MANAGED bucket', () => { - const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.S3_MANAGED }); @@ -2064,7 +2060,6 @@ describe('bucket', () => { 's3:Abort*', ]); expect(actions('DeleterDefaultPolicyCD33B8A0')).toEqual('s3:DeleteObject*'); - }); test('grantDelete, with a KMS Key', () => { @@ -2534,7 +2529,6 @@ describe('bucket', () => { 'Version': '2012-10-17', }, }); - }); test('"keyPrefix" can be used to only grant access to certain objects', () => { @@ -2559,7 +2553,6 @@ describe('bucket', () => { 'Version': '2012-10-17', }, }); - }); test('"allowedActions" can be used to specify actions explicitly', () => { @@ -2584,7 +2577,6 @@ describe('bucket', () => { 'Version': '2012-10-17', }, }); - }); test('returns the PolicyStatement which can be then customized', () => { @@ -2613,7 +2605,6 @@ describe('bucket', () => { 'Version': '2012-10-17', }, }); - }); test('throws when blockPublicPolicy is set to true', () => { @@ -2639,7 +2630,6 @@ describe('bucket', () => { IndexDocument: 'index2.html', }, }); - }); test('fails if only error doc is specified', () => { const stack = new cdk.Stack(); @@ -2648,7 +2638,6 @@ describe('bucket', () => { websiteErrorDocument: 'error.html', }); }).toThrow(/"websiteIndexDocument" is required if "websiteErrorDocument" is set/); - }); test('error and index docs', () => { const stack = new cdk.Stack(); @@ -2662,7 +2651,6 @@ describe('bucket', () => { ErrorDocument: 'error.html', }, }); - }); test('exports the WebsiteURL', () => { const stack = new cdk.Stack(); @@ -2670,7 +2658,6 @@ describe('bucket', () => { websiteIndexDocument: 'index.html', }); expect(stack.resolve(bucket.bucketWebsiteUrl)).toEqual({ 'Fn::GetAtt': ['Website32962D0B', 'WebsiteURL'] }); - }); test('exports the WebsiteDomain', () => { const stack = new cdk.Stack(); @@ -2685,7 +2672,6 @@ describe('bucket', () => { }, ], }); - }); test('exports the WebsiteURL for imported buckets', () => { const stack = new cdk.Stack(); @@ -2729,7 +2715,6 @@ describe('bucket', () => { }); expect(stack.resolve(bucket.bucketWebsiteUrl)).toEqual('http://my-test-bucket.my-test.suffix'); expect(stack.resolve(bucket.bucketWebsiteDomainName)).toEqual('my-test-bucket.my-test.suffix'); - }); test('adds RedirectAllRequestsTo property', () => { const stack = new cdk.Stack(); @@ -2747,7 +2732,6 @@ describe('bucket', () => { }, }, }); - }); test('fails if websiteRedirect and websiteIndex and websiteError are specified', () => { const stack = new cdk.Stack(); @@ -2760,7 +2744,6 @@ describe('bucket', () => { }, }); }).toThrow(/"websiteIndexDocument", "websiteErrorDocument" and, "websiteRoutingRules" cannot be set if "websiteRedirect" is used/); - }); test('fails if websiteRedirect and websiteRoutingRules are specified', () => { const stack = new cdk.Stack(); @@ -2772,7 +2755,6 @@ describe('bucket', () => { }, }); }).toThrow(/"websiteIndexDocument", "websiteErrorDocument" and, "websiteRoutingRules" cannot be set if "websiteRedirect" is used/); - }); test('adds RedirectRules property', () => { const stack = new cdk.Stack(); @@ -2804,7 +2786,6 @@ describe('bucket', () => { }], }, }); - }); test('adds RedirectRules property with empty keyPrefixEquals condition', () => { const stack = new cdk.Stack(); @@ -2836,7 +2817,6 @@ describe('bucket', () => { }], }, }); - }); test('fails if routingRule condition object is empty', () => { const stack = new cdk.Stack(); @@ -2848,7 +2828,6 @@ describe('bucket', () => { }], }); }).toThrow(/The condition property cannot be an empty object/); - }); describe('isWebsite set properly with', () => { test('only index doc', () => { @@ -2857,7 +2836,6 @@ describe('bucket', () => { websiteIndexDocument: 'index2.html', }); expect(bucket.isWebsite).toEqual(true); - }); test('error and index docs', () => { const stack = new cdk.Stack(); @@ -2866,7 +2844,6 @@ describe('bucket', () => { websiteErrorDocument: 'error.html', }); expect(bucket.isWebsite).toEqual(true); - }); test('redirects', () => { const stack = new cdk.Stack(); @@ -2877,13 +2854,11 @@ describe('bucket', () => { }, }); expect(bucket.isWebsite).toEqual(true); - }); test('no website properties set', () => { const stack = new cdk.Stack(); const bucket = new s3.Bucket(stack, 'Website'); expect(bucket.isWebsite).toEqual(false); - }); test('imported website buckets', () => { const stack = new cdk.Stack(); @@ -2892,7 +2867,6 @@ describe('bucket', () => { isWebsite: true, }); expect(bucket.isWebsite).toEqual(true); - }); test('imported buckets', () => { const stack = new cdk.Stack(); @@ -2900,7 +2874,6 @@ describe('bucket', () => { bucketArn: 'arn:aws:s3:::my-bucket', }); expect(bucket.isWebsite).toEqual(false); - }); }); }); @@ -2915,7 +2888,6 @@ describe('bucket', () => { // THEN expect(bucket.bucketName).toEqual('my-corporate-bucket'); expect(bucket.bucketArn).toEqual('arn:aws:s3:::my-corporate-bucket'); - }); test('Bucket.fromBucketName', () => { diff --git a/packages/aws-cdk-lib/aws-s3/test/rules.test.ts b/packages/aws-cdk-lib/aws-s3/test/rules.test.ts index 6092c6274794b..57e60c3872270 100644 --- a/packages/aws-cdk-lib/aws-s3/test/rules.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/rules.test.ts @@ -491,6 +491,5 @@ describe('rules', () => { Template.fromStack(stack); }).not.toThrow(); }); - }); }); diff --git a/packages/aws-cdk-lib/aws-s3/test/util.test.ts b/packages/aws-cdk-lib/aws-s3/test/util.test.ts index acb6661c17ca1..b65deec85bc10 100644 --- a/packages/aws-cdk-lib/aws-s3/test/util.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/util.test.ts @@ -28,7 +28,6 @@ describe('utils', () => { }); describe('parseBucketName', () => { - test('explicit name', () => { const stack = new cdk.Stack(); const bucketName = 'foo'; diff --git a/packages/aws-cdk-lib/aws-secretsmanager/test/example.app-with-secret.lit.ts b/packages/aws-cdk-lib/aws-secretsmanager/test/example.app-with-secret.lit.ts index f631e4d44be3a..2a52b78cbc3d3 100644 --- a/packages/aws-cdk-lib/aws-secretsmanager/test/example.app-with-secret.lit.ts +++ b/packages/aws-cdk-lib/aws-secretsmanager/test/example.app-with-secret.lit.ts @@ -17,7 +17,6 @@ class ExampleStack extends cdk.Stack { password: loginSecret.secretValueFromJson('password'), }); /// !hide - } } diff --git a/packages/aws-cdk-lib/aws-secretsmanager/test/secret.test.ts b/packages/aws-cdk-lib/aws-secretsmanager/test/secret.test.ts index 0a5277980d3ab..80cc2a72aa5f5 100644 --- a/packages/aws-cdk-lib/aws-secretsmanager/test/secret.test.ts +++ b/packages/aws-cdk-lib/aws-secretsmanager/test/secret.test.ts @@ -1388,7 +1388,6 @@ test('cross-environment grant with direct object reference', () => { }], }, }); - }); test('cross-environment grant with imported from completeArn', () => { @@ -1416,7 +1415,6 @@ test('cross-environment grant with imported from completeArn', () => { }], }, }); - }); test('cross-environment grant with imported from partialArn', () => { @@ -1444,5 +1442,4 @@ test('cross-environment grant with imported from partialArn', () => { }], }, }); - }); diff --git a/packages/aws-cdk-lib/aws-servicediscovery/test/instance.test.ts b/packages/aws-cdk-lib/aws-servicediscovery/test/instance.test.ts index dd122a9dba2dc..aaaddc524d8a3 100644 --- a/packages/aws-cdk-lib/aws-servicediscovery/test/instance.test.ts +++ b/packages/aws-cdk-lib/aws-servicediscovery/test/instance.test.ts @@ -38,7 +38,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceIpInstanceBACEB9D2', }); - }); test('IpInstance for service in PublicDnsNamespace', () => { @@ -75,7 +74,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceIpInstanceBACEB9D2', }); - }); test('IpInstance for service in PrivateDnsNamespace', () => { @@ -114,7 +112,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceIpInstanceBACEB9D2', }); - }); test('Registering IpInstance throws when omitting port for a service using SRV', () => { @@ -136,7 +133,6 @@ describe('instance', () => { instanceId: 'id', }); }).toThrow(/A `port` must be specified for a service using a `SRV` record./); - }); test('Registering IpInstance throws when omitting ipv4 and ipv6 for a service using SRV', () => { @@ -158,7 +154,6 @@ describe('instance', () => { port: 3306, }); }).toThrow(/At least `ipv4` or `ipv6` must be specified for a service using a `SRV` record./); - }); test('Registering IpInstance throws when omitting ipv4 for a service using A records', () => { @@ -180,7 +175,6 @@ describe('instance', () => { port: 3306, }); }).toThrow(/An `ipv4` must be specified for a service using a `A` record./); - }); test('Registering IpInstance throws when omitting ipv6 for a service using AAAA records', () => { @@ -202,7 +196,6 @@ describe('instance', () => { port: 3306, }); }).toThrow(/An `ipv6` must be specified for a service using a `AAAA` record./); - }); test('Registering IpInstance throws with wrong DNS record type', () => { @@ -224,7 +217,6 @@ describe('instance', () => { port: 3306, }); }).toThrow(/Service must support `A`, `AAAA` or `SRV` records to register this instance type./); - }); test('Registering AliasTargetInstance', () => { @@ -266,7 +258,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceLoadbalancerD1112A76', }); - }); test('Throws when registering AliasTargetInstance with Http Namespace', () => { @@ -288,7 +279,6 @@ describe('instance', () => { expect(() => { service.registerLoadBalancer('Loadbalancer', alb); }).toThrow(/Namespace associated with Service must be a DNS Namespace./); - }); // TODO shouldn't be allowed to do this if loadbalancer on ServiceProps is not set to true. @@ -311,7 +301,6 @@ describe('instance', () => { expect(() => { service.registerLoadBalancer('Loadbalancer', alb); }).toThrow(/Service must use `WEIGHTED` routing policy./); - }); test('Register CnameInstance', () => { @@ -345,7 +334,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceCnameInstance0EB1C98D', }); - }); test('Throws when registering CnameInstance for an HTTP namespace', () => { @@ -366,7 +354,6 @@ describe('instance', () => { instanceCname: 'foo.com', }); }).toThrow(/Namespace associated with Service must be a DNS Namespace/); - }); test('Register NonIpInstance', () => { @@ -396,7 +383,6 @@ describe('instance', () => { }, InstanceId: 'MyNamespaceMyServiceNonIpInstance7EFD703A', }); - }); test('Register NonIpInstance, DNS Namespace, API Only service', () => { @@ -448,7 +434,6 @@ describe('instance', () => { instanceId: 'nonIp', }); }).toThrow(/This type of instance can only be registered for HTTP namespaces./); - }); test('Throws when no custom attribues specified for NonIpInstance', () => { @@ -467,7 +452,6 @@ describe('instance', () => { instanceId: 'nonIp', }); }).toThrow(/You must specify at least one custom attribute for this instance type./); - }); test('Throws when custom attribues are emptyfor NonIpInstance', () => { @@ -487,7 +471,6 @@ describe('instance', () => { customAttributes: {}, }); }).toThrow(/You must specify at least one custom attribute for this instance type./); - }); test('Register multiple instances on the same service', () => { @@ -511,6 +494,5 @@ describe('instance', () => { // THEN Template.fromStack(stack).resourceCountIs('AWS::ServiceDiscovery::Instance', 2); - }); }); diff --git a/packages/aws-cdk-lib/aws-servicediscovery/test/namespace.test.ts b/packages/aws-cdk-lib/aws-servicediscovery/test/namespace.test.ts index f7f150b2ded12..1f767a64874b2 100644 --- a/packages/aws-cdk-lib/aws-servicediscovery/test/namespace.test.ts +++ b/packages/aws-cdk-lib/aws-servicediscovery/test/namespace.test.ts @@ -22,7 +22,6 @@ describe('namespace', () => { }, }, }); - }); test('Public DNS namespace', () => { @@ -42,7 +41,6 @@ describe('namespace', () => { }, }, }); - }); test('Private DNS namespace', () => { @@ -60,7 +58,6 @@ describe('namespace', () => { Ref: 'MyVpcF9F0CA6F', }, }); - }); test('CloudFormation attributes', () => { diff --git a/packages/aws-cdk-lib/aws-servicediscovery/test/service.test.ts b/packages/aws-cdk-lib/aws-servicediscovery/test/service.test.ts index b8a9ec1016496..4f50ab450a56f 100644 --- a/packages/aws-cdk-lib/aws-servicediscovery/test/service.test.ts +++ b/packages/aws-cdk-lib/aws-servicediscovery/test/service.test.ts @@ -48,7 +48,6 @@ describe('service', () => { }, }, }); - }); test('Service for HTTP namespace with health check', () => { @@ -97,7 +96,6 @@ describe('service', () => { }, }, }); - }); test('Service for Public DNS namespace', () => { @@ -158,7 +156,6 @@ describe('service', () => { }, }, }); - }); test('Service for Public DNS namespace with A and AAAA records', () => { @@ -214,7 +211,6 @@ describe('service', () => { }, }, }); - }); test('Defaults to WEIGHTED routing policy for CNAME', () => { @@ -266,7 +262,6 @@ describe('service', () => { }, }, }); - }); test('Throws when specifying both healthCheckConfig and healthCheckCustomConfig on PublicDnsNamespace', () => { @@ -288,7 +283,6 @@ describe('service', () => { }, }); }).toThrow(/`healthCheckConfig`.+`healthCheckCustomConfig`/); - }); test('Throws when specifying healthCheckConfig on PrivateDnsNamespace', () => { @@ -312,7 +306,6 @@ describe('service', () => { }, }); }).toThrow(/`healthCheckConfig`.+`healthCheckCustomConfig`/); - }); test('Throws when using CNAME and Multivalue routing policy', () => { @@ -331,7 +324,6 @@ describe('service', () => { routingPolicy: servicediscovery.RoutingPolicy.MULTIVALUE, }); }).toThrow(/Cannot use `CNAME` record when routing policy is `Multivalue`./); - }); test('Throws when specifying resourcePath with TCP', () => { @@ -352,7 +344,6 @@ describe('service', () => { }, }); }).toThrow(/`resourcePath`.+`TCP`/); - }); test('Throws when specifying loadbalancer with wrong DnsRecordType', () => { @@ -370,7 +361,6 @@ describe('service', () => { loadBalancer: true, }); }).toThrow(/Must support `A` or `AAAA` records to register loadbalancers/); - }); test('Throws when specifying loadbalancer with Multivalue routing Policy', () => { @@ -388,7 +378,6 @@ describe('service', () => { routingPolicy: servicediscovery.RoutingPolicy.MULTIVALUE, }); }).toThrow(/Cannot register loadbalancers when routing policy is `Multivalue`./); - }); test('Throws when specifying discovery type of DNS within a HttpNamespace', () => { @@ -406,7 +395,6 @@ describe('service', () => { discoveryType: DiscoveryType.DNS_AND_API, }); }).toThrow(/Cannot specify `discoveryType` of DNS_AND_API when using an HTTP namespace./); - }); test('Service for Private DNS namespace', () => { @@ -454,7 +442,6 @@ describe('service', () => { ], }, }); - }); test('Service for DNS namespace with API only discovery', () => { @@ -489,6 +476,5 @@ describe('service', () => { }, Type: 'HTTP', }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ses/test/receipt-filter.test.ts b/packages/aws-cdk-lib/aws-ses/test/receipt-filter.test.ts index 0adfeb9773d99..f3b465a59f002 100644 --- a/packages/aws-cdk-lib/aws-ses/test/receipt-filter.test.ts +++ b/packages/aws-cdk-lib/aws-ses/test/receipt-filter.test.ts @@ -33,7 +33,6 @@ describe('receipt filter', () => { }, }, }); - }); test('can create an allow list filter', () => { @@ -86,6 +85,5 @@ describe('receipt filter', () => { }, }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ses/test/receipt-rule-set.test.ts b/packages/aws-cdk-lib/aws-ses/test/receipt-rule-set.test.ts index 8c9b10586d573..e4425f075faf9 100644 --- a/packages/aws-cdk-lib/aws-ses/test/receipt-rule-set.test.ts +++ b/packages/aws-cdk-lib/aws-ses/test/receipt-rule-set.test.ts @@ -18,7 +18,6 @@ describe('receipt rule set', () => { Template.fromStack(stack).hasResourceProperties('AWS::SES::ReceiptRuleSet', { RuleSetName: 'MyRuleSet', }); - }); test('can create a receipt rule set with drop spam', () => { @@ -52,7 +51,6 @@ describe('receipt rule set', () => { }); Template.fromStack(stack).resourceCountIs('AWS::Lambda::Function', 1); - }); test('drop spam rule should always appear first', () => { @@ -86,7 +84,6 @@ describe('receipt rule set', () => { }); Template.fromStack(stack).resourceCountIs('AWS::Lambda::Function', 1); - }); test('import receipt rule set', () => { @@ -112,6 +109,5 @@ describe('receipt rule set', () => { }, }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-ses/test/receipt-rule.test.ts b/packages/aws-cdk-lib/aws-ses/test/receipt-rule.test.ts index fd3c71fbfab45..0e0001e85b21a 100644 --- a/packages/aws-cdk-lib/aws-ses/test/receipt-rule.test.ts +++ b/packages/aws-cdk-lib/aws-ses/test/receipt-rule.test.ts @@ -65,7 +65,6 @@ describe('receipt rule', () => { }, }, }); - }); test('import receipt rule', () => { @@ -100,7 +99,6 @@ describe('receipt rule', () => { }, }, }); - }); test('can add actions in rule props', () => { @@ -137,7 +135,6 @@ describe('receipt rule', () => { 'Ref': 'RuleSetE30C6C48', }, }); - }); test('can add action with addAction', () => { @@ -171,6 +168,5 @@ describe('receipt rule', () => { 'Ref': 'RuleSetE30C6C48', }, }); - }); }); diff --git a/packages/aws-cdk-lib/aws-sns/lib/subscription.ts b/packages/aws-cdk-lib/aws-sns/lib/subscription.ts index beaa536483263..0e1c9be57c0a3 100644 --- a/packages/aws-cdk-lib/aws-sns/lib/subscription.ts +++ b/packages/aws-cdk-lib/aws-sns/lib/subscription.ts @@ -162,7 +162,6 @@ export class Subscription extends Resource { subscriptionRoleArn: props.subscriptionRoleArn, deliveryPolicy: props.deliveryPolicy ? this.renderDeliveryPolicy(props.deliveryPolicy, props.protocol): undefined, }); - } private renderDeliveryPolicy(deliveryPolicy: DeliveryPolicy, protocol: SubscriptionProtocol): any { diff --git a/packages/aws-cdk-lib/aws-sns/test/sns.test.ts b/packages/aws-cdk-lib/aws-sns/test/sns.test.ts index 700ec97a85b2b..225f6d7caeda1 100644 --- a/packages/aws-cdk-lib/aws-sns/test/sns.test.ts +++ b/packages/aws-cdk-lib/aws-sns/test/sns.test.ts @@ -14,7 +14,6 @@ describe('Topic', () => { new sns.Topic(stack, 'MyTopic'); Template.fromStack(stack).resourceCountIs('AWS::SNS::Topic', 1); - }); test('specify topicName', () => { @@ -27,7 +26,6 @@ describe('Topic', () => { Template.fromStack(stack).hasResourceProperties('AWS::SNS::Topic', { 'TopicName': 'topicName', }); - }); test('specify displayName', () => { @@ -40,7 +38,6 @@ describe('Topic', () => { Template.fromStack(stack).hasResourceProperties('AWS::SNS::Topic', { 'DisplayName': 'displayName', }); - }); test('specify kmsMasterKey', () => { @@ -54,7 +51,6 @@ describe('Topic', () => { Template.fromStack(stack).hasResourceProperties('AWS::SNS::Topic', { 'KmsMasterKeyId': { 'Fn::GetAtt': ['CustomKey1E6D0D07', 'Arn'] }, }); - }); test('specify displayName and topicName', () => { @@ -69,7 +65,6 @@ describe('Topic', () => { 'DisplayName': 'displayName', 'TopicName': 'topicName', }); - }); test('Adds .fifo suffix when no topicName is passed', () => { @@ -83,7 +78,6 @@ describe('Topic', () => { 'FifoTopic': true, 'TopicName': 'MyTopic.fifo', }); - }); test('specify fifo without .fifo suffix in topicName', () => { @@ -98,7 +92,6 @@ describe('Topic', () => { 'FifoTopic': true, 'TopicName': 'topicName.fifo', }); - }); test('specify fifo with .fifo suffix in topicName', () => { @@ -113,7 +106,6 @@ describe('Topic', () => { 'FifoTopic': true, 'TopicName': 'topicName.fifo', }); - }); test('specify fifo without contentBasedDeduplication', () => { @@ -128,7 +120,6 @@ describe('Topic', () => { 'FifoTopic': true, 'TopicName': 'topicName.fifo', }); - }); test('specify fifo with contentBasedDeduplication', () => { @@ -145,7 +136,6 @@ describe('Topic', () => { 'FifoTopic': true, 'TopicName': 'topicName.fifo', }); - }); test('throw with contentBasedDeduplication on non-fifo topic', () => { @@ -154,7 +144,6 @@ describe('Topic', () => { expect(() => new sns.Topic(stack, 'MyTopic', { contentBasedDeduplication: true, })).toThrow(/Content based deduplication can only be enabled for FIFO SNS topics./); - }); test('specify signatureVersion', () => { @@ -213,7 +202,6 @@ describe('Topic', () => { }], }, }); - }); test('can enforce ssl when creating the topic', () => { @@ -283,7 +271,6 @@ describe('Topic', () => { ], }, }); - }); test('give subscribing permissions', () => { @@ -308,7 +295,6 @@ describe('Topic', () => { ], }, }); - }); test('TopicPolicy passed document', () => { @@ -342,7 +328,6 @@ describe('Topic', () => { }, ], }); - }); test('Add statements to policy', () => { @@ -378,7 +363,6 @@ describe('Topic', () => { }, ], }); - }); test('Create topic policy and enforce ssl', () => { @@ -419,7 +403,6 @@ describe('Topic', () => { }, ], }); - }); test('topic resource policy includes unique SIDs', () => { @@ -460,7 +443,6 @@ describe('Topic', () => { }, ], }); - }); test('fromTopicArn', () => { @@ -474,7 +456,6 @@ describe('Topic', () => { expect(imported.topicName).toEqual('my_corporate_topic'); expect(imported.topicArn).toEqual('arn:aws:sns:*:123456789012:my_corporate_topic'); expect(imported.fifo).toEqual(false); - }); test('fromTopicArn fifo', () => { @@ -575,7 +556,6 @@ describe('Topic', () => { period: cdk.Duration.minutes(5), statistic: 'Average', }); - }); test('subscription is created under the topic scope by default', () => { @@ -594,7 +574,6 @@ describe('Topic', () => { // THEN Template.fromStack(stack).resourceCountIs('AWS::SNS::Subscription', 1); - }); test('if "scope" is defined, subscription will be created under that scope', () => { @@ -617,7 +596,6 @@ describe('Topic', () => { // THEN Template.fromStack(stack).resourceCountIs('AWS::SNS::Subscription', 0); Template.fromStack(stack2).resourceCountIs('AWS::SNS::Subscription', 1); - }); test('fails if topic policy has no actions', () => { @@ -634,7 +612,6 @@ describe('Topic', () => { // THEN expect(() => app.synth()).toThrow(/A PolicyStatement must specify at least one \'action\' or \'notAction\'/); - }); test('fails if topic policy has no IAM principals', () => { @@ -651,7 +628,6 @@ describe('Topic', () => { // THEN expect(() => app.synth()).toThrow(/A PolicyStatement used in a resource-based policy must specify at least one IAM principal/); - }); test('topic policy should be set if topic as a notifications rule target', () => { @@ -684,7 +660,6 @@ describe('Topic', () => { Ref: 'TopicBFC7AF6E', }], }); - }); test('specify delivery status logging configuration through construct props', () => { diff --git a/packages/aws-cdk-lib/aws-sns/test/subscription.test.ts b/packages/aws-cdk-lib/aws-sns/test/subscription.test.ts index 4ee7b04a08de8..9209057aa7044 100644 --- a/packages/aws-cdk-lib/aws-sns/test/subscription.test.ts +++ b/packages/aws-cdk-lib/aws-sns/test/subscription.test.ts @@ -25,7 +25,6 @@ describe('Subscription', () => { Ref: 'TopicBFC7AF6E', }, }); - }); test('create a subscription with DLQ when client provides DLQ', () => { @@ -97,7 +96,6 @@ describe('Subscription', () => { }, ], }); - }); test('with filter policy', () => { @@ -153,7 +151,6 @@ describe('Subscription', () => { ], }, }); - }); test('with filter policy and filter policy scope MessageBody', () => { @@ -237,7 +234,6 @@ describe('Subscription', () => { ], }, }); - }); test('with existsFilter', () => { @@ -261,7 +257,6 @@ describe('Subscription', () => { size: [{ exists: true }], }, }); - }); test('with delivery policy', () => { @@ -380,7 +375,6 @@ describe('Subscription', () => { f: cond, }, })).toThrow(/5 attribute names/); - }); test('throws with more than 150 conditions in a filter policy', () => { @@ -399,7 +393,6 @@ describe('Subscription', () => { c: { conditions: [...Array.from(Array(8).keys())] }, }, })).toThrow(/\(160\) must not exceed 150/); - }); test('throws with more than 150 conditions in a filter policy with filter policy scope set to MessageBody', () => { @@ -417,7 +410,6 @@ describe('Subscription', () => { c: sns.Policy.policy({ d: sns.Filter.filter(new sns.SubscriptionFilter([...Array.from(Array(5).keys())])) }), }, })).toThrow(/\(200\) must not exceed 150/); - }); test('throws an error when subscription role arn is not entered with firehose subscription protocol', () => { diff --git a/packages/aws-cdk-lib/aws-ssm/lib/util.ts b/packages/aws-cdk-lib/aws-ssm/lib/util.ts index be4b891e92f55..6aa273e3824a2 100644 --- a/packages/aws-cdk-lib/aws-ssm/lib/util.ts +++ b/packages/aws-cdk-lib/aws-ssm/lib/util.ts @@ -47,7 +47,6 @@ export function arnForParameterName(scope: IConstruct, parameterName: string, op // look for a concrete name as a hint for determining the separator const concreteName = !Token.isUnresolved(parameterName) ? parameterName : physicalName; if (!concreteName || Token.isUnresolved(concreteName)) { - if (options.simpleName === undefined) { throw new ValidationError('Unable to determine ARN separator for SSM parameter since the parameter name is an unresolved token. Use "fromAttributes" and specify "simpleName" explicitly', scope); } @@ -59,7 +58,6 @@ export function arnForParameterName(scope: IConstruct, parameterName: string, op // if users explicitly specify the separator and it conflicts with the one we need, it's an error. if (options.simpleName !== undefined && options.simpleName !== result) { - if (concreteName === AUTOGEN_MARKER) { throw new ValidationError('If "parameterName" is not explicitly defined, "simpleName" must be "true" or undefined since auto-generated parameter names always have simple names', scope); } diff --git a/packages/aws-cdk-lib/aws-ssm/test/parameter.test.ts b/packages/aws-cdk-lib/aws-ssm/test/parameter.test.ts index 7a72d8aa4869f..5440521fb52de 100644 --- a/packages/aws-cdk-lib/aws-ssm/test/parameter.test.ts +++ b/packages/aws-cdk-lib/aws-ssm/test/parameter.test.ts @@ -917,7 +917,6 @@ describe('from string list parameter', () => { }, }); }); - }); describe('valueForStringParameter', () => { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/bedrock/invoke-model.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/bedrock/invoke-model.ts index 0dbe8def6c642..83d60b2eef296 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/bedrock/invoke-model.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/bedrock/invoke-model.ts @@ -303,7 +303,6 @@ export class BedrockInvokeModel extends sfn.TaskStateBase { * @internal */ protected _renderTask(): any { - const useNewS3UriParamsForTask = FeatureFlags.of(this).isEnabled(cxapi.USE_NEW_S3URI_PARAMETERS_FOR_BEDROCK_INVOKE_MODEL_TASK); const inputSource = this.getInputSource(this.props.input, this.props.inputPath, useNewS3UriParamsForTask); const outputSource = this.getOutputSource(this.props.output, this.props.outputPath, useNewS3UriParamsForTask); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts index a23b5c26eff6e..dfce3834728d4 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts @@ -128,7 +128,6 @@ export class EcsRunTaskBase implements ec2.IConnectable, sfn.IStepFunctionsTask assignPublicIp?: boolean, subnetSelection?: ec2.SubnetSelection, securityGroup?: ec2.ISecurityGroup) { - if (subnetSelection === undefined) { subnetSelection = { subnetType: assignPublicIp ? ec2.SubnetType.PUBLIC : ec2.SubnetType.PRIVATE_WITH_EGRESS }; } diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.ts index 5058d365603bd..9aa29254ef6f5 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.ts @@ -295,7 +295,6 @@ export class EmrContainersStartJobRun extends sfn.TaskStateBase implements iam.I return jobExecutionRole; } private grantMonitoringPolicies() { - this.logBucket?.grantReadWrite(this.role); this.logGroup?.grantWrite(this.role); this.logGroup?.grant(this.role, 'logs:DescribeLogStreams'); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-execution.test.ts index 085ac3e562943..247075062d516 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-execution.test.ts @@ -2,7 +2,6 @@ import * as cdk from '../../../core'; import { AthenaGetQueryExecution } from '../../lib/athena/get-query-execution'; describe('Get Query Execution', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-results.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-results.test.ts index 1ef5053d59b18..d1ee00d0809e1 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-results.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/get-query-results.test.ts @@ -2,7 +2,6 @@ import * as cdk from '../../../core'; import { AthenaGetQueryResults } from '../../lib/athena/get-query-results'; describe('Get Query Results', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts index cf1343d68c6cd..213600117b6ae 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts @@ -4,7 +4,6 @@ import * as cdk from '../../../core'; import { AthenaStartQueryExecution, EncryptionOption } from '../../lib/athena/start-query-execution'; describe('Start Query Execution', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/stop-query-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/stop-query-execution.test.ts index 8fcf1ba8a29be..de60919809d16 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/stop-query-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/stop-query-execution.test.ts @@ -2,7 +2,6 @@ import * as cdk from '../../../core'; import { AthenaStopQueryExecution } from '../../lib/athena/stop-query-execution'; describe('Stop Query Execution', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/bedrock/invoke-model.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/bedrock/invoke-model.test.ts index 83537ec7b1639..644b2eac56a21 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/bedrock/invoke-model.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/bedrock/invoke-model.test.ts @@ -7,7 +7,6 @@ import { Guardrail } from '../../lib/bedrock/guardrail'; import { BedrockInvokeModel } from '../../lib/bedrock/invoke-model'; describe('Invoke Model', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(undefined, 'Stack1', { env: { account: '12345678', region: 'us-turbo-1' } }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/databrew/start-job-run.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/databrew/start-job-run.test.ts index 790005fd56c07..25c6981b40e7a 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/databrew/start-job-run.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/databrew/start-job-run.test.ts @@ -3,7 +3,6 @@ import * as cdk from '../../../core'; import { GlueDataBrewStartJobRun } from '../../lib/databrew/start-job-run'; describe('Start Job Run', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/dynamodb/shared-types.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/dynamodb/shared-types.test.ts index 899acbb397533..99af4eba8931a 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/dynamodb/shared-types.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/dynamodb/shared-types.test.ts @@ -258,7 +258,6 @@ describe('DynamoAttributeValue', () => { expect(() => { tasks.DynamoAttributeValue.booleanFromJsonPath(m); }).toThrow("Data JSON path values must either be exactly equal to '$' or start with '$.'"); - }); test('from boolean with json path', () => { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts index 581ddb296d721..d37ce1e353e96 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts @@ -1785,7 +1785,6 @@ test('Create Cluster with autoTerminationPolicyIdleTimeout', () => { }); test.each([0, 604801])('Task throws if autoTerminationPolicyIdleTimeout is set to %d seconds', (idletimeOutSeconds) => { - expect(() => { new EmrCreateCluster(stack, 'Task', { instances: {}, diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke.test.ts index 8b62fe0c6024d..de80c515f6f80 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke.test.ts @@ -7,7 +7,6 @@ import { LambdaInvocationType, LambdaInvoke } from '../../lib'; /* eslint-disable quote-props */ describe('LambdaInvoke', () => { - let stack: Stack; let lambdaFunction: lambda.Function; diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/mediaconvert/create-job.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/mediaconvert/create-job.test.ts index ce3d636a58c40..11352252b7bb9 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/mediaconvert/create-job.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/mediaconvert/create-job.test.ts @@ -10,7 +10,6 @@ beforeEach(() => { }); describe('MediaConvert Create Job', () => { - test('REQUEST_RESPONSE Integration Pattern', () => { // WHEN const task = new MediaConvertCreateJob(stack, 'MediaConvertCreateJob', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/private/task-utils.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/private/task-utils.test.ts index 073dc5987479c..9e3325e188990 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/private/task-utils.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/private/task-utils.test.ts @@ -24,7 +24,6 @@ describe('Task utils', () => { }); describe('integration resource Arn', () => { - let service: string; let api: string; let stack: cdk.Stack; @@ -97,5 +96,4 @@ describe('Task utils', () => { }).toThrow(/Both 'service' and 'api' must be provided to build the resource ARN./); }); }); - }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sagemaker/create-training-job.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sagemaker/create-training-job.test.ts index d3f19a59a063c..bcfe7eef802c7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sagemaker/create-training-job.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sagemaker/create-training-job.test.ts @@ -439,7 +439,6 @@ test('pass param to training job', () => { }); test('Cannot create a SageMaker train task with both algorithm name and image name missing', () => { - expect(() => new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: {}, @@ -462,7 +461,6 @@ test('Cannot create a SageMaker train task with both algorithm name and image na }); test('Cannot create a SageMaker train task with both algorithm name and image name defined', () => { - expect(() => new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: { @@ -488,7 +486,6 @@ test('Cannot create a SageMaker train task with both algorithm name and image na }); test('create a SageMaker train task with trainingImage', () => { - const task = new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: { @@ -522,7 +519,6 @@ test('create a SageMaker train task with trainingImage', () => { }); test('create a SageMaker train task with image URI algorithmName', () => { - const task = new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: { @@ -555,7 +551,6 @@ test('create a SageMaker train task with image URI algorithmName', () => { }); test('Cannot create a SageMaker train task when algorithmName length is 171 or more', () => { - expect(() => new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: { @@ -580,7 +575,6 @@ test('Cannot create a SageMaker train task when algorithmName length is 171 or m }); test('Cannot create a SageMaker train task with incorrect algorithmName', () => { - expect(() => new SageMakerCreateTrainingJob(stack, 'SageMakerTrainingTask', { trainingJobName: 'myTrainJob', algorithmSpecification: { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sns/publish.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sns/publish.test.ts index c20aeca1df599..bf69bbd4c04a9 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sns/publish.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sns/publish.test.ts @@ -4,7 +4,6 @@ import * as cdk from '../../../core'; import { SnsPublish, MessageAttributeDataType, MessageAttribute } from '../../lib/sns/publish'; describe('Publish', () => { - test('default settings', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sqs/send-message.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sqs/send-message.test.ts index f3b4428c3c0d6..89c8e849410c7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sqs/send-message.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/sqs/send-message.test.ts @@ -235,5 +235,4 @@ describe('SqsSendMessage', () => { }); }).toThrow(/Unsupported service integration pattern. Supported Patterns: REQUEST_RESPONSE,WAIT_FOR_TASK_TOKEN. Received: RUN_JOB/); }); - }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/activity.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/activity.test.ts index 03e2746a19a3a..c075f784207a8 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/activity.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/activity.test.ts @@ -69,7 +69,6 @@ describe('Activity', () => { })]), }, }); - }); test('Instantiate Activity with EncryptionConfiguration using Customer Managed Key', () => { diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/distributed-map.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/distributed-map.test.ts index ef170dcb51a1b..0d4446000d05f 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/distributed-map.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/distributed-map.test.ts @@ -965,7 +965,6 @@ describe('Distributed Map State', () => { }); Annotations.fromStack(stack).hasWarning('/Default/Map State', Match.stringLikeRegexp('Property \'ProcessorConfig.executionType\' is ignored, use the \'mapExecutionType\' in the \'DistributedMap\' class instead.')); - }); }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts index 62b088ebe048e..1f9f9c1529967 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts @@ -294,7 +294,6 @@ describe('State Machine Resources', () => { })]), }, }); - }), test('Created state machine can grant start sync execution to a role', () => { @@ -324,7 +323,6 @@ describe('State Machine Resources', () => { })]), }, }); - }), test('Created state machine can grant read access to a role', () => { @@ -410,7 +408,6 @@ describe('State Machine Resources', () => { }, }, ); - }), test('Created state machine can grant task response actions to the state machine', () => { @@ -536,7 +533,6 @@ describe('State Machine Resources', () => { ], }, }); - }), test('Imported state machine can grant start execution to a role', () => { diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts index 53855f1020244..dec3fd344a030 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts @@ -103,7 +103,6 @@ describe('State Machine', () => { StateMachineType: 'STANDARD', DefinitionString: '{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}', }); - }), test('Instantiate Standard State Machine With Comment', () => { @@ -124,7 +123,6 @@ describe('State Machine', () => { StateMachineType: 'STANDARD', DefinitionString: '{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}},"Comment":"zorp"}', }); - }), test('Instantiate Express State Machine', () => { @@ -144,7 +142,6 @@ describe('State Machine', () => { StateMachineType: 'EXPRESS', DefinitionString: '{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}', }); - }), test('Instantiate State Machine With Distributed Map State', () => { diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/states-language.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/states-language.test.ts index 5908518508ec7..04e70f54af654 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/states-language.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/states-language.test.ts @@ -110,7 +110,6 @@ describe('States Language', () => { 'State Three': { Type: 'Wait', End: true, Seconds: 10 }, }, }); - }), test('A state machine definition can be instantiated and chained', () => { @@ -337,7 +336,6 @@ describe('States Language', () => { Finally: { Type: 'Pass', End: true }, }, }); - }), test('State machines can have unconstrainted gotos', () => { @@ -621,7 +619,6 @@ describe('States Language', () => { }), describe('findReachableStates', () => { - test('Can retrieve possible states from initial state', () => { // GIVEN const stack = new cdk.Stack(); diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/task.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/task.test.ts index 69e484c50438b..19448ce8f32f0 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/task.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/task.test.ts @@ -4,7 +4,6 @@ import * as cdk from '../../core'; import * as sfn from '../lib'; describeDeprecated('Task state', () => { - let stack: cdk.Stack; let task: sfn.Task; @@ -95,7 +94,6 @@ describeDeprecated('Task state', () => { // THEN verifyMetric(metric, 'TimedOut', 'Sum'); }); - }); function verifyMetric(metric: Metric, metricName: string, statistic: string) { diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/wait.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/wait.test.ts index 3de2b65b1062b..26cd4d8076650 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/wait.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/wait.test.ts @@ -95,5 +95,4 @@ describe('Wait State', () => { }, }); }); - }); diff --git a/packages/aws-cdk-lib/aws-synthetics/lib/code.ts b/packages/aws-cdk-lib/aws-synthetics/lib/code.ts index 432ea634017b9..e91de5816a3f8 100644 --- a/packages/aws-cdk-lib/aws-synthetics/lib/code.ts +++ b/packages/aws-cdk-lib/aws-synthetics/lib/code.ts @@ -180,7 +180,6 @@ export class InlineCode extends Code { } public bind(scope: Construct, handler: string, _family: RuntimeFamily, _runtimeName?: string): CodeConfig { - if (handler !== 'index.handler') { throw new ValidationError(`The handler for inline code must be "index.handler" (got "${handler}")`, scope); } diff --git a/packages/aws-cdk-lib/cloudformation-include/lib/cfn-include.ts b/packages/aws-cdk-lib/cloudformation-include/lib/cfn-include.ts index 94755a0734e24..472eae08833f7 100644 --- a/packages/aws-cdk-lib/cloudformation-include/lib/cfn-include.ts +++ b/packages/aws-cdk-lib/cloudformation-include/lib/cfn-include.ts @@ -687,7 +687,6 @@ export class CfnInclude extends core.CfnElement { } else if (this.nestedStacksToInclude[logicalId]) { l1Instance = this.createNestedStack(logicalId, cfnParser); } else if (this.dehydratedResources.includes(logicalId)) { - l1Instance = new core.CfnResource(this, logicalId, { type: resourceAttributes.Type, properties: resourceAttributes.Properties, diff --git a/packages/aws-cdk-lib/core/lib/cfn-codedeploy-blue-green-hook.ts b/packages/aws-cdk-lib/core/lib/cfn-codedeploy-blue-green-hook.ts index 2f64d5656c78e..a15ef37c67780 100644 --- a/packages/aws-cdk-lib/core/lib/cfn-codedeploy-blue-green-hook.ts +++ b/packages/aws-cdk-lib/core/lib/cfn-codedeploy-blue-green-hook.ts @@ -298,7 +298,6 @@ export class CfnCodeDeployBlueGreenHook extends CfnHook { */ public static _fromCloudFormation(scope: Construct, id: string, hookAttributes: any, options: FromCloudFormationOptions): CfnCodeDeployBlueGreenHook { - hookAttributes = hookAttributes || {}; const hookProperties = options.parser.parseValue(hookAttributes.Properties); return new CfnCodeDeployBlueGreenHook(scope, id, { diff --git a/packages/aws-cdk-lib/core/lib/private/refs.ts b/packages/aws-cdk-lib/core/lib/private/refs.ts index 3290f8936e903..100b06e987285 100644 --- a/packages/aws-cdk-lib/core/lib/private/refs.ts +++ b/packages/aws-cdk-lib/core/lib/private/refs.ts @@ -144,7 +144,6 @@ function renderReference(ref: CfnReference) { function findAllReferences(root: IConstruct) { const result = new Array<{ source: CfnElement; value: CfnReference }>(); for (const consumer of root.node.findAll()) { - // include only CfnElements (i.e. resources) if (!CfnElement.isCfnElement(consumer)) { continue; @@ -156,7 +155,6 @@ function findAllReferences(root: IConstruct) { // iterate over all the tokens (e.g. intrinsic functions, lazies, etc) that // were found in the cloudformation representation of this resource. for (const token of tokens) { - // include only CfnReferences (i.e. "Ref" and "Fn::GetAtt") if (!CfnReference.isCfnReference(token)) { continue; diff --git a/packages/aws-cdk-lib/core/lib/private/synthesis.ts b/packages/aws-cdk-lib/core/lib/private/synthesis.ts index aee790052bf3e..b351695490400 100644 --- a/packages/aws-cdk-lib/core/lib/private/synthesis.ts +++ b/packages/aws-cdk-lib/core/lib/private/synthesis.ts @@ -297,7 +297,6 @@ function invokeAspectsV2(root: IConstruct) { const allAspectsHere = sortAspectsByPriority(inheritedAspects, localAspects); for (const aspectApplication of allAspectsHere) { - let invoked = invokedByPath[node.path]; if (!invoked) { invoked = invokedByPath[node.path] = []; diff --git a/packages/aws-cdk-lib/core/lib/stack-synthesizers/_shared.ts b/packages/aws-cdk-lib/core/lib/stack-synthesizers/_shared.ts index 686968298475c..9d04d067c8aee 100644 --- a/packages/aws-cdk-lib/core/lib/stack-synthesizers/_shared.ts +++ b/packages/aws-cdk-lib/core/lib/stack-synthesizers/_shared.ts @@ -20,7 +20,6 @@ export function addStackArtifactToAssembly( stack: Stack, stackProps: Partial, additionalStackDependencies: string[]) { - const stackTags = stack.tags.tagValues(); // nested stack tags are applied at the AWS::CloudFormation::Stack resource diff --git a/packages/aws-cdk-lib/core/lib/stack.ts b/packages/aws-cdk-lib/core/lib/stack.ts index b7da0a5e7fcb5..ac9576006b1ad 100644 --- a/packages/aws-cdk-lib/core/lib/stack.ts +++ b/packages/aws-cdk-lib/core/lib/stack.ts @@ -584,7 +584,6 @@ export class Stack extends Construct implements ITaggable { } }, }, { priority: AspectPriority.MUTATING }); - } } @@ -1129,7 +1128,6 @@ export class Stack extends Construct implements ITaggable { fs.writeFileSync(outPath, templateData); for (const ctx of this._missingContext) { - // 'account' and 'region' are added to the schema at tree instantiation time. // these options however are only known at synthesis, so are added here. // see https://github.com/aws/aws-cdk/blob/v2.158.0/packages/aws-cdk-lib/core/lib/context-provider.ts#L71 diff --git a/packages/aws-cdk-lib/core/lib/stage.ts b/packages/aws-cdk-lib/core/lib/stage.ts index ff50cbb895944..11a8aa12d3d4e 100644 --- a/packages/aws-cdk-lib/core/lib/stage.ts +++ b/packages/aws-cdk-lib/core/lib/stage.ts @@ -217,7 +217,6 @@ export class Stage extends Construct { * calls will return the same assembly. */ public synth(options: StageSynthesisOptions = { }): cxapi.CloudAssembly { - let newConstructPaths = this.listAllConstructPaths(this); // If the assembly cache is uninitiazed, run synthesize and reset construct paths cache diff --git a/packages/aws-cdk-lib/core/test/arn.test.ts b/packages/aws-cdk-lib/core/test/arn.test.ts index c8ad2b4462c5e..0d35b136eb104 100644 --- a/packages/aws-cdk-lib/core/test/arn.test.ts +++ b/packages/aws-cdk-lib/core/test/arn.test.ts @@ -101,12 +101,10 @@ describe('arn', () => { }); describeDeprecated('Arn.parse(s)', () => { - describe('fails', () => { test('if doesn\'t start with "arn:"', () => { const stack = new Stack(); expect(() => stack.parseArn('barn:foo:x:a:1:2')).toThrow(/ARNs must start with "arn:".*barn:foo/); - }); test('if the ARN doesnt have enough components', () => { diff --git a/packages/aws-cdk-lib/core/test/aspect.prop.test.ts b/packages/aws-cdk-lib/core/test/aspect.prop.test.ts index 1dea10d0b15f9..79d0325bbb7a6 100644 --- a/packages/aws-cdk-lib/core/test/aspect.prop.test.ts +++ b/packages/aws-cdk-lib/core/test/aspect.prop.test.ts @@ -56,7 +56,6 @@ describe('every aspect gets invoked exactly once', () => { fc.assert( fc.property(appWithAspects(), (app) => { afterSynth((testApp) => { - const allConstructsOnApp = testApp.cdkApp.node.findAll(); const allAspectApplications = getAllAspectApplications(allConstructsOnApp); const visitsMap = getVisitsMap(testApp.actionLog); diff --git a/packages/aws-cdk-lib/core/test/assets.test.ts b/packages/aws-cdk-lib/core/test/assets.test.ts index e17bd22a49efd..271ba4e0ce66f 100644 --- a/packages/aws-cdk-lib/core/test/assets.test.ts +++ b/packages/aws-cdk-lib/core/test/assets.test.ts @@ -90,7 +90,6 @@ describe('assets', () => { } expect(toCloudFormation(stack)).toEqual({ }); - }); test('addDockerImageAsset uses the default repository name', () => { @@ -114,7 +113,6 @@ describe('assets', () => { } expect(toCloudFormation(stack)).toEqual({ }); - }); test('addDockerImageAsset supports overriding repository name through a context key as a workaround until we have API for that', () => { @@ -141,7 +139,6 @@ describe('assets', () => { } expect(toCloudFormation(stack)).toEqual({ }); - }); test('cached disabled', () => { diff --git a/packages/aws-cdk-lib/core/test/bundling.test.ts b/packages/aws-cdk-lib/core/test/bundling.test.ts index 7644bef721171..0618d11d759a1 100644 --- a/packages/aws-cdk-lib/core/test/bundling.test.ts +++ b/packages/aws-cdk-lib/core/test/bundling.test.ts @@ -9,7 +9,6 @@ const dockerCmd = process.env.CDK_DOCKER ?? 'docker'; describe('bundling', () => { afterEach(() => { sinon.restore(); - }); test('bundling with image from registry', () => { @@ -240,7 +239,6 @@ describe('bundling', () => { 'run', '--rm', tag, ])).toEqual(true); - }); test('throws in case of spawnSync error', () => { diff --git a/packages/aws-cdk-lib/core/test/cfn-json.test.ts b/packages/aws-cdk-lib/core/test/cfn-json.test.ts index 7885a0fbedc3c..2d275f920bbeb 100644 --- a/packages/aws-cdk-lib/core/test/cfn-json.test.ts +++ b/packages/aws-cdk-lib/core/test/cfn-json.test.ts @@ -2,7 +2,6 @@ import { App, CfnResource, Lazy, Stack } from '../lib'; import { CfnJson } from '../lib/cfn-json'; describe('cfn json', () => { - test('resolves to a fn::getatt', () => { // GIVEN const app = new App(); diff --git a/packages/aws-cdk-lib/core/test/cloudformation-json.test.ts b/packages/aws-cdk-lib/core/test/cloudformation-json.test.ts index 2bddd5876cc29..ec817b115b4af 100644 --- a/packages/aws-cdk-lib/core/test/cloudformation-json.test.ts +++ b/packages/aws-cdk-lib/core/test/cloudformation-json.test.ts @@ -30,7 +30,6 @@ test('JSONification of undefined leads to undefined', () => { }); describe('tokens that return literals', () => { - test('string tokens can be JSONified and JSONification can be reversed', () => { for (const token of tokensThatResolveTo('woof woof')) { // GIVEN diff --git a/packages/aws-cdk-lib/core/test/context.test.ts b/packages/aws-cdk-lib/core/test/context.test.ts index e7d8c638ed5de..922e101fc5e68 100644 --- a/packages/aws-cdk-lib/core/test/context.test.ts +++ b/packages/aws-cdk-lib/core/test/context.test.ts @@ -10,7 +10,6 @@ describe('context', () => { const azs = stack.availabilityZones; expect(azs).toEqual(['dummy1a', 'dummy1b', 'dummy1c']); - }); test('AvailabilityZoneProvider will return context list if available', () => { diff --git a/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts b/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts index 44305d5ba0427..94318fd0a7960 100644 --- a/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts +++ b/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts @@ -274,7 +274,6 @@ describe('custom resource provider', () => { }, }, }); - }); test('asset metadata added to custom resource that contains code definition', () => { @@ -299,7 +298,6 @@ describe('custom resource provider', () => { // The asset path should be a temporary folder prefixed with 'cdk-custom-resource' 'aws:asset:path': expect.stringMatching(/^.*\/cdk-custom-resource\w{6}\/?$/), }); - }); test('custom resource provided creates asset in new-style synthesis with relative path', () => { @@ -335,7 +333,6 @@ describe('custom resource provider', () => { if (!assetFilename || assetFilename.startsWith(path.sep)) { throw new Error(`Asset filename must be a relative path, got: ${assetFilename}`); } - }); test('policyStatements can be used to add statements to the inline policy', () => { @@ -362,7 +359,6 @@ describe('custom resource provider', () => { Statement: [{ statement1: 123 }, { statement2: { foo: 111 } }], }, }]); - }); test('addToRolePolicy() can be used to add statements to the inline policy', () => { @@ -411,7 +407,6 @@ describe('custom resource provider', () => { expect(lambda.Properties.MemorySize).toEqual(2048); expect(lambda.Properties.Timeout).toEqual(300); expect(lambda.Properties.Description).toEqual('veni vidi vici'); - }); test('environment variables', () => { @@ -437,7 +432,6 @@ describe('custom resource provider', () => { B: 'b', }), }); - }); test('roleArn', () => { @@ -457,7 +451,6 @@ describe('custom resource provider', () => { 'Arn', ], }); - }); }); diff --git a/packages/aws-cdk-lib/core/test/environment.test.ts b/packages/aws-cdk-lib/core/test/environment.test.ts index 9e851c7469bc3..05085a8a3003d 100644 --- a/packages/aws-cdk-lib/core/test/environment.test.ts +++ b/packages/aws-cdk-lib/core/test/environment.test.ts @@ -7,7 +7,6 @@ describe('environment', () => { expect(Token.isUnresolved(stack.region)).toEqual(true); expect(stack.resolve(stack.account)).toEqual({ Ref: 'AWS::AccountId' }); expect(stack.resolve(stack.region)).toEqual({ Ref: 'AWS::Region' }); - }); test('If only `env.region` or `env.account` are specified, Refs will be used for the other', () => { diff --git a/packages/aws-cdk-lib/core/test/errors.test.ts b/packages/aws-cdk-lib/core/test/errors.test.ts index 7a0ab7b89d97e..1f62868760b9c 100644 --- a/packages/aws-cdk-lib/core/test/errors.test.ts +++ b/packages/aws-cdk-lib/core/test/errors.test.ts @@ -40,5 +40,4 @@ describe('ValidationError', () => { expect(error.name).toBe('ValidationError'); expect(error.stack).toContain('ValidationError: this is an error'); }); - }); diff --git a/packages/aws-cdk-lib/core/test/fn.test.ts b/packages/aws-cdk-lib/core/test/fn.test.ts index a69b71f27a4fc..d4347b5ef4406 100644 --- a/packages/aws-cdk-lib/core/test/fn.test.ts +++ b/packages/aws-cdk-lib/core/test/fn.test.ts @@ -210,7 +210,6 @@ describe('fn', () => { expect(stack.resolve(Fn.ref('hello'))).toEqual({ Ref: 'hello', }); - }); }); diff --git a/packages/aws-cdk-lib/core/test/fs/fs-copy.test.ts b/packages/aws-cdk-lib/core/test/fs/fs-copy.test.ts index 61af772b801ed..7cb30f207ad58 100644 --- a/packages/aws-cdk-lib/core/test/fs/fs-copy.test.ts +++ b/packages/aws-cdk-lib/core/test/fs/fs-copy.test.ts @@ -24,7 +24,6 @@ describe('fs copy', () => { ' subdir3 (D)', ' file3.txt', ]); - }); test('Always: follow all symlinks', () => { @@ -49,7 +48,6 @@ describe('fs copy', () => { ' file-in-subdir.txt', 'normal-file.txt', ]); - }); test('Never: do not follow all symlinks', () => { @@ -72,7 +70,6 @@ describe('fs copy', () => { ' file-in-subdir.txt', 'normal-file.txt', ]); - }); test('External: follow only external symlinks', () => { @@ -96,7 +93,6 @@ describe('fs copy', () => { ' file-in-subdir.txt', 'normal-file.txt', ]); - }); test('exclude', () => { @@ -120,7 +116,6 @@ describe('fs copy', () => { ' subdir3 (D)', ' file3.txt', ]); - }); }); diff --git a/packages/aws-cdk-lib/core/test/fs/fs-fingerprint.test.ts b/packages/aws-cdk-lib/core/test/fs/fs-fingerprint.test.ts index c2f5106e416a8..3b5b97b807106 100644 --- a/packages/aws-cdk-lib/core/test/fs/fs-fingerprint.test.ts +++ b/packages/aws-cdk-lib/core/test/fs/fs-fingerprint.test.ts @@ -25,7 +25,6 @@ describe('fs fingerprint', () => { // THEN expect(hash1).toEqual(hash2); expect(hash3).not.toEqual(hash1); - }); test('works on empty files', () => { @@ -42,7 +41,6 @@ describe('fs fingerprint', () => { // THEN expect(hash1).toEqual(hash2); - }); }); @@ -59,7 +57,6 @@ describe('fs fingerprint', () => { // THEN expect(hashSrc).toEqual(hashCopy); - }); test('ignores requested files', () => { @@ -76,7 +73,6 @@ describe('fs fingerprint', () => { // THEN expect(hashSrc).toEqual(hashCopy); - }); test('changes with file names', () => { @@ -94,7 +90,6 @@ describe('fs fingerprint', () => { // THEN expect(hashSrc).not.toEqual(hashCopy); - }); }); @@ -151,7 +146,6 @@ describe('fs fingerprint', () => { // THEN expect(original).toEqual(afterChange); expect(afterRevert).toEqual(original); - }); }); @@ -174,7 +168,6 @@ describe('fs fingerprint', () => { expect(crlfHash).toEqual(lfHash); // Same hash fs.unlinkSync(crlf); - }); }); diff --git a/packages/aws-cdk-lib/core/test/fs/fs.test.ts b/packages/aws-cdk-lib/core/test/fs/fs.test.ts index 0b57dde2bc2c3..d66163aef79dc 100644 --- a/packages/aws-cdk-lib/core/test/fs/fs.test.ts +++ b/packages/aws-cdk-lib/core/test/fs/fs.test.ts @@ -7,7 +7,6 @@ import { FileSystem } from '../../lib/fs'; describe('fs', () => { afterEach(() => { sinon.restore(); - }); test('tmpdir returns a real path and is cached', () => { @@ -32,7 +31,6 @@ describe('fs', () => { fs.unlinkSync(p); fs.unlinkSync(symlinkTmp); - }); test('mkdtemp creates a temporary directory in the system temp', () => { @@ -42,6 +40,5 @@ describe('fs', () => { expect(fs.existsSync(tmpdir)).toEqual(true); fs.rmdirSync(tmpdir); - }); }); diff --git a/packages/aws-cdk-lib/core/test/fs/utils.test.ts b/packages/aws-cdk-lib/core/test/fs/utils.test.ts index 4cb48a409590a..2594d4f06cc99 100644 --- a/packages/aws-cdk-lib/core/test/fs/utils.test.ts +++ b/packages/aws-cdk-lib/core/test/fs/utils.test.ts @@ -15,7 +15,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.ALWAYS, sourceRoot, linkTarget)).toEqual(true); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -28,7 +27,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.ALWAYS, sourceRoot, linkTarget)).toEqual(true); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -41,7 +39,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.ALWAYS, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -54,7 +51,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.ALWAYS, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -69,7 +65,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.EXTERNAL, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.notCalled).toEqual(true); - } finally { mockFsExists.restore(); } @@ -82,7 +77,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.EXTERNAL, sourceRoot, linkTarget)).toEqual(true); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -95,7 +89,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.EXTERNAL, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -110,7 +103,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.BLOCK_EXTERNAL, sourceRoot, linkTarget)).toEqual(true); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -123,7 +115,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.BLOCK_EXTERNAL, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.calledOnceWith(linkTarget)).toEqual(true); - } finally { mockFsExists.restore(); } @@ -136,7 +127,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.BLOCK_EXTERNAL, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.notCalled).toEqual(true); - } finally { mockFsExists.restore(); } @@ -151,7 +141,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.NEVER, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.notCalled).toEqual(true); - } finally { mockFsExists.restore(); } @@ -164,7 +153,6 @@ describe('utils', () => { try { expect(util.shouldFollow(SymlinkFollowMode.NEVER, sourceRoot, linkTarget)).toEqual(false); expect(mockFsExists.notCalled).toEqual(true); - } finally { mockFsExists.restore(); } diff --git a/packages/aws-cdk-lib/core/test/metadata-resource.test.ts b/packages/aws-cdk-lib/core/test/metadata-resource.test.ts index c2b05ffa881b9..646fe770c1c16 100644 --- a/packages/aws-cdk-lib/core/test/metadata-resource.test.ts +++ b/packages/aws-cdk-lib/core/test/metadata-resource.test.ts @@ -174,7 +174,6 @@ describe('formatAnalytics', () => { function expectAnalytics(constructs: ConstructInfo[], expectedPlaintext: string) { expect(plaintextConstructsFromAnalytics(formatAnalytics(constructs))).toEqual(expectedPlaintext); } - }); function plaintextConstructsFromAnalytics(analytics: string) { diff --git a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts index 384e83dc2fc3b..83360dd7d0cdf 100644 --- a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts +++ b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts @@ -81,7 +81,6 @@ describe('bundling', () => { '--volumes-from', helper.copyContainerName, 'public.ecr.aws/docker/library/alpine', ]), { encoding: 'utf-8', stdio: ['ignore', process.stderr, 'inherit'] })).toEqual(true); - }); test('AssetBundlingBindMount bundles with bind mount ', () => { diff --git a/packages/aws-cdk-lib/core/test/private/physical-name-generator.test.ts b/packages/aws-cdk-lib/core/test/private/physical-name-generator.test.ts index e594674e305fc..59dabd5106389 100644 --- a/packages/aws-cdk-lib/core/test/private/physical-name-generator.test.ts +++ b/packages/aws-cdk-lib/core/test/private/physical-name-generator.test.ts @@ -12,7 +12,6 @@ describe('physical name generator', () => { expect(generatePhysicalName(testResourceA)).toEqual('teststackteststackaa164c141d59b37c1b663'); expect(generatePhysicalName(testResourceB)).toEqual('teststackteststackab27595cd34d8188283a1f'); - }); test('generates different names in different accounts', () => { @@ -25,7 +24,6 @@ describe('physical name generator', () => { const resourceB = new TestResource(stackB, 'Resource'); expect(generatePhysicalName(resourceA)).not.toEqual(generatePhysicalName(resourceB)); - }); test('generates different names in different regions', () => { @@ -38,7 +36,6 @@ describe('physical name generator', () => { const resourceB = new TestResource(stackB, 'Resource'); expect(generatePhysicalName(resourceA)).not.toEqual(generatePhysicalName(resourceB)); - }); test('fails when the region is an unresolved token', () => { @@ -48,7 +45,6 @@ describe('physical name generator', () => { expect(() => generatePhysicalName(testResource)).toThrow( /Cannot generate a physical name for TestStack\/A, because the region is un-resolved or missing/); - }); test('fails when the region is not provided', () => { @@ -58,7 +54,6 @@ describe('physical name generator', () => { expect(() => generatePhysicalName(testResource)).toThrow( /Cannot generate a physical name for TestStack\/A, because the region is un-resolved or missing/); - }); test('fails when the account is an unresolved token', () => { @@ -68,7 +63,6 @@ describe('physical name generator', () => { expect(() => generatePhysicalName(testResource)).toThrow( /Cannot generate a physical name for TestStack\/A, because the account is un-resolved or missing/); - }); test('fails when the account is not provided', () => { @@ -78,7 +72,6 @@ describe('physical name generator', () => { expect(() => generatePhysicalName(testResource)).toThrow( /Cannot generate a physical name for TestStack\/A, because the account is un-resolved or missing/); - }); }); @@ -88,7 +81,6 @@ describe('physical name generator', () => { const asString = Token.asString(marker); expect(isGeneratedWhenNeededMarker(asString)).toEqual(true); - }); test('throws when resolved', () => { @@ -96,7 +88,6 @@ describe('physical name generator', () => { const asString = Token.asString(marker); expect(() => new Stack().resolve(asString)).toThrow(/Use "this.physicalName" instead/); - }); }); @@ -104,7 +95,6 @@ describe('physical name generator', () => { test('correctly response for other tokens', () => { expect(isGeneratedWhenNeededMarker('this is not even a token!')).toEqual(false); expect(isGeneratedWhenNeededMarker(Lazy.string({ produce: () => 'Bazinga!' }))).toEqual(false); - }); }); }); diff --git a/packages/aws-cdk-lib/core/test/resource.test.ts b/packages/aws-cdk-lib/core/test/resource.test.ts index f32acba97d324..6f98a88739d8b 100644 --- a/packages/aws-cdk-lib/core/test/resource.test.ts +++ b/packages/aws-cdk-lib/core/test/resource.test.ts @@ -329,7 +329,6 @@ describe('resource', () => { }); test('addDependency adds all dependencyElements of dependent constructs', () => { - class C1 extends Construct { public readonly r1: CfnResource; public readonly r2: CfnResource; diff --git a/packages/aws-cdk-lib/core/test/stack-synthesis/clicreds-synthesis.test.ts b/packages/aws-cdk-lib/core/test/stack-synthesis/clicreds-synthesis.test.ts index c688431df804c..a4fb3236612c0 100644 --- a/packages/aws-cdk-lib/core/test/stack-synthesis/clicreds-synthesis.test.ts +++ b/packages/aws-cdk-lib/core/test/stack-synthesis/clicreds-synthesis.test.ts @@ -81,7 +81,6 @@ describe('CLI creds synthesis', () => { // THEN - we have a fixed asset location with region placeholders expect(evalCFN(location.repositoryName)).toEqual('cdk-hnb659fds-container-assets-the_account-the_region'); expect(evalCFN(location.imageUri)).toEqual('the_account.dkr.ecr.the_region.domain.aws/cdk-hnb659fds-container-assets-the_account-the_region:abcdef'); - }); test('synthesis', () => { diff --git a/packages/aws-cdk-lib/core/test/stack-synthesis/new-style-synthesis.test.ts b/packages/aws-cdk-lib/core/test/stack-synthesis/new-style-synthesis.test.ts index 25a70bc5b3fb7..961893c31baf5 100644 --- a/packages/aws-cdk-lib/core/test/stack-synthesis/new-style-synthesis.test.ts +++ b/packages/aws-cdk-lib/core/test/stack-synthesis/new-style-synthesis.test.ts @@ -24,7 +24,6 @@ describe('new style synthesis', () => { }, }); stack = new Stack(app, 'Stack'); - }); test('stack template is in asset manifest', () => { @@ -60,7 +59,6 @@ describe('new style synthesis', () => { }, }, }); - }); test('version check is added to both template and manifest artifact', () => { @@ -102,7 +100,6 @@ describe('new style synthesis', () => { // THEN const template = app.synth().getStackByName('Stack2').template; expect(template?.Rules?.CheckBootstrapVersion).toEqual(undefined); - }); test('can set role additional options tags on default stack synthesizer', () => { @@ -162,7 +159,6 @@ describe('new style synthesis', () => { expect(asm.manifest.missing![0].props.assumeRoleAdditionalOptions).toEqual({ Tags: [{ Key: 'Department', Value: 'Engineering-LookupRoleTag' }], }); - }); test('customize version parameter', () => { @@ -244,7 +240,6 @@ describe('new style synthesis', () => { // THEN const assembly = app.synth(); expect(assembly.manifest.missing![0].props.lookupRoleArn).toEqual('arn:${AWS::Partition}:iam::111111111111:role/cdk-hnb659fds-lookup-role-111111111111-us-east-1'); - }); test('generates missing context with the lookup role external id as one of the missing context properties', () => { @@ -267,7 +262,6 @@ describe('new style synthesis', () => { // THEN const assembly = app.synth(); expect(assembly.manifest.missing![0].props.lookupRoleExternalId).toEqual('External'); - }); test('nested Stack uses the lookup role ARN of the parent stack', () => { @@ -285,7 +279,6 @@ describe('new style synthesis', () => { // THEN expect(nestedStack.synthesizer.lookupRole).toEqual('arn:${AWS::Partition}:iam::111111111111:role/cdk-hnb659fds-lookup-role-111111111111-us-east-1'); - }); test('add file asset', () => { @@ -303,7 +296,6 @@ describe('new style synthesis', () => { // THEN - object key contains source hash somewhere expect(location.objectKey.indexOf('abcdef')).toBeGreaterThan(-1); - }); test('add docker image asset', () => { @@ -316,7 +308,6 @@ describe('new style synthesis', () => { // THEN - we have a fixed asset location with region placeholders expect(evalCFN(location.repositoryName)).toEqual('cdk-hnb659fds-container-assets-the_account-the_region'); expect(evalCFN(location.imageUri)).toEqual('the_account.dkr.ecr.the_region.domain.aws/cdk-hnb659fds-container-assets-the_account-the_region:abcdef'); - }); test('dockerBuildArgs or dockerBuildSecrets without directoryName', () => { @@ -377,7 +368,6 @@ describe('new style synthesis', () => { expect(destination.assumeRoleArn).toEqual('arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}'); } } - }); test('customize publishing resources', () => { @@ -426,7 +416,6 @@ describe('new style synthesis', () => { assumeRoleArn: 'image:role:arn', assumeRoleExternalId: 'image-external-id', }); - }); test('customize deploy role externalId', () => { @@ -445,7 +434,6 @@ describe('new style synthesis', () => { const stackArtifact = asm.getStackByName(mystack.stackName); expect(stackArtifact.assumeRoleExternalId).toEqual('deploy-external-id'); - }); test('synthesis with bucketPrefix', () => { @@ -488,7 +476,6 @@ describe('new style synthesis', () => { const templateHash = last(stackArtifact.stackTemplateAssetObjectUrl?.split('/')); expect(stackArtifact.stackTemplateAssetObjectUrl).toEqual(`s3://file-asset-bucket/000000000000/${templateHash}`); - }); test('synthesis with dockerPrefix', () => { diff --git a/packages/aws-cdk-lib/core/test/stack.test.ts b/packages/aws-cdk-lib/core/test/stack.test.ts index 0178231f18ccd..fd576be7d6369 100644 --- a/packages/aws-cdk-lib/core/test/stack.test.ts +++ b/packages/aws-cdk-lib/core/test/stack.test.ts @@ -166,7 +166,6 @@ describe('stack', () => { // We should come up with a proper solution that involved jsii callbacks (when they exist) // so this can be implemented by jsii languages as well. test('Overriding `Stack._toCloudFormation` allows arbitrary post-processing of the generated template during synthesis', () => { - const stack = new StackWithPostProcessor(); new CfnResource(stack, 'myResource', { @@ -198,7 +197,6 @@ describe('stack', () => { }); test('Stack.getByPath can be used to find any CloudFormation element (Parameter, Output, etc)', () => { - const stack = new Stack(); const p = new CfnParameter(stack, 'MyParam', { type: 'String' }); @@ -2098,7 +2096,6 @@ describe('stack', () => { }); test('stack notification arns defaults to undefined', () => { - const app = new App({ stackTraces: false }); const stack1 = new Stack(app, 'stack1', {}); @@ -2431,7 +2428,6 @@ describe('regionalFact', () => { }, }, }); - }); test('regional facts generate a mapping if necessary', () => { diff --git a/packages/aws-cdk-lib/core/test/staging.test.ts b/packages/aws-cdk-lib/core/test/staging.test.ts index e7fae0974a940..e4c21a3415611 100644 --- a/packages/aws-cdk-lib/core/test/staging.test.ts +++ b/packages/aws-cdk-lib/core/test/staging.test.ts @@ -135,7 +135,6 @@ describe('staging', () => { expect(stagingNotArchive.isArchive).toEqual(false); expect(stagingDockerFile.packaging).toEqual(FileAssetPackaging.FILE); expect(stagingDockerFile.isArchive).toEqual(false); - }); test('asset packaging type is correct when staging is skipped because of memory cache', () => { diff --git a/packages/aws-cdk-lib/core/test/synthesis.test.ts b/packages/aws-cdk-lib/core/test/synthesis.test.ts index 90760a19d05da..a4b99a8309741 100644 --- a/packages/aws-cdk-lib/core/test/synthesis.test.ts +++ b/packages/aws-cdk-lib/core/test/synthesis.test.ts @@ -286,7 +286,6 @@ describe('synthesis', () => { }); test('when deploy role session tags are configured, required stack bootstrap version is 22', () => { - const app = new cdk.App(); const stack = new cdk.Stack(app, 'stack', { synthesizer: new cdk.DefaultStackSynthesizer({ @@ -306,11 +305,9 @@ describe('synthesis', () => { // ugly - but no more than using the snapshot of the resource... const bootstrapVersions = (versionRule._toCloudFormation() as any).Rules[versionRule.logicalId].Assertions[0].Assert['Fn::Not'][0]['Fn::Contains'][0]; expect(bootstrapVersions).toContain('21'); - }); test('when lookup role session tags are configured, required lookup bootstrap version is 22', () => { - const app = new cdk.App(); new cdk.Stack(app, 'stack', { synthesizer: new cdk.DefaultStackSynthesizer({ @@ -324,11 +321,9 @@ describe('synthesis', () => { const stackArtifact = assembly.getStackByName('stack'); expect(stackArtifact.lookupRole?.requiresBootstrapStackVersion).toEqual(22); - }); test('when file asset role session tags are configured, required assets bootstrap version is 22', () => { - const app = new cdk.App(); new cdk.Stack(app, 'stack', { synthesizer: new cdk.DefaultStackSynthesizer({ @@ -342,11 +337,9 @@ describe('synthesis', () => { const assetsArtifact = assembly.tryGetArtifact('stack.assets') as cxapi.AssetManifestArtifact; expect(assetsArtifact.requiresBootstrapStackVersion).toEqual(22); - }); test('when image asset role session tags are configured, required assets bootstrap version is 22', () => { - const app = new cdk.App(); new cdk.Stack(app, 'stack', { synthesizer: new cdk.DefaultStackSynthesizer({ @@ -360,7 +353,6 @@ describe('synthesis', () => { const assetsArtifact = assembly.tryGetArtifact('stack.assets') as cxapi.AssetManifestArtifact; expect(assetsArtifact.requiresBootstrapStackVersion).toEqual(22); - }); test('calling synth multiple times errors if construct tree is mutated', () => { diff --git a/packages/aws-cdk-lib/core/test/tokens.test.ts b/packages/aws-cdk-lib/core/test/tokens.test.ts index 83606b9be7b68..748b90b7dd99a 100644 --- a/packages/aws-cdk-lib/core/test/tokens.test.ts +++ b/packages/aws-cdk-lib/core/test/tokens.test.ts @@ -546,7 +546,6 @@ describe('tokens', () => { restoreStackTraceColection(previousValue); expect(token.creationTrace.find(x => x.includes('fn1'))).toBeDefined(); expect(token.creationTrace.find(x => x.includes('fn2'))).toBeDefined(); - }); test('newError returns an error with the creation stack trace', () => { diff --git a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts index 08f8ff0299161..50f5c241d4323 100644 --- a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts +++ b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts @@ -446,13 +446,11 @@ export class AwsCustomResource extends Construct implements iam.IGrantable { public static readonly PROVIDER_FUNCTION_UUID = '679f53fa-c002-430c-b0da-5b7982bd2287'; private static breakIgnoreErrorsCircuit(sdkCalls: Array, caller: string) { - for (const call of sdkCalls) { if (call?.ignoreErrorCodesMatching) { throw new Error(`\`${caller}\`` + ' cannot be called along with `ignoreErrorCodesMatching`.'); } } - } public readonly grantPrincipal: iam.IPrincipal; diff --git a/packages/aws-cdk-lib/custom-resources/lib/provider-framework/runtime/cfn-response.ts b/packages/aws-cdk-lib/custom-resources/lib/provider-framework/runtime/cfn-response.ts index 1a05246669a12..7edfac842b8dd 100644 --- a/packages/aws-cdk-lib/custom-resources/lib/provider-framework/runtime/cfn-response.ts +++ b/packages/aws-cdk-lib/custom-resources/lib/provider-framework/runtime/cfn-response.ts @@ -63,7 +63,6 @@ export let includeStackTraces = true; // for unit tests export function safeHandler(block: (event: any) => Promise) { return async (event: any) => { - // ignore DELETE event when the physical resource ID is the marker that // indicates that this DELETE is a subsequent DELETE to a failed CREATE // operation. diff --git a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/aws-custom-resource.test.ts b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/aws-custom-resource.test.ts index fbac189629380..b4d95fb5b9551 100644 --- a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/aws-custom-resource.test.ts +++ b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/aws-custom-resource.test.ts @@ -795,7 +795,6 @@ test('getData', () => { }); test('fails when getData is used with `ignoreErrorCodesMatching`', () => { - const stack = new cdk.Stack(); const resource = new AwsCustomResource(stack, 'AwsSdk', { @@ -813,11 +812,9 @@ test('fails when getData is used with `ignoreErrorCodesMatching`', () => { }); expect(() => resource.getResponseFieldReference('ShouldFail')).toThrow(/`getData`.+`ignoreErrorCodesMatching`/); - }); test('fails when getDataString is used with `ignoreErrorCodesMatching`', () => { - const stack = new cdk.Stack(); const resource = new AwsCustomResource(stack, 'AwsSdk', { @@ -835,11 +832,9 @@ test('fails when getDataString is used with `ignoreErrorCodesMatching`', () => { }); expect(() => resource.getResponseField('ShouldFail')).toThrow(/`getDataString`.+`ignoreErrorCodesMatching`/); - }); test('fail when `PhysicalResourceId.fromResponse` is used with `ignoreErrorCodesMatching', () => { - const stack = new cdk.Stack(); expect(() => new AwsCustomResource(stack, 'AwsSdkOnUpdate', { onUpdate: { @@ -882,7 +877,6 @@ test('fail when `PhysicalResourceId.fromResponse` is used with `ignoreErrorCodes }, policy: AwsCustomResourcePolicy.fromSdkCalls({ resources: AwsCustomResourcePolicy.ANY_RESOURCE }), })).toThrow(/`PhysicalResourceId.fromResponse`.+`ignoreErrorCodesMatching`/); - }); test('getDataString', () => { diff --git a/packages/aws-cdk-lib/custom-resources/test/custom-resource-config/custom-resource-config.test.ts b/packages/aws-cdk-lib/custom-resources/test/custom-resource-config/custom-resource-config.test.ts index ab8c30e6d56d0..e581b073c31d7 100644 --- a/packages/aws-cdk-lib/custom-resources/test/custom-resource-config/custom-resource-config.test.ts +++ b/packages/aws-cdk-lib/custom-resources/test/custom-resource-config/custom-resource-config.test.ts @@ -366,7 +366,6 @@ describe('when custom resource lambda runtime is set by addLambdaRuntime', () => template.hasResourceProperties('AWS::Lambda::Function', { Runtime: lambda.Runtime.PYTHON_3_11.toString(), }); - }); test('addLambdaRuntime does not set custom resource lambda runtime in a different runtime family', () => { diff --git a/packages/aws-cdk-lib/custom-resources/test/provider-framework/mocks.ts b/packages/aws-cdk-lib/custom-resources/test/provider-framework/mocks.ts index caa518328ac71..7d8ba44a7ca39 100644 --- a/packages/aws-cdk-lib/custom-resources/test/provider-framework/mocks.ts +++ b/packages/aws-cdk-lib/custom-resources/test/provider-framework/mocks.ts @@ -64,7 +64,6 @@ export async function invokeFunctionMock(req: InvokeCommandInput): Promise { - // GIVEN const stack = new Stack(); @@ -75,11 +74,9 @@ test('security groups are applied to all framework functions', () => { ], }, }); - }); test('vpc is applied to all framework functions', () => { - // GIVEN const stack = new Stack(); @@ -130,7 +127,6 @@ test('vpc is applied to all framework functions', () => { ], }, }); - }); test('minimal setup', () => { diff --git a/packages/aws-cdk-lib/custom-resources/test/provider-framework/runtime.test.ts b/packages/aws-cdk-lib/custom-resources/test/provider-framework/runtime.test.ts index cf885415c2bc4..22359d06a83aa 100644 --- a/packages/aws-cdk-lib/custom-resources/test/provider-framework/runtime.test.ts +++ b/packages/aws-cdk-lib/custom-resources/test/provider-framework/runtime.test.ts @@ -107,9 +107,7 @@ test('fails gracefully if "onEvent" throws an error', async () => { }); describe('PhysicalResourceId', () => { - describe('if not omitted from onEvent result', () => { - it('defaults to RequestId for CREATE', async () => { // WHEN mocks.onEventImplMock = async () => undefined; @@ -204,7 +202,6 @@ describe('PhysicalResourceId', () => { expectNoWaiter(); expectCloudFormationFailed('DELETE: cannot change the physical resource ID from "CurrentPhysicalId" to "NewPhysicalId" during deletion'); }); - }); test('isComplete always returns "false" and then a timeout occurs', async () => { @@ -318,7 +315,6 @@ test('fails if user handler returns a non-object response', async () => { }); describe('if CREATE fails, the subsequent DELETE will be ignored', () => { - it('FAILED response sets PhysicalResourceId to a special marker', async () => { // WHEN mocks.onEventImplMock = async () => { throw new Error('CREATE FAILED'); }; @@ -346,7 +342,6 @@ describe('if CREATE fails, the subsequent DELETE will be ignored', () => { // THEN expectCloudFormationSuccess(); }); - }); describe('ResponseURL is passed to user function', () => { diff --git a/packages/aws-cdk-lib/cx-api/lib/cloud-assembly.ts b/packages/aws-cdk-lib/cx-api/lib/cloud-assembly.ts index 2a2b31d762dfc..71600a506bbf9 100644 --- a/packages/aws-cdk-lib/cx-api/lib/cloud-assembly.ts +++ b/packages/aws-cdk-lib/cx-api/lib/cloud-assembly.ts @@ -327,7 +327,6 @@ export class CloudAssemblyBuilder { * `CloudAssembly` object that can be used to inspect the assembly. */ public buildAssembly(options: AssemblyBuildOptions = { }): CloudAssembly { - // explicitly initializing this type will help us detect // breaking changes. (For example adding a required property will break compilation). let manifest: cxschema.AssemblyManifest = { diff --git a/packages/aws-cdk-lib/cx-api/test/placeholders.test.ts b/packages/aws-cdk-lib/cx-api/test/placeholders.test.ts index 658d8a4670433..6ca79d2cbc6a8 100644 --- a/packages/aws-cdk-lib/cx-api/test/placeholders.test.ts +++ b/packages/aws-cdk-lib/cx-api/test/placeholders.test.ts @@ -50,5 +50,4 @@ test('sync placeholder substitution', () => { }, }, }); - }); diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts index bbe32becb3976..b44146f6930a3 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts @@ -333,7 +333,6 @@ function extractStackAssets(stackArtifact: cxapi.CloudFormationStackArtifact): S * @see https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access */ function s3UrlFromUri(uri: string, region: string | undefined) { - // will return something like this // [ // 's3:', diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts index 6232d24855f12..42344e4a257fd 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts @@ -46,7 +46,6 @@ export abstract class Step implements IFileSetProducer { constructor( /** Identifier for this step */ public readonly id: string) { - if (Token.isUnresolved(id)) { throw new Error(`Step id cannot be unresolved, got '${id}'`); } diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts index 713cc6c7f4f3f..3837077983b70 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts @@ -925,7 +925,6 @@ export class CodePipeline extends PipelineBase { account: string | undefined, arn: string | undefined): iam.IRole | undefined; private roleFromPlaceholderArn(scope: Construct, region: string | undefined, account: string | undefined, arn: string | undefined): iam.IRole | undefined { - if (!arn) { return undefined; } // Use placeholder arn as construct ID. diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/private/codebuild-factory.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/private/codebuild-factory.ts index c06c9b9d8ef2a..b7db931b7d163 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/private/codebuild-factory.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/private/codebuild-factory.ts @@ -184,7 +184,6 @@ export class CodeBuildFactory implements ICodePipelineActionFactory { private constructor( private readonly constructId: string, private readonly props: CodeBuildFactoryProps) { - this.stepId = props.stepId ?? constructId; } diff --git a/packages/aws-cdk-lib/pipelines/lib/docker-credentials.ts b/packages/aws-cdk-lib/pipelines/lib/docker-credentials.ts index 44ebfc57f2d0c..ce26540d2d33e 100644 --- a/packages/aws-cdk-lib/pipelines/lib/docker-credentials.ts +++ b/packages/aws-cdk-lib/pipelines/lib/docker-credentials.ts @@ -203,7 +203,6 @@ export function dockerCredentialsInstallCommands( usage: DockerCredentialUsage, registries?: DockerCredential[], osType?: ec2.OperatingSystemType | 'both'): string[] { - const relevantRegistries = (registries ?? []).filter(reg => reg._applicableForUsage(usage)); if (!relevantRegistries || relevantRegistries.length === 0) { return []; } diff --git a/packages/aws-cdk-lib/pipelines/lib/private/asset-manifest.ts b/packages/aws-cdk-lib/pipelines/lib/private/asset-manifest.ts index 8b2ea486a52c1..d760253268dc4 100644 --- a/packages/aws-cdk-lib/pipelines/lib/private/asset-manifest.ts +++ b/packages/aws-cdk-lib/pipelines/lib/private/asset-manifest.ts @@ -116,7 +116,6 @@ export class AssetManifestReader { function makeEntries( assets: Record }>, ctor: new (id: DestinationIdentifier, source: A, destination: B) => C): C[] { - const ret = new Array(); for (const [assetId, asset] of Object.entries(assets)) { for (const [destId, destination] of Object.entries(asset.destinations)) { diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts index ececb9cce6b50..5dbac7be9dc72 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts @@ -14,7 +14,6 @@ afterEach(() => { }); describe('pipeline-queries', () => { - describe('stackOutputsReferenced', () => { let blueprint: Blueprint; let stageDeployment: cdkp.StageDeployment; @@ -87,7 +86,6 @@ describe('pipeline-queries', () => { expect(queries.stackOutputsReferenced(stackDeployment)).toEqual(testCase.expectedResultGetter()); }); }); - }); }); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/stack-deployment.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/stack-deployment.test.ts index 29b997d6e4e3f..1d4561caee2f9 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/stack-deployment.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/stack-deployment.test.ts @@ -45,7 +45,6 @@ describe('templateUrl', () => { // THEN expect(sd.stacks[0].templateUrl).toBe('https://cdk-hnb659fds-assets-111-${AWS::Region}.s3.amazonaws.com/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json'); }); - }); test('"requiredAssets" contain only assets that are not the template', () => { diff --git a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts index 191499eebae6a..93a02262c44ed 100644 --- a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts @@ -524,7 +524,6 @@ test('artifactBucket can be overridden', () => { }); test('throws when deploy role session tags are used', () => { - const synthesizer = new cdk.DefaultStackSynthesizer({ deployRoleAdditionalOptions: { Tags: [{ Key: 'Departement', Value: 'Enginerring' }], @@ -541,7 +540,6 @@ test('throws when deploy role session tags are used', () => { }, }); }).toThrow('Deployment of stack SampleStage-123456789012-us-east-1-SampleStack requires assuming the role arn:${AWS::Partition}:iam::123456789012:role/cdk-hnb659fds-deploy-role-123456789012-us-east-1 with session tags, but assuming roles with session tags is not supported by CodePipeline.'); - }); interface ReuseCodePipelineStackProps extends cdk.StackProps { @@ -585,7 +583,6 @@ class ReuseCodePipelineStack extends cdk.Stack { }, ); pipeline.addStage(stage); - } } diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts index 1e48633e6487c..87af884173374 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts @@ -19,7 +19,6 @@ afterEach(() => { }); test('stack templates in nested assemblies are correctly addressed', () => { - // WHEN const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); pipeline.addStage(new OneStackApp(app, 'App')); @@ -42,7 +41,6 @@ test('stack templates in nested assemblies are correctly addressed', () => { }); test('obvious error is thrown when stage contains no stacks', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); // WHEN @@ -52,7 +50,6 @@ test('obvious error is thrown when stage contains no stacks', () => { }); test('overridden stack names are respected', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); pipeline.addStage(new OneStackAppWithCustomName(app, 'App1')); pipeline.addStage(new OneStackAppWithCustomName(app, 'App2')); @@ -109,7 +106,6 @@ test('two stacks can have the same name', () => { }); test('changing CLI version leads to a different pipeline structure (restarting it)', () => { - // GIVEN const stack2 = new Stack(app, 'Stack2', { env: PIPELINE_ENV }); const stack3 = new Stack(app, 'Stack3', { env: PIPELINE_ENV }); @@ -137,7 +133,6 @@ test('changing CLI version leads to a different pipeline structure (restarting i }); test('tags get reflected in pipeline', () => { - // WHEN const stage = new OneStackApp(app, 'App'); const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/docker-credentials.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/docker-credentials.test.ts index 8fbdb36c8c71c..3e29f2219123d 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/docker-credentials.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/docker-credentials.test.ts @@ -31,7 +31,6 @@ afterEach(() => { }); test('synth action receives install commands and access to relevant credentials', () => { - const pipeline = new ModernPipelineWithCreds(pipelineStack, 'Cdk'); pipeline.addStage(new DockerAssetApp(app, 'App1')); @@ -156,7 +155,6 @@ test('self-update receives install commands and access to relevant credentials', }); test('asset publishing receives install commands and access to relevant credentials', () => { - const pipeline = new ModernPipelineWithCreds(pipelineStack, 'Cdk'); pipeline.addStage(new DockerAssetApp(app, 'App1')); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts index bc4c83d2bc550..47176cae93edf 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts @@ -240,7 +240,6 @@ test('action has right settings for cross-account deployment', () => { }); test('action has right settings for cross-region deployment', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { crossAccountKeys: true, }); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/escape-hatching.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/escape-hatching.test.ts index 8130e6d23cf95..c8695b3e57ded 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/escape-hatching.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/escape-hatching.test.ts @@ -26,7 +26,6 @@ describe('with empty existing CodePipeline', () => { }); test('can give both actions', () => { - // WHEN new cdkp.CodePipeline(pipelineStack, 'Cdk', { codePipeline, @@ -68,7 +67,6 @@ describe('with custom Source stage in existing Pipeline', () => { }); test('Work with synthAction', () => { - new cdkp.CodePipeline(pipelineStack, 'Cdk', { codePipeline, synth: new cdkp.ShellStep('Synth', { diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts index 166fc6b619595..26bbb45d09889 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts @@ -18,7 +18,6 @@ afterEach(() => { }); test('security check option generates lambda/codebuild at pipeline scope', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const stage = new OneStackApp(app, 'App'); pipeline.addStage(stage, { @@ -54,7 +53,6 @@ test('security check option generates lambda/codebuild at pipeline scope', () => }); test('security check option passes correct environment variables to check project', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const stage = new OneStackApp(pipelineStack, 'App'); pipeline.addStage(stage, { @@ -87,7 +85,6 @@ test('security check option passes correct environment variables to check projec }); test('pipeline created with auto approve tags and lambda/codebuild w/ valid permissions', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const stage = new OneStackApp(app, 'App'); pipeline.addStage(stage, { @@ -170,7 +167,6 @@ test('pipeline created with auto approve tags and lambda/codebuild w/ valid perm }); test('confirmBroadeningPermissions and notification topic options generates the right resources', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const topic = new Topic(pipelineStack, 'NotificationTopic'); const stage = new OneStackApp(app, 'MyStack'); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/self-mutation.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/self-mutation.test.ts index 6b62207ba9bc7..7533535de9287 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/self-mutation.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/self-mutation.test.ts @@ -19,7 +19,6 @@ afterEach(() => { }); test('CodePipeline has self-mutation stage', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); // THEN @@ -58,7 +57,6 @@ test('CodePipeline has self-mutation stage', () => { }); test('selfmutation stage correctly identifies nested assembly of pipeline stack', () => { - const pipelineStage = new Stage(app, 'PipelineStage'); const nestedPipelineStack = new Stack(pipelineStage, 'PipelineStack', { env: PIPELINE_ENV }); new ModernTestGitHubNpmPipeline(nestedPipelineStack, 'Cdk'); @@ -80,7 +78,6 @@ test('selfmutation stage correctly identifies nested assembly of pipeline stack' }); test('selfmutation feature can be turned off', () => { - // WHEN new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { selfMutation: false, @@ -116,7 +113,6 @@ test('can control fix/CLI version used in pipeline selfupdate', () => { }); test('Pipeline stack itself can use assets (has implications for selfupdate)', () => { - // WHEN new ModernTestGitHubNpmPipeline(pipelineStack, 'PrivilegedPipeline', { dockerEnabledForSelfMutation: true, @@ -162,7 +158,6 @@ test('self-update project role uses tagged bootstrap-role permissions', () => { }); test('self-mutation stage can be customized with BuildSpec', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { selfMutationCodeBuildDefaults: { partialBuildSpec: cb.BuildSpec.fromObject({ diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/synths.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/synths.test.ts index c50563bb26b3e..7602e5f7201af 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/synths.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/synths.test.ts @@ -31,7 +31,6 @@ afterEach(() => { }); test('synth takes arrays of commands', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { installCommands: ['install1', 'install2'], commands: ['build1', 'build2', 'test1', 'test2', 'cdk synth'], @@ -67,7 +66,6 @@ test('synth takes arrays of commands', () => { }); test('synth sets artifact base-directory to cdk.out', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); // THEN @@ -86,7 +84,6 @@ test('synth sets artifact base-directory to cdk.out', () => { }); test('synth supports setting subdirectory', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { installCommands: ['cd subdir'], commands: ['true'], @@ -113,7 +110,6 @@ test('synth supports setting subdirectory', () => { }); test('npm synth sets, or allows setting, UNSAFE_PERM=true', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { env: { NPM_CONFIG_UNSAFE_PERM: 'true', @@ -135,7 +131,6 @@ test('npm synth sets, or allows setting, UNSAFE_PERM=true', () => { }); test('Magic CodePipeline variables passed to synth envvars must be rendered in the action', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { env: { VERSION: codepipeline.GlobalVariables.executionId, @@ -294,7 +289,6 @@ test('install command can be overridden/specified', () => { }); test('Synth can output additional artifacts', () => { - // WHEN const synth = new cdkp.ShellStep('Synth', { input: cdkp.CodePipelineSource.gitHub('test/test', 'main'), @@ -535,7 +529,6 @@ test('Synth CodeBuild project role can be granted permissions', () => { }); test('Synth can reference an imported ECR repo', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { synth: new cdkp.CodeBuildStep('Synth', { commands: ['build'], @@ -554,7 +547,6 @@ test('Synth can reference an imported ECR repo', () => { }); test('CodeBuild: Can specify additional policy statements', () => { - // WHEN new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { synth: new cdkp.CodeBuildStep('Synth', { @@ -584,7 +576,6 @@ test('CodeBuild: Can specify additional policy statements', () => { }); test('Multiple input sources in side-by-side directories', () => { - // WHEN new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { synth: new cdkp.ShellStep('Synth', { @@ -652,7 +643,6 @@ test('Multiple input sources in side-by-side directories', () => { }); test('Can easily switch on privileged mode for synth', () => { - // WHEN new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { dockerEnabledForSynth: true, @@ -678,7 +668,6 @@ test('Can easily switch on privileged mode for synth', () => { }); test('can provide custom BuildSpec that is merged with generated one', () => { - new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk', { synth: new cdkp.CodeBuildStep('Synth', { input: cdkp.CodePipelineSource.gitHub('test/test', 'main'), diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts index d654650604057..9c42a66f7b9a4 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts @@ -24,7 +24,6 @@ afterEach(() => { }); test('can add manual approval after app', () => { - // WHEN const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); pipeline.addStage(new TwoStackApp(app, 'MyApp'), { @@ -49,7 +48,6 @@ test('can add manual approval after app', () => { }); test('can add steps to wave', () => { - // WHEN const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const wave = pipeline.addWave('MyWave', { @@ -79,7 +77,6 @@ test('can add steps to wave', () => { }); test('script validation steps can use stack outputs as environment variables', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const myApp = new AppWithOutput(app, 'Alpha'); pipeline.addStage(myApp, { @@ -116,7 +113,6 @@ test('script validation steps can use stack outputs as environment variables', ( }); test('stackOutput generates names limited to 100 characters', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); const stage = new StageWithStackOutput(app, 'APreposterouslyLongAndComplicatedNameMadeUpJustToMakeItExceedTheLimitDefinedByCodeBuild'); pipeline.addStage(stage, { @@ -144,7 +140,6 @@ test('stackOutput generates names limited to 100 characters', () => { }); test('validation step can run from scripts in source', () => { - const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); pipeline.addStage(new TwoStackApp(app, 'Test'), { post: [ @@ -263,7 +258,6 @@ test('can use additional output artifacts from build', () => { }); test('can add policy statements to shell script action', () => { - // WHEN const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); pipeline.addStage(new TwoStackApp(app, 'Test'), { @@ -422,7 +416,6 @@ test('can run shell script actions with a specific SecurityGroup', () => { }); test('can run scripts with specified BuildEnvironment', () => { - // Run all Build jobs with the given image const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk-1', { codeBuildDefaults: { @@ -457,7 +450,6 @@ test('can run scripts with specified BuildEnvironment', () => { }); test('can run scripts with magic environment variables', () => { - // Run all Build jobs with the given image const pipeline = new ModernTestGitHubNpmPipeline(pipelineStack, 'Cdk'); diff --git a/packages/aws-cdk-lib/pipelines/test/docker-credentials.test.ts b/packages/aws-cdk-lib/pipelines/test/docker-credentials.test.ts index 2065bd3fff53b..a421bd7fc8132 100644 --- a/packages/aws-cdk-lib/pipelines/test/docker-credentials.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/docker-credentials.test.ts @@ -19,7 +19,6 @@ beforeEach(() => { }); describe('ExternalDockerCredential', () => { - let secret: secretsmanager.ISecret; beforeEach(() => { @@ -63,7 +62,6 @@ describe('ExternalDockerCredential', () => { }); describe('grantRead', () => { - test('grants read access to the secret', () => { const creds = cdkp.DockerCredential.customRegistry('example.com', secret); @@ -128,13 +126,10 @@ describe('ExternalDockerCredential', () => { Template.fromStack(stack).resourceCountIs('AWS::IAM::Policy', 0); }); - }); - }); describe('EcrDockerCredential', () => { - let repo: ecr.IRepository; beforeEach(() => { @@ -185,7 +180,6 @@ describe('EcrDockerCredential', () => { }); describe('grantRead', () => { - test('grants pull access to the repo', () => { const creds = cdkp.DockerCredential.ecr([repo]); diff --git a/packages/aws-cdk-lib/pipelines/test/main/pipeline-base.test.ts b/packages/aws-cdk-lib/pipelines/test/main/pipeline-base.test.ts index 4800d66641174..763444643cbb6 100644 --- a/packages/aws-cdk-lib/pipelines/test/main/pipeline-base.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/main/pipeline-base.test.ts @@ -5,7 +5,6 @@ import { PipelineBase, IFileSetProducer, FileSet } from '../../lib'; import { PIPELINE_ENV } from '../testhelpers'; describe('pipeline base', () => { - test('PipelineBase.isPipeline indicates that a construct extends PipelineBase', () => { const app = new App(); const pipelineStack = new cdk.Stack(app, 'PipelineStack', { env: PIPELINE_ENV }); @@ -25,5 +24,4 @@ describe('pipeline base', () => { expect(PipelineBase.isPipeline(construct)).toStrictEqual(false); expect(PipelineBase.isPipeline(pipeline)).toStrictEqual(true); }); - }); diff --git a/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts b/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts index 041108dd6390b..a76ce0a3221f7 100644 --- a/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts +++ b/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts @@ -99,7 +99,6 @@ export async function main(): Promise { for (const version in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS) { for (const arch in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version]) { registerFact(region, ['cloudwatchLambdaInsightsVersion', version, arch], CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version][arch][region]); - } } @@ -166,7 +165,6 @@ function checkRegionsSubMap(map: Record { expect(Default.servicePrincipal(`${service}${suffix}`, region, urlSuffix)).toBe(`${service}.amazonaws.com`); }); } - } test('with an "exotic" DNS suffix (.local)', () => { diff --git a/packages/aws-cdk-lib/region-info/test/region-info.test.ts b/packages/aws-cdk-lib/region-info/test/region-info.test.ts index 8adc82b0d6b0b..49c09df6fee90 100644 --- a/packages/aws-cdk-lib/region-info/test/region-info.test.ts +++ b/packages/aws-cdk-lib/region-info/test/region-info.test.ts @@ -51,7 +51,6 @@ test('built-in data features known regions', () => { }); test('limitedRegionMap only returns information for certain regions', () => { - const map = RegionInfo.limitedRegionMap(FactName.ELBV2_ACCOUNT, ['aws']); expect(map['us-east-1']).toBeDefined(); expect(map['cn-north-1']).not.toBeDefined(); diff --git a/packages/aws-cdk-lib/scripts/submodules/index.ts b/packages/aws-cdk-lib/scripts/submodules/index.ts index 0aec84cac693f..4edb51fd200b9 100644 --- a/packages/aws-cdk-lib/scripts/submodules/index.ts +++ b/packages/aws-cdk-lib/scripts/submodules/index.ts @@ -19,7 +19,6 @@ export default async function submodulesGen(modules: ModuleMap, outPath: string) } async function ensureSubmodule(submodule: ModuleMapEntry, modulePath: string) { - // README.md const readmePath = path.join(modulePath, 'README.md'); if (!fs.existsSync(readmePath)) { diff --git a/packages/aws-cdk/.eslintrc.js b/packages/aws-cdk/.eslintrc.js index 389d429788e93..f3c5228e92ff5 100644 --- a/packages/aws-cdk/.eslintrc.js +++ b/packages/aws-cdk/.eslintrc.js @@ -16,6 +16,7 @@ baseConfig.overrides.push({ // ignoring new eslint rules until CLI refactor is complete baseConfig.rules["@stylistic/spaced-comment"] = "off"; baseConfig.rules['@stylistic/no-extra-semi'] = "off"; +baseConfig.rules['@stylistic/padded-blocks'] = "off"; baseConfig.rules['jsdoc/require-param-description'] = "off"; baseConfig.rules['jsdoc/require-property-description'] = "off"; baseConfig.rules['jsdoc/require-returns-description'] = "off"; diff --git a/tools/@aws-cdk/cdk-build-tools/config/eslintrc.js b/tools/@aws-cdk/cdk-build-tools/config/eslintrc.js index d220558607e15..87323a9d6629a 100644 --- a/tools/@aws-cdk/cdk-build-tools/config/eslintrc.js +++ b/tools/@aws-cdk/cdk-build-tools/config/eslintrc.js @@ -75,7 +75,7 @@ module.exports = { 'curly': ['error', 'multi-line', 'consistent'], // require curly braces for multiline control statements 'eol-last': ['error', 'always'], // require a newline a the end of files '@stylistic/spaced-comment': ['error', 'always', { 'exceptions': ['/', '*'], 'markers': ['/'] }], // require a whitespace at the beginninng of each comment - '@stylistic/padded-blocks': ['error', { 'classes': 'never' }], + '@stylistic/padded-blocks': ['error', { 'classes': 'never', 'blocks': 'never', 'switches': 'never'}], // JSDoc 'jsdoc/require-param-description': ['error'], diff --git a/tools/@aws-cdk/cdk-release/lib/lifecycles/changelog.ts b/tools/@aws-cdk/cdk-release/lib/lifecycles/changelog.ts index 95c26b05bfe3c..1f93e7a89c14d 100644 --- a/tools/@aws-cdk/cdk-release/lib/lifecycles/changelog.ts +++ b/tools/@aws-cdk/cdk-release/lib/lifecycles/changelog.ts @@ -83,7 +83,6 @@ export async function writeChangelogs(opts: WriteChangelogOptions): Promise { - createChangelogIfMissing(args); // find the position of the last release and remove header diff --git a/tools/@aws-cdk/cdk-release/test/bump.test.ts b/tools/@aws-cdk/cdk-release/test/bump.test.ts index 83a2b14ea3e46..53497377bd11e 100644 --- a/tools/@aws-cdk/cdk-release/test/bump.test.ts +++ b/tools/@aws-cdk/cdk-release/test/bump.test.ts @@ -17,7 +17,6 @@ test('skips bump if skip.bump is set', async () => { }); describe('stable versions', () => { - test('does a prerelease bump with provided tag if given', async () => { const currentVersion = { stableVersion: '1.2.3' }; const bumpedVersion = await bump({ releaseAs: 'minor', versionFile: 'version.json', prerelease: 'rc' }, currentVersion); @@ -40,11 +39,9 @@ describe('stable versions', () => { const version = '{\n "version": "1.3.0"\n}'; expect(mockWriteFile).toHaveBeenCalledWith(expect.any(Object), versionPath, version); }); - }); describe('alpha versions', () => { - test('long-running prerelease: bumps existing alpha counter as a prerelease', async () => { const currentVersion = { stableVersion: '1.2.0-rc.4', alphaVersion: '1.2.0-alpha.0' }; const bumpedVersion = await bump({ releaseAs: 'minor', versionFile: 'version.json', prerelease: 'rc' }, currentVersion); @@ -83,5 +80,4 @@ describe('alpha versions', () => { const version = '{\n "version": "1.3.0",\n "alphaVersion": "1.3.0-alpha.0"\n}'; expect(mockWriteFile).toHaveBeenCalledWith(expect.any(Object), versionPath, version); }); - }); diff --git a/tools/@aws-cdk/cdk-release/test/changelog.test.ts b/tools/@aws-cdk/cdk-release/test/changelog.test.ts index 6e618d00a1389..091524515e36c 100644 --- a/tools/@aws-cdk/cdk-release/test/changelog.test.ts +++ b/tools/@aws-cdk/cdk-release/test/changelog.test.ts @@ -10,7 +10,6 @@ const args: ChangelogOptions = { }; describe('writeChangelogs', () => { - const currentVersion: Versions = { stableVersion: '1.23.0' }; const newVersion: Versions = { stableVersion: '1.24.0' }; @@ -80,7 +79,6 @@ describe('writeChangelogs', () => { }); describe('experimentalChangesTreatment is SEPARATE', () => { - const defaultSeparateChangelogOpts = { ...defaultWriteChangelogOpts, experimentalChangesTreatment: ExperimentalChangesTreatment.SEPARATE,