@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,40 +0,0 @@
|
|
|
1
|
-
import { integTest, withSpecificFixture } 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
|
-
'automatic rollback if paused and change contains a replacement',
|
|
7
|
-
withSpecificFixture('rollback-test-app', async (fixture) => {
|
|
8
|
-
let phase = '1';
|
|
9
|
-
|
|
10
|
-
// Should succeed
|
|
11
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
12
|
-
options: ['--no-rollback'],
|
|
13
|
-
modEnv: { PHASE: phase },
|
|
14
|
-
verbose: false,
|
|
15
|
-
});
|
|
16
|
-
try {
|
|
17
|
-
phase = '2a';
|
|
18
|
-
|
|
19
|
-
// Should fail
|
|
20
|
-
const deployOutput = await fixture.cdkDeploy('test-rollback', {
|
|
21
|
-
options: ['--no-rollback'],
|
|
22
|
-
modEnv: { PHASE: phase },
|
|
23
|
-
verbose: false,
|
|
24
|
-
allowErrExit: true,
|
|
25
|
-
});
|
|
26
|
-
expect(deployOutput).toContain('UPDATE_FAILED');
|
|
27
|
-
|
|
28
|
-
// Do a deployment with a replacement and --force: this will roll back first and then deploy normally
|
|
29
|
-
phase = '3';
|
|
30
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
31
|
-
options: ['--no-rollback', '--force'],
|
|
32
|
-
modEnv: { PHASE: phase },
|
|
33
|
-
verbose: false,
|
|
34
|
-
});
|
|
35
|
-
} finally {
|
|
36
|
-
await fixture.cdkDestroy('test-rollback');
|
|
37
|
-
}
|
|
38
|
-
}),
|
|
39
|
-
);
|
|
40
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { integTest, withSpecificFixture } 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
|
-
'automatic rollback if replacement and --no-rollback is removed from flags',
|
|
7
|
-
withSpecificFixture('rollback-test-app', async (fixture) => {
|
|
8
|
-
let phase = '1';
|
|
9
|
-
|
|
10
|
-
// Should succeed
|
|
11
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
12
|
-
options: ['--no-rollback'],
|
|
13
|
-
modEnv: { PHASE: phase },
|
|
14
|
-
verbose: false,
|
|
15
|
-
});
|
|
16
|
-
try {
|
|
17
|
-
// Do a deployment with a replacement and removing --no-rollback: this will do a regular rollback deploy
|
|
18
|
-
phase = '3';
|
|
19
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
20
|
-
options: ['--force'],
|
|
21
|
-
modEnv: { PHASE: phase },
|
|
22
|
-
verbose: false,
|
|
23
|
-
});
|
|
24
|
-
} finally {
|
|
25
|
-
await fixture.cdkDestroy('test-rollback');
|
|
26
|
-
}
|
|
27
|
-
}),
|
|
28
|
-
);
|
|
29
|
-
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import * as yaml from 'yaml';
|
|
4
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest('a customized template vendor will not overwrite the default template', withoutBootstrap(async (fixture) => {
|
|
9
|
-
// Initial bootstrap
|
|
10
|
-
const toolkitStackName = fixture.bootstrapStackName;
|
|
11
|
-
await fixture.cdkBootstrapModern({
|
|
12
|
-
toolkitStackName,
|
|
13
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
// Customize template
|
|
17
|
-
const templateStr = await fixture.cdkBootstrapModern({
|
|
18
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
19
|
-
toolkitStackName,
|
|
20
|
-
showTemplate: true,
|
|
21
|
-
cliOptions: {
|
|
22
|
-
captureStderr: false,
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
const template = yaml.parse(templateStr, { schema: 'core' });
|
|
27
|
-
template.Parameters.BootstrapVariant.Default = 'CustomizedVendor';
|
|
28
|
-
const filename = path.join(fixture.integTestDir, `${fixture.qualifier}-template.yaml`);
|
|
29
|
-
fs.writeFileSync(filename, yaml.stringify(template, { schema: 'yaml-1.1' }), { encoding: 'utf-8' });
|
|
30
|
-
|
|
31
|
-
// Rebootstrap. For some reason, this doesn't cause a failure, it's a successful no-op.
|
|
32
|
-
const output = await fixture.cdkBootstrapModern({
|
|
33
|
-
toolkitStackName,
|
|
34
|
-
template: filename,
|
|
35
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
36
|
-
cliOptions: {
|
|
37
|
-
captureStderr: true,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
expect(output).toContain('Not overwriting it with a template containing');
|
|
41
|
-
}));
|
|
42
|
-
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('add tags, left alone on re-bootstrap', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
verbose: true,
|
|
11
|
-
toolkitStackName: bootstrapStackName,
|
|
12
|
-
tags: 'Foo=Bar',
|
|
13
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
14
|
-
});
|
|
15
|
-
await fixture.cdkBootstrapModern({
|
|
16
|
-
verbose: true,
|
|
17
|
-
toolkitStackName: bootstrapStackName,
|
|
18
|
-
force: true,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
|
|
22
|
-
expect(response.Stacks?.[0].Tags).toEqual([
|
|
23
|
-
{ Key: 'Foo', Value: 'Bar' },
|
|
24
|
-
]);
|
|
25
|
-
}));
|
|
26
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('can add tags then update tags during re-bootstrap', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
verbose: true,
|
|
11
|
-
toolkitStackName: bootstrapStackName,
|
|
12
|
-
tags: 'Foo=Bar',
|
|
13
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
14
|
-
});
|
|
15
|
-
await fixture.cdkBootstrapModern({
|
|
16
|
-
verbose: true,
|
|
17
|
-
toolkitStackName: bootstrapStackName,
|
|
18
|
-
tags: 'Foo=BarBaz',
|
|
19
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
20
|
-
force: true,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
|
|
24
|
-
expect(response.Stacks?.[0].Tags).toEqual([
|
|
25
|
-
{ Key: 'Foo', Value: 'BarBaz' },
|
|
26
|
-
]);
|
|
27
|
-
}));
|
|
28
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('can and deploy if omitting execution policies', withoutBootstrap(async (fixture) => {
|
|
6
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
7
|
-
|
|
8
|
-
await fixture.cdkBootstrapModern({
|
|
9
|
-
toolkitStackName: bootstrapStackName,
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
// Deploy stack that uses file assets
|
|
13
|
-
await fixture.cdkDeploy('lambda', {
|
|
14
|
-
options: [
|
|
15
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
16
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
17
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
18
|
-
],
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
21
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('can bootstrap without execution', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapLegacy({
|
|
10
|
-
toolkitStackName: bootstrapStackName,
|
|
11
|
-
noExecute: true,
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
const resp = await fixture.aws.cloudFormation.send(
|
|
15
|
-
new DescribeStacksCommand({
|
|
16
|
-
StackName: bootstrapStackName,
|
|
17
|
-
}),
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
expect(resp.Stacks?.[0].StackStatus).toEqual('REVIEW_IN_PROGRESS');
|
|
21
|
-
}));
|
|
22
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('can create a legacy bootstrap stack with --public-access-block-configuration=false', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapLegacy({
|
|
10
|
-
verbose: true,
|
|
11
|
-
toolkitStackName: bootstrapStackName,
|
|
12
|
-
publicAccessBlockConfiguration: false,
|
|
13
|
-
tags: 'Foo=Bar',
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
|
|
17
|
-
expect(response.Stacks?.[0].Tags).toEqual([
|
|
18
|
-
{ Key: 'Foo', Value: 'Bar' },
|
|
19
|
-
]);
|
|
20
|
-
}));
|
|
21
|
-
|
package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('can create multiple legacy bootstrap stacks', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName1 = `${fixture.bootstrapStackName}-1`;
|
|
8
|
-
const bootstrapStackName2 = `${fixture.bootstrapStackName}-2`;
|
|
9
|
-
|
|
10
|
-
// deploy two toolkit stacks into the same environment (see #1416)
|
|
11
|
-
// one with tags
|
|
12
|
-
await fixture.cdkBootstrapLegacy({
|
|
13
|
-
verbose: true,
|
|
14
|
-
toolkitStackName: bootstrapStackName1,
|
|
15
|
-
tags: 'Foo=Bar',
|
|
16
|
-
});
|
|
17
|
-
await fixture.cdkBootstrapLegacy({
|
|
18
|
-
verbose: true,
|
|
19
|
-
toolkitStackName: bootstrapStackName2,
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName1 }));
|
|
23
|
-
expect(response.Stacks?.[0].Tags).toEqual([
|
|
24
|
-
{ Key: 'Foo', Value: 'Bar' },
|
|
25
|
-
]);
|
|
26
|
-
}));
|
|
27
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('can deploy modern-synthesized stack even if bootstrap stack name is unknown', withoutBootstrap(async (fixture) => {
|
|
6
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
7
|
-
|
|
8
|
-
await fixture.cdkBootstrapModern({
|
|
9
|
-
toolkitStackName: bootstrapStackName,
|
|
10
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// Deploy stack that uses file assets
|
|
14
|
-
await fixture.cdkDeploy('lambda', {
|
|
15
|
-
options: [
|
|
16
|
-
// Explicity pass a name that's sure to not exist, otherwise the CLI might accidentally find a
|
|
17
|
-
// default bootstracp stack if that happens to be in the account already.
|
|
18
|
-
'--toolkit-stack-name', 'DefinitelyDoesNotExist',
|
|
19
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
20
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
21
|
-
],
|
|
22
|
-
});
|
|
23
|
-
}));
|
|
24
|
-
|
package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
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('can deploy with session tags on the deploy, lookup, file asset, and image asset publishing roles', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
toolkitStackName: bootstrapStackName,
|
|
11
|
-
bootstrapTemplate: path.join(__dirname, '..', '..', 'resources', 'bootstrap-templates', 'session-tags.all-roles-deny-all.yaml'),
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
await fixture.cdkDeploy('session-tags', {
|
|
15
|
-
options: [
|
|
16
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
17
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
18
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
19
|
-
],
|
|
20
|
-
modEnv: {
|
|
21
|
-
ENABLE_VPC_TESTING: 'IMPORT',
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
}));
|
|
25
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
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('can deploy without execution role and with session tags on deploy role', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
toolkitStackName: bootstrapStackName,
|
|
11
|
-
bootstrapTemplate: path.join(__dirname, '..', '..', 'resources', 'bootstrap-templates', 'session-tags.deploy-role-deny-sqs.yaml'),
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
await fixture.cdkDeploy('session-tags-with-custom-synthesizer', {
|
|
15
|
-
options: [
|
|
16
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
17
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
18
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
19
|
-
],
|
|
20
|
-
});
|
|
21
|
-
}));
|
|
22
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest('can dump the template, modify and use it to deploy a custom bootstrap stack', withoutBootstrap(async (fixture) => {
|
|
8
|
-
let template = await fixture.cdkBootstrapModern({
|
|
9
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
10
|
-
toolkitStackName: fixture.bootstrapStackName,
|
|
11
|
-
showTemplate: true,
|
|
12
|
-
cliOptions: {
|
|
13
|
-
captureStderr: false,
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
expect(template).toContain('BootstrapVersion:');
|
|
18
|
-
|
|
19
|
-
template += '\n' + [
|
|
20
|
-
' TwiddleDee:',
|
|
21
|
-
' Value: Template got twiddled',
|
|
22
|
-
].join('\n');
|
|
23
|
-
|
|
24
|
-
const filename = path.join(fixture.integTestDir, `${fixture.qualifier}-template.yaml`);
|
|
25
|
-
fs.writeFileSync(filename, template, { encoding: 'utf-8' });
|
|
26
|
-
await fixture.cdkBootstrapModern({
|
|
27
|
-
toolkitStackName: fixture.bootstrapStackName,
|
|
28
|
-
template: filename,
|
|
29
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
30
|
-
});
|
|
31
|
-
}));
|
|
32
|
-
|
package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { CreatePolicyCommand, DeletePolicyCommand, GetRoleCommand } from '@aws-sdk/client-iam';
|
|
3
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
4
|
-
import eventually from '../../lib/eventually';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest('can remove customPermissionsBoundary', withoutBootstrap(async (fixture) => {
|
|
9
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
10
|
-
const policyName = `${bootstrapStackName}-pb`;
|
|
11
|
-
let policyArn;
|
|
12
|
-
try {
|
|
13
|
-
const policy = await fixture.aws.iam.send(
|
|
14
|
-
new CreatePolicyCommand({
|
|
15
|
-
PolicyName: policyName,
|
|
16
|
-
PolicyDocument: JSON.stringify({
|
|
17
|
-
Version: '2012-10-17',
|
|
18
|
-
Statement: {
|
|
19
|
-
Action: ['*'],
|
|
20
|
-
Resource: ['*'],
|
|
21
|
-
Effect: 'Allow',
|
|
22
|
-
},
|
|
23
|
-
}),
|
|
24
|
-
}),
|
|
25
|
-
);
|
|
26
|
-
policyArn = policy.Policy?.Arn;
|
|
27
|
-
|
|
28
|
-
// Policy creation and consistency across regions is "almost immediate"
|
|
29
|
-
// See: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
30
|
-
// We will put this in an `eventually` block to retry stack creation with a reasonable timeout
|
|
31
|
-
const createStackWithPermissionBoundary = async (): Promise<void> => {
|
|
32
|
-
await fixture.cdkBootstrapModern({
|
|
33
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
34
|
-
toolkitStackName: bootstrapStackName,
|
|
35
|
-
customPermissionsBoundary: policyName,
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
const response = await fixture.aws.cloudFormation.send(
|
|
39
|
-
new DescribeStacksCommand({ StackName: bootstrapStackName }),
|
|
40
|
-
);
|
|
41
|
-
expect(
|
|
42
|
-
response.Stacks?.[0].Parameters?.some(
|
|
43
|
-
param => (param.ParameterKey === 'InputPermissionsBoundary' && param.ParameterValue === policyName),
|
|
44
|
-
)).toEqual(true);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
await eventually(createStackWithPermissionBoundary, { maxAttempts: 3 });
|
|
48
|
-
|
|
49
|
-
await fixture.cdkBootstrapModern({
|
|
50
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
51
|
-
toolkitStackName: bootstrapStackName,
|
|
52
|
-
usePreviousParameters: false,
|
|
53
|
-
});
|
|
54
|
-
const response2 = await fixture.aws.cloudFormation.send(
|
|
55
|
-
new DescribeStacksCommand({ StackName: bootstrapStackName }),
|
|
56
|
-
);
|
|
57
|
-
expect(
|
|
58
|
-
response2.Stacks?.[0].Parameters?.some(
|
|
59
|
-
param => (param.ParameterKey === 'InputPermissionsBoundary' && !param.ParameterValue),
|
|
60
|
-
)).toEqual(true);
|
|
61
|
-
|
|
62
|
-
const region = fixture.aws.region;
|
|
63
|
-
const account = await fixture.aws.account();
|
|
64
|
-
const role = await fixture.aws.iam.send(
|
|
65
|
-
new GetRoleCommand({ RoleName: `cdk-${fixture.qualifier}-cfn-exec-role-${account}-${region}` }),
|
|
66
|
-
);
|
|
67
|
-
if (!role.Role) {
|
|
68
|
-
throw new Error('Role not found');
|
|
69
|
-
}
|
|
70
|
-
expect(role.Role.PermissionsBoundary).toBeUndefined();
|
|
71
|
-
} finally {
|
|
72
|
-
if (policyArn) {
|
|
73
|
-
await fixture.aws.iam.send(new DeletePolicyCommand({ PolicyArn: policyArn }));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}));
|
|
77
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('can remove trusted account', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
verbose: false,
|
|
11
|
-
toolkitStackName: bootstrapStackName,
|
|
12
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
13
|
-
trust: ['599757620138', '730170552321'],
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
await fixture.cdkBootstrapModern({
|
|
17
|
-
verbose: true,
|
|
18
|
-
toolkitStackName: bootstrapStackName,
|
|
19
|
-
cfnExecutionPolicy: ' arn:aws:iam::aws:policy/AdministratorAccess',
|
|
20
|
-
untrust: ['730170552321'],
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
const response = await fixture.aws.cloudFormation.send(
|
|
24
|
-
new DescribeStacksCommand({ StackName: bootstrapStackName }),
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
const trustedAccounts = response.Stacks?.[0].Parameters?.find(p => p.ParameterKey === 'TrustedAccounts')?.ParameterValue;
|
|
28
|
-
expect(trustedAccounts).toEqual('599757620138');
|
|
29
|
-
}));
|
|
30
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('can use the custom permissions boundary (with slashes) to bootstrap', withoutBootstrap(async (fixture) => {
|
|
6
|
-
let template = await fixture.cdkBootstrapModern({
|
|
7
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
8
|
-
toolkitStackName: fixture.bootstrapStackName,
|
|
9
|
-
showTemplate: true,
|
|
10
|
-
customPermissionsBoundary: 'permission-boundary-name/with/path',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
expect(template).toContain('permission-boundary-name/with/path');
|
|
14
|
-
}));
|
|
15
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('can use the custom permissions boundary to bootstrap', withoutBootstrap(async (fixture) => {
|
|
6
|
-
let template = await fixture.cdkBootstrapModern({
|
|
7
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
8
|
-
toolkitStackName: fixture.bootstrapStackName,
|
|
9
|
-
showTemplate: true,
|
|
10
|
-
customPermissionsBoundary: 'permission-boundary-name',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
expect(template).toContain('permission-boundary-name');
|
|
14
|
-
}));
|
|
15
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('can use the default permissions boundary to bootstrap', withoutBootstrap(async (fixture) => {
|
|
6
|
-
let template = await fixture.cdkBootstrapModern({
|
|
7
|
-
// toolkitStackName doesn't matter for this particular invocation
|
|
8
|
-
toolkitStackName: fixture.bootstrapStackName,
|
|
9
|
-
showTemplate: true,
|
|
10
|
-
examplePermissionsBoundary: true,
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
expect(template).toContain('PermissionsBoundary');
|
|
14
|
-
}));
|
|
15
|
-
|
package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { DescribeStackResourcesCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { DescribeRepositoriesCommand } from '@aws-sdk/client-ecr';
|
|
3
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest('create ECR with tag IMMUTABILITY to set on', withoutBootstrap(async (fixture) => {
|
|
8
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
9
|
-
|
|
10
|
-
await fixture.cdkBootstrapModern({
|
|
11
|
-
verbose: true,
|
|
12
|
-
toolkitStackName: bootstrapStackName,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const response = await fixture.aws.cloudFormation.send(
|
|
16
|
-
new DescribeStackResourcesCommand({
|
|
17
|
-
StackName: bootstrapStackName,
|
|
18
|
-
}),
|
|
19
|
-
);
|
|
20
|
-
const ecrResource = response.StackResources?.find(resource => resource.LogicalResourceId === 'ContainerAssetsRepository');
|
|
21
|
-
expect(ecrResource).toBeDefined();
|
|
22
|
-
|
|
23
|
-
const ecrResponse = await fixture.aws.ecr.send(
|
|
24
|
-
new DescribeRepositoriesCommand({
|
|
25
|
-
repositoryNames: [
|
|
26
|
-
// This is set, as otherwise we don't end up here
|
|
27
|
-
ecrResource?.PhysicalResourceId ?? '',
|
|
28
|
-
],
|
|
29
|
-
}),
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
expect(ecrResponse.repositories?.[0].imageTagMutability).toEqual('IMMUTABLE');
|
|
33
|
-
}));
|
|
34
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('deploy new style synthesis to new style bootstrap (with docker image)', withoutBootstrap(async (fixture) => {
|
|
6
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
7
|
-
|
|
8
|
-
await fixture.cdkBootstrapModern({
|
|
9
|
-
toolkitStackName: bootstrapStackName,
|
|
10
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// Deploy stack that uses file assets
|
|
14
|
-
await fixture.cdkDeploy('docker', {
|
|
15
|
-
options: [
|
|
16
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
17
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
18
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
19
|
-
],
|
|
20
|
-
});
|
|
21
|
-
}));
|
|
22
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('deploy new style synthesis to new style bootstrap', withoutBootstrap(async (fixture) => {
|
|
6
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
7
|
-
|
|
8
|
-
await fixture.cdkBootstrapModern({
|
|
9
|
-
toolkitStackName: bootstrapStackName,
|
|
10
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// Deploy stack that uses file assets
|
|
14
|
-
await fixture.cdkDeploy('lambda', {
|
|
15
|
-
options: [
|
|
16
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
17
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
18
|
-
'--context', '@aws-cdk/core:newStyleStackSynthesis=1',
|
|
19
|
-
],
|
|
20
|
-
});
|
|
21
|
-
}));
|
|
22
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { integTest, withoutBootstrap } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest('deploy old style synthesis to new style bootstrap', withoutBootstrap(async (fixture) => {
|
|
6
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
7
|
-
|
|
8
|
-
await fixture.cdkBootstrapModern({
|
|
9
|
-
toolkitStackName: bootstrapStackName,
|
|
10
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// Deploy stack that uses file assets
|
|
14
|
-
await fixture.cdkDeploy('lambda', {
|
|
15
|
-
options: [
|
|
16
|
-
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
|
|
17
|
-
'--toolkit-stack-name', bootstrapStackName,
|
|
18
|
-
],
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
21
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
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('switch on termination protection, switch is left alone on re-bootstrap', withoutBootstrap(async (fixture) => {
|
|
7
|
-
const bootstrapStackName = fixture.bootstrapStackName;
|
|
8
|
-
|
|
9
|
-
await fixture.cdkBootstrapModern({
|
|
10
|
-
verbose: true,
|
|
11
|
-
toolkitStackName: bootstrapStackName,
|
|
12
|
-
terminationProtection: true,
|
|
13
|
-
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
|
|
14
|
-
});
|
|
15
|
-
await fixture.cdkBootstrapModern({
|
|
16
|
-
verbose: true,
|
|
17
|
-
toolkitStackName: bootstrapStackName,
|
|
18
|
-
force: true,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
|
|
22
|
-
expect(response.Stacks?.[0].EnableTerminationProtection).toEqual(true);
|
|
23
|
-
}));
|
|
24
|
-
|