@aws-cdk-testing/cli-integ 3.4.5 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/aws.js +6 -9
- package/lib/cli/query-github.js +2 -3
- package/lib/cli/run-suite.js +2 -3
- package/lib/cli/stage-distribution.js +4 -4
- package/lib/eventually.js +3 -3
- package/lib/files.js +2 -3
- package/lib/github.js +5 -6
- package/lib/integ-test.js +58 -3
- package/lib/package-sources/release-source.d.ts +1 -1
- package/lib/package-sources/release-source.js +2 -3
- package/lib/package-sources/repo-source.d.ts +1 -1
- package/lib/package-sources/repo-source.js +1 -1
- package/lib/package-sources/repo-tools/npm.js +4 -5
- package/lib/package-sources/subprocess.d.ts +1 -1
- package/lib/package-sources/subprocess.js +1 -1
- package/lib/process.js +5 -6
- package/lib/proxy.d.ts +1 -1
- package/lib/proxy.js +2 -2
- package/lib/resource-pool.js +5 -3
- package/lib/shell.d.ts +3 -3
- package/lib/shell.js +8 -12
- package/lib/staging/codeartifact.js +8 -11
- package/lib/staging/maven.d.ts +2 -2
- package/lib/staging/maven.js +3 -5
- package/lib/staging/npm.d.ts +2 -2
- package/lib/staging/npm.js +1 -1
- package/lib/staging/nuget.d.ts +2 -2
- package/lib/staging/nuget.js +1 -1
- package/lib/staging/parallel-shell.js +2 -2
- package/lib/staging/pypi.d.ts +2 -2
- package/lib/staging/pypi.js +1 -1
- package/lib/with-aws.d.ts +2 -2
- package/lib/with-aws.js +5 -4
- package/lib/with-cdk-app.d.ts +7 -5
- package/lib/with-cdk-app.js +30 -33
- package/lib/with-cli-lib.d.ts +4 -3
- package/lib/with-cli-lib.js +2 -1
- package/lib/with-packages.d.ts +1 -1
- package/lib/with-packages.js +1 -1
- package/lib/with-sam.d.ts +3 -3
- package/lib/with-sam.js +5 -7
- package/lib/with-temporary-directory.d.ts +1 -1
- package/lib/with-temporary-directory.js +1 -1
- package/lib/xpmutex.js +5 -3
- package/npm-shrinkwrap.json +8722 -0
- package/package.json +11 -7
- package/resources/cdk-apps/refactoring/cdk.json +7 -0
- package/resources/cdk-apps/refactoring/refactoring.js +18 -0
- package/test-reports/junit.xml +15 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +11 -11
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +9 -9
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +4 -6
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +6 -5
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.js +1 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/testcase.d.ts +1 -1
- package/tests/cli-integ-tests/cdk-migrate/testcase.js +4 -6
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-refactor-dry-run.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-refactor-dry-run.integtest.js +41 -0
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +4 -4
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.js +5 -6
- package/tests/cli-integ-tests/proxy.integtest.js +2 -3
- package/tests/init-go/init-go.integtest.js +2 -3
- package/tests/init-typescript-app/init-typescript-app.integtest.js +1 -1
- package/tests/tool-integrations/amplify.integtest.js +4 -4
- package/tests/tool-integrations/with-tool-context.d.ts +5 -5
- package/tests/tool-integrations/with-tool-context.js +1 -1
- package/.eslintrc.js +0 -9
- package/lib/aws.ts +0 -303
- package/lib/cli/query-github.ts +0 -56
- package/lib/cli/run-suite.ts +0 -153
- package/lib/cli/stage-distribution.ts +0 -262
- package/lib/cli/test-root.ts +0 -3
- package/lib/corking.ts +0 -33
- package/lib/eventually.ts +0 -42
- package/lib/files.ts +0 -80
- package/lib/github.ts +0 -43
- package/lib/index.ts +0 -13
- package/lib/integ-test.ts +0 -110
- package/lib/lists.ts +0 -9
- package/lib/memoize.ts +0 -14
- package/lib/npm.ts +0 -41
- package/lib/package-sources/release-source.ts +0 -82
- package/lib/package-sources/repo-source.ts +0 -112
- package/lib/package-sources/repo-tools/npm.ts +0 -48
- package/lib/package-sources/source.ts +0 -35
- package/lib/package-sources/subprocess.ts +0 -15
- package/lib/process.ts +0 -154
- package/lib/proxy.ts +0 -64
- package/lib/resource-pool.ts +0 -140
- package/lib/resources.ts +0 -4
- package/lib/shell.ts +0 -331
- package/lib/staging/codeartifact.ts +0 -387
- package/lib/staging/maven.ts +0 -95
- package/lib/staging/npm.ts +0 -62
- package/lib/staging/nuget.ts +0 -75
- package/lib/staging/parallel-shell.ts +0 -51
- package/lib/staging/pypi.ts +0 -50
- package/lib/staging/usage-dir.ts +0 -99
- package/lib/with-aws.ts +0 -111
- package/lib/with-cdk-app.ts +0 -845
- package/lib/with-cli-lib.ts +0 -149
- package/lib/with-packages.ts +0 -15
- package/lib/with-sam.ts +0 -294
- package/lib/with-temporary-directory.ts +0 -35
- package/lib/with-timeout.ts +0 -33
- package/lib/xpmutex.ts +0 -218
- package/resources/cli-regression-patches/v2.130.0/node_modules/@aws-cdk-testing/cli-integ/resources/cdk-apps/sam_cdk_integ_app/lib/nested-stack.js +0 -19
- package/resources/cli-regression-patches/v2.130.0/node_modules/@aws-cdk-testing/cli-integ/resources/cdk-apps/sam_cdk_integ_app/lib/test-stack.js +0 -134
- package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.ts +0 -92
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.ts +0 -82
- package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.ts +0 -40
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.ts +0 -40
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts +0 -27
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.ts +0 -24
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts +0 -77
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.ts +0 -30
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts +0 -34
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.ts +0 -24
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.ts +0 -57
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.ts +0 -35
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.ts +0 -35
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.ts +0 -39
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.ts +0 -50
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.ts +0 -95
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.ts +0 -126
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.ts +0 -80
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.ts +0 -53
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-context-setting.integtest.ts +0 -33
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.ts +0 -31
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.ts +0 -50
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.ts +0 -51
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.ts +0 -11
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.ts +0 -45
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.ts +0 -33
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.ts +0 -119
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-deploy.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.ts +0 -44
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.ts +0 -41
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts +0 -51
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts +0 -52
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.ts +0 -63
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts +0 -55
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts +0 -63
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.ts +0 -52
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.ts +0 -45
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.ts +0 -41
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.ts +0 -53
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.ts +0 -43
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.ts +0 -59
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.ts +0 -57
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.ts +0 -27
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-migrate/testcase.ts +0 -69
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.ts +0 -39
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.ts +0 -30
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.ts +0 -59
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.ts +0 -38
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.ts +0 -56
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.ts +0 -74
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.ts +0 -64
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.ts +0 -26
- package/tests/cli-integ-tests/proxy.integtest.ts +0 -168
- package/tests/init-csharp/init-csharp.integtest.ts +0 -15
- package/tests/init-fsharp/init-fsharp.integtest.ts +0 -15
- package/tests/init-go/init-go.integtest.ts +0 -28
- package/tests/init-java/init-java.integtest.ts +0 -14
- package/tests/init-javascript/init-javascript.integtest.ts +0 -58
- package/tests/init-python/init-python.integtest.ts +0 -20
- package/tests/init-typescript-app/init-typescript-app.integtest.ts +0 -67
- package/tests/init-typescript-lib/init-typescript-lib.integtest.ts +0 -13
- package/tests/tool-integrations/amplify.integtest.ts +0 -117
- package/tests/tool-integrations/with-tool-context.ts +0 -14
- package/tests/uberpackage/uberpackage.integtest.ts +0 -11
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand, ListChangeSetsCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest('deploy without import-existing-resources', withDefaultFixture(async (fixture) => {
|
|
7
|
-
const stackArn = await fixture.cdkDeploy('test-2', {
|
|
8
|
-
options: ['--no-execute'],
|
|
9
|
-
captureStderr: false,
|
|
10
|
-
});
|
|
11
|
-
// verify that we only deployed a single stack (there's a single ARN in the output)
|
|
12
|
-
expect(stackArn.split('\n').length).toEqual(1);
|
|
13
|
-
|
|
14
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({
|
|
15
|
-
StackName: stackArn,
|
|
16
|
-
}));
|
|
17
|
-
expect(response.Stacks?.[0].StackStatus).toEqual('REVIEW_IN_PROGRESS');
|
|
18
|
-
|
|
19
|
-
// verify a change set was successfully created and ImportExistingResources = false
|
|
20
|
-
const changeSetResponse = await fixture.aws.cloudFormation.send(new ListChangeSetsCommand({
|
|
21
|
-
StackName: stackArn,
|
|
22
|
-
}));
|
|
23
|
-
const changeSets = changeSetResponse.Summaries || [];
|
|
24
|
-
expect(changeSets.length).toEqual(1);
|
|
25
|
-
expect(changeSets[0].Status).toEqual('CREATE_COMPLETE');
|
|
26
|
-
expect(changeSets[0].ImportExistingResources).toEqual(false);
|
|
27
|
-
}));
|
|
28
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { DescribeStackResourcesCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'deploy',
|
|
8
|
-
withDefaultFixture(async (fixture) => {
|
|
9
|
-
const stackArn = await fixture.cdkDeploy('test-2', { captureStderr: false });
|
|
10
|
-
|
|
11
|
-
// verify the number of resources in the stack
|
|
12
|
-
const response = await fixture.aws.cloudFormation.send(
|
|
13
|
-
new DescribeStackResourcesCommand({
|
|
14
|
-
StackName: stackArn,
|
|
15
|
-
}),
|
|
16
|
-
);
|
|
17
|
-
expect(response.StackResources?.length).toEqual(2);
|
|
18
|
-
}),
|
|
19
|
-
);
|
|
20
|
-
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
integTest('cdk destroy prompts the user for confirmation', withDefaultFixture(async (fixture) => {
|
|
5
|
-
|
|
6
|
-
const stackName = 'test-2';
|
|
7
|
-
const fullStackName = fixture.fullStackName(stackName);
|
|
8
|
-
|
|
9
|
-
fixture.log(`Deploying stack ${fullStackName}`);
|
|
10
|
-
await fixture.cdkDeploy(stackName);
|
|
11
|
-
|
|
12
|
-
fixture.log(`Destroying stack ${fullStackName} and declining prompt`);
|
|
13
|
-
await fixture.cdkDestroy(stackName, {
|
|
14
|
-
force: false,
|
|
15
|
-
interact: [
|
|
16
|
-
{ prompt: /Are you sure you want to delete/, input: 'no' }
|
|
17
|
-
]
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// assert we didn't destroy the stack
|
|
21
|
-
const stack = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: fullStackName }))
|
|
22
|
-
expect(stack.Stacks?.length ?? 0).toEqual(1)
|
|
23
|
-
|
|
24
|
-
fixture.log(`Destroying stack ${fullStackName} and accepting prompt`);
|
|
25
|
-
await fixture.cdkDestroy(stackName, {
|
|
26
|
-
force: false,
|
|
27
|
-
interact: [
|
|
28
|
-
{ prompt: /Are you sure you want to delete/, input: 'yes' }
|
|
29
|
-
]
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// assert we did destroy the stack
|
|
33
|
-
await expect(fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: fullStackName })))
|
|
34
|
-
.rejects.toThrow(/does not exist/);
|
|
35
|
-
|
|
36
|
-
}));
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('doubly nested stack',
|
|
6
|
-
withDefaultFixture(async (fixture) => {
|
|
7
|
-
await fixture.cdkDeploy('with-doubly-nested-stack', {
|
|
8
|
-
captureStderr: false,
|
|
9
|
-
});
|
|
10
|
-
}),
|
|
11
|
-
);
|
|
12
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest(
|
|
8
|
-
'enableDiffNoFail',
|
|
9
|
-
withDefaultFixture(async (fixture) => {
|
|
10
|
-
await diffShouldSucceedWith({ fail: false, enableDiffNoFail: false });
|
|
11
|
-
await diffShouldSucceedWith({ fail: false, enableDiffNoFail: true });
|
|
12
|
-
await diffShouldFailWith({ fail: true, enableDiffNoFail: false });
|
|
13
|
-
await diffShouldFailWith({ fail: true, enableDiffNoFail: true });
|
|
14
|
-
await diffShouldFailWith({ fail: undefined, enableDiffNoFail: false });
|
|
15
|
-
await diffShouldSucceedWith({ fail: undefined, enableDiffNoFail: true });
|
|
16
|
-
|
|
17
|
-
async function diffShouldSucceedWith(props: DiffParameters) {
|
|
18
|
-
await expect(diff(props)).resolves.not.toThrow();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async function diffShouldFailWith(props: DiffParameters) {
|
|
22
|
-
await expect(diff(props)).rejects.toThrow('exited with error');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async function diff(props: DiffParameters): Promise<string> {
|
|
26
|
-
await updateContext(props.enableDiffNoFail);
|
|
27
|
-
const flag = props.fail != null ? (props.fail ? '--fail' : '--no-fail') : '';
|
|
28
|
-
|
|
29
|
-
return fixture.cdk(['diff', flag, fixture.fullStackName('test-1')]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async function updateContext(enableDiffNoFail: boolean) {
|
|
33
|
-
const cdkJson = JSON.parse(await fs.readFile(path.join(fixture.integTestDir, 'cdk.json'), 'utf8'));
|
|
34
|
-
cdkJson.context = {
|
|
35
|
-
...cdkJson.context,
|
|
36
|
-
'aws-cdk:enableDiffNoFail': enableDiffNoFail,
|
|
37
|
-
};
|
|
38
|
-
await fs.writeFile(path.join(fixture.integTestDir, 'cdk.json'), JSON.stringify(cdkJson));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
type DiffParameters = { fail?: boolean; enableDiffNoFail: boolean };
|
|
42
|
-
}),
|
|
43
|
-
);
|
|
44
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'failed deploy does not hang',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
// this will hang if we introduce https://github.com/aws/aws-cdk/issues/6403 again.
|
|
9
|
-
await expect(fixture.cdkDeploy('failed')).rejects.toThrow('exited with error');
|
|
10
|
-
}),
|
|
11
|
-
);
|
|
12
|
-
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'fast deploy',
|
|
8
|
-
withDefaultFixture(async (fixture) => {
|
|
9
|
-
// we are using a stack with a nested stack because CFN will always attempt to
|
|
10
|
-
// update a nested stack, which will allow us to verify that updates are actually
|
|
11
|
-
// skipped unless --force is specified.
|
|
12
|
-
const stackArn = await fixture.cdkDeploy('with-nested-stack', { captureStderr: false });
|
|
13
|
-
const changeSet1 = await getLatestChangeSet();
|
|
14
|
-
|
|
15
|
-
// Deploy the same stack again, there should be no new change set created
|
|
16
|
-
await fixture.cdkDeploy('with-nested-stack');
|
|
17
|
-
const changeSet2 = await getLatestChangeSet();
|
|
18
|
-
expect(changeSet2.ChangeSetId).toEqual(changeSet1.ChangeSetId);
|
|
19
|
-
|
|
20
|
-
// Deploy the stack again with --force, now we should create a changeset
|
|
21
|
-
await fixture.cdkDeploy('with-nested-stack', { options: ['--force'] });
|
|
22
|
-
const changeSet3 = await getLatestChangeSet();
|
|
23
|
-
expect(changeSet3.ChangeSetId).not.toEqual(changeSet2.ChangeSetId);
|
|
24
|
-
|
|
25
|
-
// Deploy the stack again with tags, expected to create a new changeset
|
|
26
|
-
// even though the resources didn't change.
|
|
27
|
-
await fixture.cdkDeploy('with-nested-stack', { options: ['--tags', 'key=value'] });
|
|
28
|
-
const changeSet4 = await getLatestChangeSet();
|
|
29
|
-
expect(changeSet4.ChangeSetId).not.toEqual(changeSet3.ChangeSetId);
|
|
30
|
-
|
|
31
|
-
async function getLatestChangeSet() {
|
|
32
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: stackArn }));
|
|
33
|
-
if (!response.Stacks?.[0]) {
|
|
34
|
-
throw new Error('Did not get a ChangeSet at all');
|
|
35
|
-
}
|
|
36
|
-
fixture.log(`Found Change Set ${response.Stacks?.[0].ChangeSetId}`);
|
|
37
|
-
return response.Stacks?.[0];
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
);
|
|
41
|
-
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ListImagesCommand } from '@aws-sdk/client-ecr';
|
|
2
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection deletes unused ecr images',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
|
|
11
|
-
await fixture.cdkBootstrapModern({
|
|
12
|
-
toolkitStackName,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const repoName = await fixture.bootstrapRepoName();
|
|
16
|
-
|
|
17
|
-
await fixture.cdkDeploy('docker-in-use', {
|
|
18
|
-
options: [
|
|
19
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
20
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
21
|
-
'--force',
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
fixture.log('Setup complete!');
|
|
25
|
-
|
|
26
|
-
await fixture.cdkDestroy('docker-in-use', {
|
|
27
|
-
options: [
|
|
28
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
29
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
30
|
-
'--force',
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
await fixture.cdkGarbageCollect({
|
|
35
|
-
rollbackBufferDays: 0,
|
|
36
|
-
type: 'ecr',
|
|
37
|
-
bootstrapStackName: toolkitStackName,
|
|
38
|
-
});
|
|
39
|
-
fixture.log('Garbage collection complete!');
|
|
40
|
-
|
|
41
|
-
// assert that the bootstrap repository is empty
|
|
42
|
-
await fixture.aws.ecr.send(new ListImagesCommand({ repositoryName: repoName }))
|
|
43
|
-
.then((result) => {
|
|
44
|
-
expect(result.imageIds).toEqual([]);
|
|
45
|
-
});
|
|
46
|
-
}),
|
|
47
|
-
);
|
|
48
|
-
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { ListObjectsV2Command } from '@aws-sdk/client-s3';
|
|
2
|
-
import { integTest, withoutBootstrap, randomString } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection deletes unused s3 objects',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
const bootstrapBucketName = `aws-cdk-garbage-collect-integ-test-bckt-${randomString()}`;
|
|
11
|
-
fixture.rememberToDeleteBucket(bootstrapBucketName); // just in case
|
|
12
|
-
|
|
13
|
-
await fixture.cdkBootstrapModern({
|
|
14
|
-
toolkitStackName,
|
|
15
|
-
bootstrapBucketName,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
await fixture.cdkDeploy('lambda', {
|
|
19
|
-
options: [
|
|
20
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
21
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
22
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
23
|
-
'--force',
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
fixture.log('Setup complete!');
|
|
27
|
-
|
|
28
|
-
await fixture.cdkDestroy('lambda', {
|
|
29
|
-
options: [
|
|
30
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
31
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
32
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
33
|
-
'--force',
|
|
34
|
-
],
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
await fixture.cdkGarbageCollect({
|
|
38
|
-
rollbackBufferDays: 0,
|
|
39
|
-
type: 's3',
|
|
40
|
-
bootstrapStackName: toolkitStackName,
|
|
41
|
-
});
|
|
42
|
-
fixture.log('Garbage collection complete!');
|
|
43
|
-
|
|
44
|
-
// assert that the bootstrap bucket is empty
|
|
45
|
-
await fixture.aws.s3.send(new ListObjectsV2Command({ Bucket: bootstrapBucketName }))
|
|
46
|
-
.then((result) => {
|
|
47
|
-
expect(result.Contents).toBeUndefined();
|
|
48
|
-
});
|
|
49
|
-
}),
|
|
50
|
-
);
|
|
51
|
-
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ListImagesCommand } from '@aws-sdk/client-ecr';
|
|
2
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection keeps in use ecr images',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
|
|
11
|
-
await fixture.cdkBootstrapModern({
|
|
12
|
-
toolkitStackName,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const repoName = await fixture.bootstrapRepoName();
|
|
16
|
-
|
|
17
|
-
await fixture.cdkDeploy('docker-in-use', {
|
|
18
|
-
options: [
|
|
19
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
20
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
21
|
-
'--force',
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
fixture.log('Setup complete!');
|
|
25
|
-
|
|
26
|
-
await fixture.cdkGarbageCollect({
|
|
27
|
-
rollbackBufferDays: 0,
|
|
28
|
-
type: 'ecr',
|
|
29
|
-
bootstrapStackName: toolkitStackName,
|
|
30
|
-
});
|
|
31
|
-
fixture.log('Garbage collection complete!');
|
|
32
|
-
|
|
33
|
-
// assert that the bootstrap repository is empty
|
|
34
|
-
await fixture.aws.ecr.send(new ListImagesCommand({ repositoryName: repoName }))
|
|
35
|
-
.then((result) => {
|
|
36
|
-
expect(result.imageIds).toHaveLength(1);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
await fixture.cdkDestroy('docker-in-use', {
|
|
40
|
-
options: [
|
|
41
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
42
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
43
|
-
'--force',
|
|
44
|
-
],
|
|
45
|
-
});
|
|
46
|
-
}),
|
|
47
|
-
);
|
|
48
|
-
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ListObjectsV2Command } from '@aws-sdk/client-s3';
|
|
2
|
-
import { integTest, withoutBootstrap, randomString } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection keeps in use s3 objects',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
const bootstrapBucketName = `aws-cdk-garbage-collect-integ-test-bckt-${randomString()}`;
|
|
11
|
-
fixture.rememberToDeleteBucket(bootstrapBucketName); // just in case
|
|
12
|
-
|
|
13
|
-
await fixture.cdkBootstrapModern({
|
|
14
|
-
toolkitStackName,
|
|
15
|
-
bootstrapBucketName,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
await fixture.cdkDeploy('lambda', {
|
|
19
|
-
options: [
|
|
20
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
21
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
22
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
23
|
-
'--force',
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
fixture.log('Setup complete!');
|
|
27
|
-
|
|
28
|
-
await fixture.cdkGarbageCollect({
|
|
29
|
-
rollbackBufferDays: 0,
|
|
30
|
-
type: 's3',
|
|
31
|
-
bootstrapStackName: toolkitStackName,
|
|
32
|
-
});
|
|
33
|
-
fixture.log('Garbage collection complete!');
|
|
34
|
-
|
|
35
|
-
// assert that the bootstrap bucket has the object
|
|
36
|
-
await fixture.aws.s3.send(new ListObjectsV2Command({ Bucket: bootstrapBucketName }))
|
|
37
|
-
.then((result) => {
|
|
38
|
-
expect(result.Contents).toHaveLength(1);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
await fixture.cdkDestroy('lambda', {
|
|
42
|
-
options: [
|
|
43
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
44
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
45
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
46
|
-
'--force',
|
|
47
|
-
],
|
|
48
|
-
});
|
|
49
|
-
fixture.log('Teardown complete!');
|
|
50
|
-
}),
|
|
51
|
-
);
|
|
52
|
-
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ListImagesCommand } from '@aws-sdk/client-ecr';
|
|
2
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection tags unused ecr images',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
|
|
11
|
-
await fixture.cdkBootstrapModern({
|
|
12
|
-
toolkitStackName,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const repoName = await fixture.bootstrapRepoName();
|
|
16
|
-
|
|
17
|
-
await fixture.cdkDeploy('docker-in-use', {
|
|
18
|
-
options: [
|
|
19
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
20
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
21
|
-
'--force',
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
fixture.log('Setup complete!');
|
|
25
|
-
|
|
26
|
-
await fixture.cdkDestroy('docker-in-use', {
|
|
27
|
-
options: [
|
|
28
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
29
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
30
|
-
'--force',
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
await fixture.cdkGarbageCollect({
|
|
35
|
-
rollbackBufferDays: 100, // this will ensure that we do not delete assets immediately (and just tag them)
|
|
36
|
-
type: 'ecr',
|
|
37
|
-
bootstrapStackName: toolkitStackName,
|
|
38
|
-
});
|
|
39
|
-
fixture.log('Garbage collection complete!');
|
|
40
|
-
|
|
41
|
-
await fixture.aws.ecr.send(new ListImagesCommand({ repositoryName: repoName }))
|
|
42
|
-
.then((result) => {
|
|
43
|
-
expect(result.imageIds).toHaveLength(2); // the second tag comes in as a second 'id'
|
|
44
|
-
});
|
|
45
|
-
}),
|
|
46
|
-
);
|
|
47
|
-
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { GetObjectTaggingCommand, ListObjectsV2Command } from '@aws-sdk/client-s3';
|
|
2
|
-
import { integTest, withoutBootstrap, randomString } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'Garbage Collection tags unused s3 objects',
|
|
8
|
-
withoutBootstrap(async (fixture) => {
|
|
9
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
10
|
-
const bootstrapBucketName = `aws-cdk-garbage-collect-integ-test-bckt-${randomString()}`;
|
|
11
|
-
fixture.rememberToDeleteBucket(bootstrapBucketName); // just in case
|
|
12
|
-
|
|
13
|
-
await fixture.cdkBootstrapModern({
|
|
14
|
-
toolkitStackName,
|
|
15
|
-
bootstrapBucketName,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
await fixture.cdkDeploy('lambda', {
|
|
19
|
-
options: [
|
|
20
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
21
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
22
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
23
|
-
'--force',
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
fixture.log('Setup complete!');
|
|
27
|
-
|
|
28
|
-
await fixture.cdkDestroy('lambda', {
|
|
29
|
-
options: [
|
|
30
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
31
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
32
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
33
|
-
'--force',
|
|
34
|
-
],
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
await fixture.cdkGarbageCollect({
|
|
38
|
-
rollbackBufferDays: 100, // this will ensure that we do not delete assets immediately (and just tag them)
|
|
39
|
-
type: 's3',
|
|
40
|
-
bootstrapStackName: toolkitStackName,
|
|
41
|
-
});
|
|
42
|
-
fixture.log('Garbage collection complete!');
|
|
43
|
-
|
|
44
|
-
// assert that the bootstrap bucket has the object and is tagged
|
|
45
|
-
await fixture.aws.s3.send(new ListObjectsV2Command({ Bucket: bootstrapBucketName }))
|
|
46
|
-
.then(async (result) => {
|
|
47
|
-
expect(result.Contents).toHaveLength(2); // also the CFN template
|
|
48
|
-
const key = result.Contents![0].Key;
|
|
49
|
-
const tags = await fixture.aws.s3.send(new GetObjectTaggingCommand({ Bucket: bootstrapBucketName, Key: key }));
|
|
50
|
-
expect(tags.TagSet).toHaveLength(1);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
await fixture.cdkDestroy('lambda', {
|
|
54
|
-
options: [
|
|
55
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
56
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
57
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
58
|
-
'--force',
|
|
59
|
-
],
|
|
60
|
-
});
|
|
61
|
-
}),
|
|
62
|
-
);
|
|
63
|
-
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { BatchGetImageCommand, ListImagesCommand, PutImageCommand } from '@aws-sdk/client-ecr';
|
|
2
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
3
|
-
|
|
4
|
-
const ECR_ISOLATED_TAG = 'aws-cdk.isolated';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest(
|
|
9
|
-
'Garbage Collection untags in-use ecr images',
|
|
10
|
-
withoutBootstrap(async (fixture) => {
|
|
11
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
12
|
-
|
|
13
|
-
await fixture.cdkBootstrapModern({
|
|
14
|
-
toolkitStackName,
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
const repoName = await fixture.bootstrapRepoName();
|
|
18
|
-
|
|
19
|
-
await fixture.cdkDeploy('docker-in-use', {
|
|
20
|
-
options: [
|
|
21
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
22
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
23
|
-
'--force',
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
fixture.log('Setup complete!');
|
|
27
|
-
|
|
28
|
-
// Artificially add tagging to the asset in the bootstrap bucket
|
|
29
|
-
const imageIds = await fixture.aws.ecr.send(new ListImagesCommand({ repositoryName: repoName }));
|
|
30
|
-
const digest = imageIds.imageIds![0].imageDigest;
|
|
31
|
-
const imageManifests = await fixture.aws.ecr.send(new BatchGetImageCommand({ repositoryName: repoName, imageIds: [{ imageDigest: digest }] }));
|
|
32
|
-
const manifest = imageManifests.images![0].imageManifest;
|
|
33
|
-
await fixture.aws.ecr.send(new PutImageCommand({ repositoryName: repoName, imageManifest: manifest, imageDigest: digest, imageTag: `0-${ECR_ISOLATED_TAG}-12345` }));
|
|
34
|
-
|
|
35
|
-
await fixture.cdkGarbageCollect({
|
|
36
|
-
rollbackBufferDays: 100, // this will ensure that we do not delete assets immediately (and just tag them)
|
|
37
|
-
type: 'ecr',
|
|
38
|
-
bootstrapStackName: toolkitStackName,
|
|
39
|
-
});
|
|
40
|
-
fixture.log('Garbage collection complete!');
|
|
41
|
-
|
|
42
|
-
await fixture.aws.ecr.send(new ListImagesCommand({ repositoryName: repoName }))
|
|
43
|
-
.then((result) => {
|
|
44
|
-
expect(result.imageIds).toHaveLength(1); // the second tag has been removed
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
await fixture.cdkDestroy('docker-in-use', {
|
|
48
|
-
options: [
|
|
49
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
50
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
51
|
-
'--force',
|
|
52
|
-
],
|
|
53
|
-
});
|
|
54
|
-
}),
|
|
55
|
-
);
|
package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { GetObjectTaggingCommand, ListObjectsV2Command, PutObjectTaggingCommand } from '@aws-sdk/client-s3';
|
|
2
|
-
import { integTest, withoutBootstrap, randomString } from '../../lib';
|
|
3
|
-
|
|
4
|
-
const S3_ISOLATED_TAG = 'aws-cdk:isolated';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest(
|
|
9
|
-
'Garbage Collection untags in-use s3 objects',
|
|
10
|
-
withoutBootstrap(async (fixture) => {
|
|
11
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
12
|
-
const bootstrapBucketName = `aws-cdk-garbage-collect-integ-test-bckt-${randomString()}`;
|
|
13
|
-
fixture.rememberToDeleteBucket(bootstrapBucketName); // just in case
|
|
14
|
-
|
|
15
|
-
await fixture.cdkBootstrapModern({
|
|
16
|
-
toolkitStackName,
|
|
17
|
-
bootstrapBucketName,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
await fixture.cdkDeploy('lambda', {
|
|
21
|
-
options: [
|
|
22
|
-
'--context', `bootstrapBucket=${bootstrapBucketName}`,
|
|
23
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
24
|
-
'--toolkit-stack-name', toolkitStackName,
|
|
25
|
-
'--force',
|
|
26
|
-
],
|
|
27
|
-
});
|
|
28
|
-
fixture.log('Setup complete!');
|
|
29
|
-
|
|
30
|
-
// Artificially add tagging to the asset in the bootstrap bucket
|
|
31
|
-
const result = await fixture.aws.s3.send(new ListObjectsV2Command({ Bucket: bootstrapBucketName }));
|
|
32
|
-
const key = result.Contents!.filter((c) => c.Key?.split('.')[1] == 'zip')[0].Key; // fancy footwork to make sure we have the asset key
|
|
33
|
-
await fixture.aws.s3.send(new PutObjectTaggingCommand({
|
|
34
|
-
Bucket: bootstrapBucketName,
|
|
35
|
-
Key: key,
|
|
36
|
-
Tagging: {
|
|
37
|
-
TagSet: [{
|
|
38
|
-
Key: S3_ISOLATED_TAG,
|
|
39
|
-
Value: '12345',
|
|
40
|
-
}, {
|
|
41
|
-
Key: 'bogus',
|
|
42
|
-
Value: 'val',
|
|
43
|
-
}],
|
|
44
|
-
},
|
|
45
|
-
}));
|
|
46
|
-
|
|
47
|
-
await fixture.cdkGarbageCollect({
|
|
48
|
-
rollbackBufferDays: 100, // this will ensure that we do not delete assets immediately (and just tag them)
|
|
49
|
-
type: 's3',
|
|
50
|
-
bootstrapStackName: toolkitStackName,
|
|
51
|
-
});
|
|
52
|
-
fixture.log('Garbage collection complete!');
|
|
53
|
-
|
|
54
|
-
// assert that the isolated object tag is removed while the other tag remains
|
|
55
|
-
const newTags = await fixture.aws.s3.send(new GetObjectTaggingCommand({ Bucket: bootstrapBucketName, Key: key }));
|
|
56
|
-
|
|
57
|
-
expect(newTags.TagSet).toEqual([{
|
|
58
|
-
Key: 'bogus',
|
|
59
|
-
Value: 'val',
|
|
60
|
-
}]);
|
|
61
|
-
}),
|
|
62
|
-
);
|
|
63
|
-
|