@aws-cdk-testing/cli-integ 3.2.4 → 3.3.1
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/cli/run-suite.js +6 -1
- package/lib/cli/run-suite.ts +6 -0
- package/lib/integ-test.js +3 -13
- package/lib/integ-test.ts +2 -13
- package/lib/process.d.ts +45 -0
- package/lib/process.js +97 -0
- package/lib/process.ts +154 -0
- package/lib/shell.d.ts +51 -0
- package/lib/shell.js +81 -20
- package/lib/shell.ts +144 -17
- package/lib/with-cdk-app.d.ts +4 -1
- package/lib/with-cdk-app.js +6 -4
- package/lib/with-cdk-app.ts +9 -2
- package/lib/with-cli-lib.js +2 -1
- package/lib/with-cli-lib.ts +1 -0
- package/package.json +5 -4
- package/resources/cdk-apps/app/app.js +36 -25
- package/resources/integ.jest.config.js +2 -3
- package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.js +24 -0
- package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.ts +29 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +80 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.ts +92 -0
- package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.js +11 -0
- package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.js +11 -0
- package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.js +35 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.ts +40 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.js +35 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.ts +40 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.js +26 -0
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.ts +29 -0
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.js +39 -0
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.ts +42 -0
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +25 -0
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.ts +26 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +27 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.js +19 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.ts +21 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.ts +21 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +26 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts +27 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.js +22 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.ts +24 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.js +23 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts +25 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.js +29 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.ts +32 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +61 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts +77 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +25 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.ts +30 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +27 -0
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts +34 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.js +19 -0
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.ts +21 -0
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +23 -0
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.ts +24 -0
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.js +42 -0
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.ts +47 -0
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.js +49 -0
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.ts +57 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.js +15 -0
- 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 +22 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.js +15 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.js +14 -0
- 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 +19 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.ts +14 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.js +8 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.js +8 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.js +8 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.js +8 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.js +30 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.ts +35 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.js +28 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.ts +37 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.js +27 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.ts +35 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.js +30 -0
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.ts +37 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.ts +23 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.ts +23 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.js +35 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.ts +38 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.js +23 -0
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.js +13 -0
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.ts +18 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.js +45 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.ts +50 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.js +75 -0
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.ts +95 -0
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.js +32 -0
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.ts +36 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.js +38 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.ts +42 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.js +11 -0
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.ts +14 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.js +111 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.ts +126 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.js +74 -0
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.ts +80 -0
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.js +40 -0
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.ts +53 -0
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.js +16 -0
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.ts +19 -0
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +24 -0
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.js +11 -0
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.ts +14 -0
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.js +15 -0
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.ts +20 -0
- package/tests/cli-integ-tests/cdk-context-setting.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-context-setting.integtest.js +26 -0
- package/tests/cli-integ-tests/cdk-context-setting.integtest.ts +33 -0
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.ts +23 -0
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.js +13 -0
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.ts +17 -0
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.js +10 -0
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.ts +14 -0
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +22 -0
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.ts +31 -0
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +41 -0
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.ts +50 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.js +13 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.ts +18 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.ts +17 -0
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +38 -0
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.ts +51 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.js +8 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.ts +11 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.js +39 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.ts +42 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.js +17 -0
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.ts +32 -0
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.js +23 -0
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +28 -0
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.ts +29 -0
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.js +16 -0
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.ts +17 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +28 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.ts +36 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +37 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.ts +45 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +31 -0
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.ts +37 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +26 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.ts +33 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.ts +26 -0
- package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.js +97 -0
- package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.ts +119 -0
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.js +19 -0
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.ts +22 -0
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +28 -0
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.ts +36 -0
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +27 -0
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-deploy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-deploy.integtest.js +15 -0
- package/tests/cli-integ-tests/cdk-deploy.integtest.ts +20 -0
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +32 -0
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.ts +36 -0
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.js +10 -0
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.ts +12 -0
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.js +34 -0
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.ts +44 -0
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.ts +12 -0
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +35 -0
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.ts +41 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.js +39 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts +48 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.js +43 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts +51 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.js +39 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts +48 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.js +44 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts +52 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.js +38 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.ts +47 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.js +54 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.ts +63 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.js +45 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts +55 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +53 -0
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts +63 -0
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.js +44 -0
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.ts +52 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.js +24 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.ts +29 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +33 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.ts +45 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +30 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.ts +36 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +33 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.ts +41 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +46 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.ts +53 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +36 -0
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.ts +43 -0
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +51 -0
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.ts +59 -0
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.ts +23 -0
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +46 -0
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.ts +53 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +27 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.ts +32 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.ts +12 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.js +22 -0
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.ts +27 -0
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.ts +32 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.ts +11 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.ts +11 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.ts +11 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.ts +11 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +9 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +16 -0
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.ts +20 -0
- package/tests/cli-integ-tests/cdk-migrate/testcase.d.ts +3 -0
- package/tests/cli-integ-tests/cdk-migrate/testcase.js +55 -0
- package/tests/cli-integ-tests/cdk-migrate/testcase.ts +69 -0
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.js +22 -0
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.ts +28 -0
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.js +36 -0
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.ts +39 -0
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts +25 -0
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.js +20 -0
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.ts +30 -0
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.d.ts +6 -0
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.js +22 -0
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.ts +26 -0
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.js +10 -0
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.ts +18 -0
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +41 -0
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.ts +59 -0
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.js +10 -0
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.ts +13 -0
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.js +17 -0
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.ts +20 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.js +12 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts +15 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts +18 -0
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.js +18 -0
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.ts +25 -0
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.js +14 -0
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.ts +19 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.js +40 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.ts +48 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.js +33 -0
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.ts +38 -0
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +45 -0
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.ts +56 -0
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.d.ts +6 -0
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +59 -0
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.ts +74 -0
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.js +51 -0
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.ts +64 -0
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.js +10 -0
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.ts +14 -0
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.js +34 -0
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.ts +47 -0
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.js +21 -0
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.ts +26 -0
- package/tests/cli-integ-tests/proxy.integtest.js +1 -2
- package/tests/cli-integ-tests/proxy.integtest.ts +0 -1
- package/tests/cli-integ-tests/bootstrapping.integtest.js +0 -431
- package/tests/cli-integ-tests/bootstrapping.integtest.ts +0 -517
- package/tests/cli-integ-tests/cli-lib.integtest.js +0 -62
- package/tests/cli-integ-tests/cli-lib.integtest.ts +0 -90
- package/tests/cli-integ-tests/cli.integtest.js +0 -2187
- package/tests/cli-integ-tests/cli.integtest.ts +0 -2969
- package/tests/cli-integ-tests/garbage-collection.integtest.js +0 -314
- package/tests/cli-integ-tests/garbage-collection.integtest.ts +0 -392
- /package/tests/cli-integ-tests/{bootstrapping.integtest.d.ts → cdk---exclusively-selects-only-selected-stack.integtest.d.ts} +0 -0
- /package/tests/cli-integ-tests/{cli-lib.integtest.d.ts → cdk-assets/cdk-assets-uses-profile.integtest.d.ts} +0 -0
- /package/tests/cli-integ-tests/{cli.integtest.d.ts → cdk-automatic-ordering-with-concurrency.integtest.d.ts} +0 -0
- /package/tests/cli-integ-tests/{garbage-collection.integtest.d.ts → cdk-automatic-ordering.integtest.d.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deploysSuccessfully = deploysSuccessfully;
|
|
4
|
+
exports.fromStackCreatesDeployableApp = fromStackCreatesDeployableApp;
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
8
|
+
const lib_1 = require("../../../lib");
|
|
9
|
+
async function deploysSuccessfully(fixture, language) {
|
|
10
|
+
var _a;
|
|
11
|
+
if (language === 'python') {
|
|
12
|
+
await fixture.shell(['pip', 'install', '-r', 'requirements.txt']);
|
|
13
|
+
}
|
|
14
|
+
const stackArn = await fixture.cdkDeploy(fixture.stackNamePrefix, { neverRequireApproval: true, verbose: true, captureStderr: false }, true);
|
|
15
|
+
const response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
16
|
+
StackName: stackArn,
|
|
17
|
+
}));
|
|
18
|
+
expect((_a = response.Stacks) === null || _a === void 0 ? void 0 : _a[0].StackStatus).toEqual('CREATE_COMPLETE');
|
|
19
|
+
await fixture.cdkDestroy(fixture.stackNamePrefix);
|
|
20
|
+
}
|
|
21
|
+
async function fromStackCreatesDeployableApp(fixture, language) {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
const migrateStackName = fixture.fullStackName('migrate-stack');
|
|
24
|
+
await fixture.aws.cloudFormation.send(new client_cloudformation_1.CreateStackCommand({
|
|
25
|
+
StackName: migrateStackName,
|
|
26
|
+
TemplateBody: await fs_1.promises.readFile(path.join(__dirname, '..', '..', '..', 'resources', 'templates', 'sqs-template.json'), 'utf8'),
|
|
27
|
+
}));
|
|
28
|
+
try {
|
|
29
|
+
let stackStatus = 'CREATE_IN_PROGRESS';
|
|
30
|
+
while (stackStatus === 'CREATE_IN_PROGRESS') {
|
|
31
|
+
stackStatus = await ((_a = (await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: migrateStackName }))).Stacks) === null || _a === void 0 ? void 0 : _a[0].StackStatus);
|
|
32
|
+
await (0, lib_1.sleep)(1000);
|
|
33
|
+
}
|
|
34
|
+
await fixture.cdk(['migrate', '--language', language, '--stack-name', migrateStackName, '--from-stack'], {
|
|
35
|
+
modEnv: { MIGRATE_INTEG_TEST: '1' },
|
|
36
|
+
neverRequireApproval: true,
|
|
37
|
+
verbose: true,
|
|
38
|
+
captureStderr: false,
|
|
39
|
+
});
|
|
40
|
+
await fixture.shell(['cd', path.join(fixture.integTestDir, migrateStackName)]);
|
|
41
|
+
await fixture.cdk(['deploy', migrateStackName], {
|
|
42
|
+
neverRequireApproval: true,
|
|
43
|
+
verbose: true,
|
|
44
|
+
captureStderr: false,
|
|
45
|
+
});
|
|
46
|
+
const response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
47
|
+
StackName: migrateStackName,
|
|
48
|
+
}));
|
|
49
|
+
expect((_b = response.Stacks) === null || _b === void 0 ? void 0 : _b[0].StackStatus).toEqual('UPDATE_COMPLETE');
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
await fixture.cdkDestroy('migrate-stack');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGNhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0Y2FzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLGtEQWtCQztBQUVELHNFQTJDQztBQXBFRCwyQkFBb0M7QUFDcEMsNkJBQTZCO0FBQzdCLDBFQUEyRjtBQUMzRixzQ0FBa0Q7QUFFM0MsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQW9CLEVBQUUsUUFBZ0I7O0lBQzlFLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUN0QyxPQUFPLENBQUMsZUFBZSxFQUN2QixFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFDbkUsSUFBSSxDQUNMLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDcEQsSUFBSSw2Q0FBcUIsQ0FBQztRQUN4QixTQUFTLEVBQUUsUUFBUTtLQUNwQixDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFBLFFBQVEsQ0FBQyxNQUFNLDBDQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFTSxLQUFLLFVBQVUsNkJBQTZCLENBQUMsT0FBb0IsRUFBRSxRQUFnQjs7SUFFeEYsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNuQyxJQUFJLDBDQUFrQixDQUFDO1FBQ3JCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsWUFBWSxFQUFFLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxFQUNyRixNQUFNLENBQ1A7S0FDRixDQUFDLENBQ0gsQ0FBQztJQUNGLElBQUksQ0FBQztRQUNILElBQUksV0FBVyxHQUFHLG9CQUFvQixDQUFDO1FBQ3ZDLE9BQU8sV0FBVyxLQUFLLG9CQUFvQixFQUFFLENBQUM7WUFDNUMsV0FBVyxHQUFHLE1BQU0sQ0FBQSxNQUFBLENBQ2xCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksNkNBQXFCLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQ2xHLENBQUMsTUFBTSwwQ0FBRyxDQUFDLEVBQUUsV0FBWSxDQUFBLENBQUM7WUFDM0IsTUFBTSxJQUFBLFdBQUssRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxFQUFFO1lBQ3ZHLE1BQU0sRUFBRSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtZQUNuQyxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTtZQUM5QyxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BELElBQUksNkNBQXFCLENBQUM7WUFDeEIsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sQ0FBQyxNQUFBLFFBQVEsQ0FBQyxNQUFNLDBDQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDO1lBQVMsQ0FBQztRQUNULE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1QyxDQUFDO0FBRUgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENyZWF0ZVN0YWNrQ29tbWFuZCwgRGVzY3JpYmVTdGFja3NDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvblwiO1xuaW1wb3J0IHsgc2xlZXAsIFRlc3RGaXh0dXJlIH0gZnJvbSBcIi4uLy4uLy4uL2xpYlwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVwbG95c1N1Y2Nlc3NmdWxseShmaXh0dXJlOiBUZXN0Rml4dHVyZSwgbGFuZ3VhZ2U6IHN0cmluZykge1xuICBpZiAobGFuZ3VhZ2UgPT09ICdweXRob24nKSB7XG4gICAgYXdhaXQgZml4dHVyZS5zaGVsbChbJ3BpcCcsICdpbnN0YWxsJywgJy1yJywgJ3JlcXVpcmVtZW50cy50eHQnXSk7XG4gIH1cblxuICBjb25zdCBzdGFja0FybiA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KFxuICAgIGZpeHR1cmUuc3RhY2tOYW1lUHJlZml4LFxuICAgIHsgbmV2ZXJSZXF1aXJlQXBwcm92YWw6IHRydWUsIHZlcmJvc2U6IHRydWUsIGNhcHR1cmVTdGRlcnI6IGZhbHNlIH0sXG4gICAgdHJ1ZSxcbiAgKTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoe1xuICAgICAgU3RhY2tOYW1lOiBzdGFja0FybixcbiAgICB9KSxcbiAgKTtcblxuICBleHBlY3QocmVzcG9uc2UuU3RhY2tzPy5bMF0uU3RhY2tTdGF0dXMpLnRvRXF1YWwoJ0NSRUFURV9DT01QTEVURScpO1xuICBhd2FpdCBmaXh0dXJlLmNka0Rlc3Ryb3koZml4dHVyZS5zdGFja05hbWVQcmVmaXgpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZnJvbVN0YWNrQ3JlYXRlc0RlcGxveWFibGVBcHAoZml4dHVyZTogVGVzdEZpeHR1cmUsIGxhbmd1YWdlOiBzdHJpbmcpIHtcblxuICBjb25zdCBtaWdyYXRlU3RhY2tOYW1lID0gZml4dHVyZS5mdWxsU3RhY2tOYW1lKCdtaWdyYXRlLXN0YWNrJyk7XG4gIGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgbmV3IENyZWF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICBTdGFja05hbWU6IG1pZ3JhdGVTdGFja05hbWUsXG4gICAgICBUZW1wbGF0ZUJvZHk6IGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnLi4nLCAncmVzb3VyY2VzJywgJ3RlbXBsYXRlcycsICdzcXMtdGVtcGxhdGUuanNvbicpLFxuICAgICAgICAndXRmOCcsXG4gICAgICApLFxuICAgIH0pLFxuICApO1xuICB0cnkge1xuICAgIGxldCBzdGFja1N0YXR1cyA9ICdDUkVBVEVfSU5fUFJPR1JFU1MnO1xuICAgIHdoaWxlIChzdGFja1N0YXR1cyA9PT0gJ0NSRUFURV9JTl9QUk9HUkVTUycpIHtcbiAgICAgIHN0YWNrU3RhdHVzID0gYXdhaXQgKFxuICAgICAgICBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IG1pZ3JhdGVTdGFja05hbWUgfSkpXG4gICAgICApLlN0YWNrcz8uWzBdLlN0YWNrU3RhdHVzITtcbiAgICAgIGF3YWl0IHNsZWVwKDEwMDApO1xuICAgIH1cbiAgICBhd2FpdCBmaXh0dXJlLmNkayhbJ21pZ3JhdGUnLCAnLS1sYW5ndWFnZScsIGxhbmd1YWdlLCAnLS1zdGFjay1uYW1lJywgbWlncmF0ZVN0YWNrTmFtZSwgJy0tZnJvbS1zdGFjayddLCB7XG4gICAgICBtb2RFbnY6IHsgTUlHUkFURV9JTlRFR19URVNUOiAnMScgfSxcbiAgICAgIG5ldmVyUmVxdWlyZUFwcHJvdmFsOiB0cnVlLFxuICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLFxuICAgIH0pO1xuICAgIGF3YWl0IGZpeHR1cmUuc2hlbGwoWydjZCcsIHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgbWlncmF0ZVN0YWNrTmFtZSldKTtcbiAgICBhd2FpdCBmaXh0dXJlLmNkayhbJ2RlcGxveScsIG1pZ3JhdGVTdGFja05hbWVdLCB7XG4gICAgICBuZXZlclJlcXVpcmVBcHByb3ZhbDogdHJ1ZSxcbiAgICAgIHZlcmJvc2U6IHRydWUsXG4gICAgICBjYXB0dXJlU3RkZXJyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBtaWdyYXRlU3RhY2tOYW1lLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja3M/LlswXS5TdGFja1N0YXR1cykudG9FcXVhbCgnVVBEQVRFX0NPTVBMRVRFJyk7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXN0cm95KCdtaWdyYXRlLXN0YWNrJyk7XG4gIH1cblxufSJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { promises as fs } from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { CreateStackCommand, DescribeStacksCommand } from "@aws-sdk/client-cloudformation";
|
|
4
|
+
import { sleep, TestFixture } from "../../../lib";
|
|
5
|
+
|
|
6
|
+
export async function deploysSuccessfully(fixture: TestFixture, language: string) {
|
|
7
|
+
if (language === 'python') {
|
|
8
|
+
await fixture.shell(['pip', 'install', '-r', 'requirements.txt']);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const stackArn = await fixture.cdkDeploy(
|
|
12
|
+
fixture.stackNamePrefix,
|
|
13
|
+
{ neverRequireApproval: true, verbose: true, captureStderr: false },
|
|
14
|
+
true,
|
|
15
|
+
);
|
|
16
|
+
const response = await fixture.aws.cloudFormation.send(
|
|
17
|
+
new DescribeStacksCommand({
|
|
18
|
+
StackName: stackArn,
|
|
19
|
+
}),
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
expect(response.Stacks?.[0].StackStatus).toEqual('CREATE_COMPLETE');
|
|
23
|
+
await fixture.cdkDestroy(fixture.stackNamePrefix);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export async function fromStackCreatesDeployableApp(fixture: TestFixture, language: string) {
|
|
27
|
+
|
|
28
|
+
const migrateStackName = fixture.fullStackName('migrate-stack');
|
|
29
|
+
await fixture.aws.cloudFormation.send(
|
|
30
|
+
new CreateStackCommand({
|
|
31
|
+
StackName: migrateStackName,
|
|
32
|
+
TemplateBody: await fs.readFile(
|
|
33
|
+
path.join(__dirname, '..', '..', '..', 'resources', 'templates', 'sqs-template.json'),
|
|
34
|
+
'utf8',
|
|
35
|
+
),
|
|
36
|
+
}),
|
|
37
|
+
);
|
|
38
|
+
try {
|
|
39
|
+
let stackStatus = 'CREATE_IN_PROGRESS';
|
|
40
|
+
while (stackStatus === 'CREATE_IN_PROGRESS') {
|
|
41
|
+
stackStatus = await (
|
|
42
|
+
await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: migrateStackName }))
|
|
43
|
+
).Stacks?.[0].StackStatus!;
|
|
44
|
+
await sleep(1000);
|
|
45
|
+
}
|
|
46
|
+
await fixture.cdk(['migrate', '--language', language, '--stack-name', migrateStackName, '--from-stack'], {
|
|
47
|
+
modEnv: { MIGRATE_INTEG_TEST: '1' },
|
|
48
|
+
neverRequireApproval: true,
|
|
49
|
+
verbose: true,
|
|
50
|
+
captureStderr: false,
|
|
51
|
+
});
|
|
52
|
+
await fixture.shell(['cd', path.join(fixture.integTestDir, migrateStackName)]);
|
|
53
|
+
await fixture.cdk(['deploy', migrateStackName], {
|
|
54
|
+
neverRequireApproval: true,
|
|
55
|
+
verbose: true,
|
|
56
|
+
captureStderr: false,
|
|
57
|
+
});
|
|
58
|
+
const response = await fixture.aws.cloudFormation.send(
|
|
59
|
+
new DescribeStacksCommand({
|
|
60
|
+
StackName: migrateStackName,
|
|
61
|
+
}),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
expect(response.Stacks?.[0].StackStatus).toEqual('UPDATE_COMPLETE');
|
|
65
|
+
} finally {
|
|
66
|
+
await fixture.cdkDestroy('migrate-stack');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
4
|
+
const lib_1 = require("../../lib");
|
|
5
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
+
(0, lib_1.integTest)('nested stack with parameters', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
7
|
+
var _a;
|
|
8
|
+
// STACK_NAME_PREFIX is used in MyTopicParam to allow multiple instances
|
|
9
|
+
// of this test to run in parallel, othewise they will attempt to create the same SNS topic.
|
|
10
|
+
const stackArn = await fixture.cdkDeploy('with-nested-stack-using-parameters', {
|
|
11
|
+
options: ['--parameters', `MyTopicParam=${fixture.stackNamePrefix}ThereIsNoSpoon`],
|
|
12
|
+
captureStderr: false,
|
|
13
|
+
});
|
|
14
|
+
// verify that we only deployed a single stack (there's a single ARN in the output)
|
|
15
|
+
expect(stackArn.split('\n').length).toEqual(1);
|
|
16
|
+
// verify the number of resources in the stack
|
|
17
|
+
const response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStackResourcesCommand({
|
|
18
|
+
StackName: stackArn,
|
|
19
|
+
}));
|
|
20
|
+
expect((_a = response.StackResources) === null || _a === void 0 ? void 0 : _a.length).toEqual(1);
|
|
21
|
+
}));
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW5lc3RlZC1zdGFjay13aXRoLXBhcmFtZXRlcnMuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLW5lc3RlZC1zdGFjay13aXRoLXBhcmFtZXRlcnMuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEVBQStFO0FBQy9FLG1DQUEwRDtBQUUxRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQ1AsOEJBQThCLEVBQzlCLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFOztJQUNuQyx3RUFBd0U7SUFDeEUsNEZBQTRGO0lBQzVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsRUFBRTtRQUM3RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxlQUFlLGdCQUFnQixDQUFDO1FBQ2xGLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUVILG1GQUFtRjtJQUNuRixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0MsOENBQThDO0lBQzlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNwRCxJQUFJLHFEQUE2QixDQUFDO1FBQ2hDLFNBQVMsRUFBRSxRQUFRO0tBQ3BCLENBQUMsQ0FDSCxDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQUEsUUFBUSxDQUFDLGNBQWMsMENBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ25lc3RlZCBzdGFjayB3aXRoIHBhcmFtZXRlcnMnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBTVEFDS19OQU1FX1BSRUZJWCBpcyB1c2VkIGluIE15VG9waWNQYXJhbSB0byBhbGxvdyBtdWx0aXBsZSBpbnN0YW5jZXNcbiAgICAvLyBvZiB0aGlzIHRlc3QgdG8gcnVuIGluIHBhcmFsbGVsLCBvdGhld2lzZSB0aGV5IHdpbGwgYXR0ZW1wdCB0byBjcmVhdGUgdGhlIHNhbWUgU05TIHRvcGljLlxuICAgIGNvbnN0IHN0YWNrQXJuID0gYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3dpdGgtbmVzdGVkLXN0YWNrLXVzaW5nLXBhcmFtZXRlcnMnLCB7XG4gICAgICBvcHRpb25zOiBbJy0tcGFyYW1ldGVycycsIGBNeVRvcGljUGFyYW09JHtmaXh0dXJlLnN0YWNrTmFtZVByZWZpeH1UaGVyZUlzTm9TcG9vbmBdLFxuICAgICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gICAgfSk7XG5cbiAgICAvLyB2ZXJpZnkgdGhhdCB3ZSBvbmx5IGRlcGxveWVkIGEgc2luZ2xlIHN0YWNrICh0aGVyZSdzIGEgc2luZ2xlIEFSTiBpbiB0aGUgb3V0cHV0KVxuICAgIGV4cGVjdChzdGFja0Fybi5zcGxpdCgnXFxuJykubGVuZ3RoKS50b0VxdWFsKDEpO1xuXG4gICAgLy8gdmVyaWZ5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIGluIHRoZSBzdGFja1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tBcm4sXG4gICAgICB9KSxcbiAgICApO1xuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja1Jlc291cmNlcz8ubGVuZ3RoKS50b0VxdWFsKDEpO1xuICB9KSxcbik7XG5cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
'nested stack with parameters',
|
|
8
|
+
withDefaultFixture(async (fixture) => {
|
|
9
|
+
// STACK_NAME_PREFIX is used in MyTopicParam to allow multiple instances
|
|
10
|
+
// of this test to run in parallel, othewise they will attempt to create the same SNS topic.
|
|
11
|
+
const stackArn = await fixture.cdkDeploy('with-nested-stack-using-parameters', {
|
|
12
|
+
options: ['--parameters', `MyTopicParam=${fixture.stackNamePrefix}ThereIsNoSpoon`],
|
|
13
|
+
captureStderr: false,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// verify that we only deployed a single stack (there's a single ARN in the output)
|
|
17
|
+
expect(stackArn.split('\n').length).toEqual(1);
|
|
18
|
+
|
|
19
|
+
// verify the number of resources in the stack
|
|
20
|
+
const response = await fixture.aws.cloudFormation.send(
|
|
21
|
+
new DescribeStackResourcesCommand({
|
|
22
|
+
StackName: stackArn,
|
|
23
|
+
}),
|
|
24
|
+
);
|
|
25
|
+
expect(response.StackResources?.length).toEqual(1);
|
|
26
|
+
}),
|
|
27
|
+
);
|
|
28
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs_1 = require("fs");
|
|
4
|
+
const os = require("os");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lib_1 = require("../../lib");
|
|
7
|
+
const proxy_1 = require("../../lib/proxy");
|
|
8
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
9
|
+
(0, lib_1.integTest)('requests go through a proxy when configured', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const proxyServer = await (0, proxy_1.startProxyServer)();
|
|
12
|
+
try {
|
|
13
|
+
// Delete notices cache if it exists
|
|
14
|
+
await fs_1.promises.rm(path.join((_a = process.env.HOME) !== null && _a !== void 0 ? _a : os.userInfo().homedir, '.cdk/cache/notices.json'), { force: true });
|
|
15
|
+
await fixture.cdkDeploy('test-2', {
|
|
16
|
+
captureStderr: true,
|
|
17
|
+
options: [
|
|
18
|
+
'--proxy', proxyServer.url,
|
|
19
|
+
'--ca-bundle-path', proxyServer.certPath,
|
|
20
|
+
],
|
|
21
|
+
modEnv: {
|
|
22
|
+
CDK_HOME: fixture.integTestDir,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const requests = await proxyServer.getSeenRequests();
|
|
26
|
+
expect(requests.map(req => req.url))
|
|
27
|
+
.toContain('https://cli.cdk.dev-tools.aws.dev/notices.json');
|
|
28
|
+
const actionsUsed = (0, proxy_1.awsActionsFromRequests)(requests);
|
|
29
|
+
expect(actionsUsed).toContain('AssumeRole');
|
|
30
|
+
expect(actionsUsed).toContain('CreateChangeSet');
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
await proxyServer.stop();
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlcXVlc3RzLWdvLXRocm91Z2gtYS1wcm94eS13aGVuLWNvbmZpZ3VyZWQuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXJlcXVlc3RzLWdvLXRocm91Z2gtYS1wcm94eS13aGVuLWNvbmZpZ3VyZWQuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQW9DO0FBQ3BDLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbUNBQTBEO0FBQzFELDJDQUEyRTtBQUUzRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQUMsNkNBQTZDLEVBQ3JELElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFOztJQUNuQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsd0JBQWdCLEdBQUUsQ0FBQztJQUM3QyxJQUFJLENBQUM7UUFDSCxvQ0FBb0M7UUFDcEMsTUFBTSxhQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksbUNBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNoQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUMxQixrQkFBa0IsRUFBRSxXQUFXLENBQUMsUUFBUTthQUN6QztZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVk7YUFDL0I7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUUvRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDhCQUFzQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5pbXBvcnQgeyBhd3NBY3Rpb25zRnJvbVJlcXVlc3RzLCBzdGFydFByb3h5U2VydmVyIH0gZnJvbSAnLi4vLi4vbGliL3Byb3h5JztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KCdyZXF1ZXN0cyBnbyB0aHJvdWdoIGEgcHJveHkgd2hlbiBjb25maWd1cmVkJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3QgcHJveHlTZXJ2ZXIgPSBhd2FpdCBzdGFydFByb3h5U2VydmVyKCk7XG4gICAgdHJ5IHtcbiAgICAgIC8vIERlbGV0ZSBub3RpY2VzIGNhY2hlIGlmIGl0IGV4aXN0c1xuICAgICAgYXdhaXQgZnMucm0ocGF0aC5qb2luKHByb2Nlc3MuZW52LkhPTUUgPz8gb3MudXNlckluZm8oKS5ob21lZGlyLCAnLmNkay9jYWNoZS9ub3RpY2VzLmpzb24nKSwgeyBmb3JjZTogdHJ1ZSB9KTtcblxuICAgICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3Rlc3QtMicsIHtcbiAgICAgICAgY2FwdHVyZVN0ZGVycjogdHJ1ZSxcbiAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICctLXByb3h5JywgcHJveHlTZXJ2ZXIudXJsLFxuICAgICAgICAgICctLWNhLWJ1bmRsZS1wYXRoJywgcHJveHlTZXJ2ZXIuY2VydFBhdGgsXG4gICAgICAgIF0sXG4gICAgICAgIG1vZEVudjoge1xuICAgICAgICAgIENES19IT01FOiBmaXh0dXJlLmludGVnVGVzdERpcixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHByb3h5U2VydmVyLmdldFNlZW5SZXF1ZXN0cygpO1xuXG4gICAgICBleHBlY3QocmVxdWVzdHMubWFwKHJlcSA9PiByZXEudXJsKSlcbiAgICAgICAgLnRvQ29udGFpbignaHR0cHM6Ly9jbGkuY2RrLmRldi10b29scy5hd3MuZGV2L25vdGljZXMuanNvbicpO1xuXG4gICAgICBjb25zdCBhY3Rpb25zVXNlZCA9IGF3c0FjdGlvbnNGcm9tUmVxdWVzdHMocmVxdWVzdHMpO1xuICAgICAgZXhwZWN0KGFjdGlvbnNVc2VkKS50b0NvbnRhaW4oJ0Fzc3VtZVJvbGUnKTtcbiAgICAgIGV4cGVjdChhY3Rpb25zVXNlZCkudG9Db250YWluKCdDcmVhdGVDaGFuZ2VTZXQnKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcHJveHlTZXJ2ZXIuc3RvcCgpO1xuICAgIH1cbiAgfSksXG4pOyJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { promises as fs } from 'fs';
|
|
2
|
+
import * as os from 'os';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { integTest, withDefaultFixture } from '../../lib';
|
|
5
|
+
import { awsActionsFromRequests, startProxyServer } from '../../lib/proxy';
|
|
6
|
+
|
|
7
|
+
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
8
|
+
|
|
9
|
+
integTest('requests go through a proxy when configured',
|
|
10
|
+
withDefaultFixture(async (fixture) => {
|
|
11
|
+
const proxyServer = await startProxyServer();
|
|
12
|
+
try {
|
|
13
|
+
// Delete notices cache if it exists
|
|
14
|
+
await fs.rm(path.join(process.env.HOME ?? os.userInfo().homedir, '.cdk/cache/notices.json'), { force: true });
|
|
15
|
+
|
|
16
|
+
await fixture.cdkDeploy('test-2', {
|
|
17
|
+
captureStderr: true,
|
|
18
|
+
options: [
|
|
19
|
+
'--proxy', proxyServer.url,
|
|
20
|
+
'--ca-bundle-path', proxyServer.certPath,
|
|
21
|
+
],
|
|
22
|
+
modEnv: {
|
|
23
|
+
CDK_HOME: fixture.integTestDir,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const requests = await proxyServer.getSeenRequests();
|
|
28
|
+
|
|
29
|
+
expect(requests.map(req => req.url))
|
|
30
|
+
.toContain('https://cli.cdk.dev-tools.aws.dev/notices.json');
|
|
31
|
+
|
|
32
|
+
const actionsUsed = awsActionsFromRequests(requests);
|
|
33
|
+
expect(actionsUsed).toContain('AssumeRole');
|
|
34
|
+
expect(actionsUsed).toContain('CreateChangeSet');
|
|
35
|
+
} finally {
|
|
36
|
+
await proxyServer.stop();
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("../../lib");
|
|
4
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
+
(0, lib_1.integTest)('sam can locally test the synthesized cdk application', (0, lib_1.withSamIntegrationFixture)(async (fixture) => {
|
|
6
|
+
// Synth first
|
|
7
|
+
await fixture.cdkSynth();
|
|
8
|
+
const result = await fixture.samLocalStartApi('TestStack', false, (0, lib_1.randomInteger)(30000, 40000), '/restapis/spec/pythonFunction');
|
|
9
|
+
expect(result.actionSucceeded).toBeTruthy();
|
|
10
|
+
expect(result.actionOutput).toEqual(expect.objectContaining({
|
|
11
|
+
message: 'Hello World',
|
|
12
|
+
}));
|
|
13
|
+
}));
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXNhbS1jYW4tbG9jYWxseS10ZXN0LXRoZS1zeW50aGVzaXplZC1jZGstYXBwbGljYXRpb24uaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXNhbS1jYW4tbG9jYWxseS10ZXN0LXRoZS1zeW50aGVzaXplZC1jZGstYXBwbGljYXRpb24uaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQWdGO0FBRWhGLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxzREFBc0QsRUFDdEQsSUFBQSwrQkFBeUIsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUMsY0FBYztJQUNkLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXpCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUMzQyxXQUFXLEVBQ1gsS0FBSyxFQUNMLElBQUEsbUJBQWEsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQzNCLCtCQUErQixDQUNoQyxDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FDakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RCLE9BQU8sRUFBRSxhQUFhO0tBQ3ZCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNhbUludGVncmF0aW9uRml4dHVyZSwgcmFuZG9tSW50ZWdlciB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ3NhbSBjYW4gbG9jYWxseSB0ZXN0IHRoZSBzeW50aGVzaXplZCBjZGsgYXBwbGljYXRpb24nLFxuICB3aXRoU2FtSW50ZWdyYXRpb25GaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gU3ludGggZmlyc3RcbiAgICBhd2FpdCBmaXh0dXJlLmNka1N5bnRoKCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXh0dXJlLnNhbUxvY2FsU3RhcnRBcGkoXG4gICAgICAnVGVzdFN0YWNrJyxcbiAgICAgIGZhbHNlLFxuICAgICAgcmFuZG9tSW50ZWdlcigzMDAwMCwgNDAwMDApLFxuICAgICAgJy9yZXN0YXBpcy9zcGVjL3B5dGhvbkZ1bmN0aW9uJyxcbiAgICApO1xuICAgIGV4cGVjdChyZXN1bHQuYWN0aW9uU3VjY2VlZGVkKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5hY3Rpb25PdXRwdXQpLnRvRXF1YWwoXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIG1lc3NhZ2U6ICdIZWxsbyBXb3JsZCcsXG4gICAgICB9KSxcbiAgICApO1xuICB9KSxcbik7XG5cbiJdfQ==
|
package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { integTest, withSamIntegrationFixture, randomInteger } 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
|
+
'sam can locally test the synthesized cdk application',
|
|
7
|
+
withSamIntegrationFixture(async (fixture) => {
|
|
8
|
+
// Synth first
|
|
9
|
+
await fixture.cdkSynth();
|
|
10
|
+
|
|
11
|
+
const result = await fixture.samLocalStartApi(
|
|
12
|
+
'TestStack',
|
|
13
|
+
false,
|
|
14
|
+
randomInteger(30000, 40000),
|
|
15
|
+
'/restapis/spec/pythonFunction',
|
|
16
|
+
);
|
|
17
|
+
expect(result.actionSucceeded).toBeTruthy();
|
|
18
|
+
expect(result.actionOutput).toEqual(
|
|
19
|
+
expect.objectContaining({
|
|
20
|
+
message: 'Hello World',
|
|
21
|
+
}),
|
|
22
|
+
);
|
|
23
|
+
}),
|
|
24
|
+
);
|
|
25
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
4
|
+
const lib_1 = require("../../lib");
|
|
5
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
+
(0, lib_1.integTest)('security related changes without a CLI are expected to fail', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
7
|
+
// redirect /dev/null to stdin, which means there will not be tty attached
|
|
8
|
+
// since this stack includes security-related changes, the deployment should
|
|
9
|
+
// immediately fail because we can't confirm the changes
|
|
10
|
+
const stackName = 'iam-test';
|
|
11
|
+
await expect(fixture.cdkDeploy(stackName, {
|
|
12
|
+
options: ['<', '/dev/null'], // H4x, this only works because I happen to know we pass shell: true.
|
|
13
|
+
neverRequireApproval: false,
|
|
14
|
+
})).rejects.toThrow('exited with error');
|
|
15
|
+
// Ensure stack was not deployed
|
|
16
|
+
await expect(fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
17
|
+
StackName: fixture.fullStackName(stackName),
|
|
18
|
+
}))).rejects.toThrow('does not exist');
|
|
19
|
+
}));
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXNlY3VyaXR5LXJlbGF0ZWQtY2hhbmdlcy13aXRob3V0LWEtY2xpLWFyZS1leHBlY3RlZC10by1mYWlsLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1zZWN1cml0eS1yZWxhdGVkLWNoYW5nZXMtd2l0aG91dC1hLWNsaS1hcmUtZXhwZWN0ZWQtdG8tZmFpbC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFBdUU7QUFDdkUsbUNBQTBEO0FBRTFELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCw2REFBNkQsRUFDN0QsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsMEVBQTBFO0lBQzFFLDRFQUE0RTtJQUM1RSx3REFBd0Q7SUFDeEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzdCLE1BQU0sTUFBTSxDQUNWLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1FBQzNCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxxRUFBcUU7UUFDbEcsb0JBQW9CLEVBQUUsS0FBSztLQUM1QixDQUFDLENBQ0gsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFdkMsZ0NBQWdDO0lBQ2hDLE1BQU0sTUFBTSxDQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsSUFBSSw2Q0FBcUIsQ0FBQztRQUN4QixTQUFTLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7S0FDNUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ3NlY3VyaXR5IHJlbGF0ZWQgY2hhbmdlcyB3aXRob3V0IGEgQ0xJIGFyZSBleHBlY3RlZCB0byBmYWlsJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gcmVkaXJlY3QgL2Rldi9udWxsIHRvIHN0ZGluLCB3aGljaCBtZWFucyB0aGVyZSB3aWxsIG5vdCBiZSB0dHkgYXR0YWNoZWRcbiAgICAvLyBzaW5jZSB0aGlzIHN0YWNrIGluY2x1ZGVzIHNlY3VyaXR5LXJlbGF0ZWQgY2hhbmdlcywgdGhlIGRlcGxveW1lbnQgc2hvdWxkXG4gICAgLy8gaW1tZWRpYXRlbHkgZmFpbCBiZWNhdXNlIHdlIGNhbid0IGNvbmZpcm0gdGhlIGNoYW5nZXNcbiAgICBjb25zdCBzdGFja05hbWUgPSAnaWFtLXRlc3QnO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIGZpeHR1cmUuY2RrRGVwbG95KHN0YWNrTmFtZSwge1xuICAgICAgICBvcHRpb25zOiBbJzwnLCAnL2Rldi9udWxsJ10sIC8vIEg0eCwgdGhpcyBvbmx5IHdvcmtzIGJlY2F1c2UgSSBoYXBwZW4gdG8ga25vdyB3ZSBwYXNzIHNoZWxsOiB0cnVlLlxuICAgICAgICBuZXZlclJlcXVpcmVBcHByb3ZhbDogZmFsc2UsXG4gICAgICB9KSxcbiAgICApLnJlamVjdHMudG9UaHJvdygnZXhpdGVkIHdpdGggZXJyb3InKTtcblxuICAgIC8vIEVuc3VyZSBzdGFjayB3YXMgbm90IGRlcGxveWVkXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgICAgU3RhY2tOYW1lOiBmaXh0dXJlLmZ1bGxTdGFja05hbWUoc3RhY2tOYW1lKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICkucmVqZWN0cy50b1Rocm93KCdkb2VzIG5vdCBleGlzdCcpO1xuICB9KSxcbik7XG5cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
'security related changes without a CLI are expected to fail',
|
|
8
|
+
withDefaultFixture(async (fixture) => {
|
|
9
|
+
// redirect /dev/null to stdin, which means there will not be tty attached
|
|
10
|
+
// since this stack includes security-related changes, the deployment should
|
|
11
|
+
// immediately fail because we can't confirm the changes
|
|
12
|
+
const stackName = 'iam-test';
|
|
13
|
+
await expect(
|
|
14
|
+
fixture.cdkDeploy(stackName, {
|
|
15
|
+
options: ['<', '/dev/null'], // H4x, this only works because I happen to know we pass shell: true.
|
|
16
|
+
neverRequireApproval: false,
|
|
17
|
+
}),
|
|
18
|
+
).rejects.toThrow('exited with error');
|
|
19
|
+
|
|
20
|
+
// Ensure stack was not deployed
|
|
21
|
+
await expect(
|
|
22
|
+
fixture.aws.cloudFormation.send(
|
|
23
|
+
new DescribeStacksCommand({
|
|
24
|
+
StackName: fixture.fullStackName(stackName),
|
|
25
|
+
}),
|
|
26
|
+
),
|
|
27
|
+
).rejects.toThrow('does not exist');
|
|
28
|
+
}),
|
|
29
|
+
);
|
|
30
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("../../lib");
|
|
4
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
+
(0, lib_1.integTest)('skips notice refresh', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
|
+
const output = await fixture.cdkSynth({
|
|
7
|
+
options: ['--no-notices'],
|
|
8
|
+
modEnv: {
|
|
9
|
+
INTEG_STACK_SET: 'stage-using-context',
|
|
10
|
+
},
|
|
11
|
+
allowErrExit: true,
|
|
12
|
+
});
|
|
13
|
+
// Neither succeeds nor fails, but skips the refresh
|
|
14
|
+
await expect(output).not.toContain('Notices refreshed');
|
|
15
|
+
await expect(output).not.toContain('Notices refresh failed');
|
|
16
|
+
}));
|
|
17
|
+
/**
|
|
18
|
+
* Create an S3 bucket, orphan that bucket, then import the bucket, with a NodeJSFunction lambda also in the stack.
|
|
19
|
+
*
|
|
20
|
+
* Validates fix for https://github.com/aws/aws-cdk/issues/31999 (import fails)
|
|
21
|
+
*/
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXNraXBzLW5vdGljZS1yZWZyZXNoLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1za2lwcy1ub3RpY2UtcmVmcmVzaC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBMEQ7QUFFMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHNCQUFzQixFQUN0QixJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDcEMsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3pCLE1BQU0sRUFBRTtZQUNOLGVBQWUsRUFBRSxxQkFBcUI7U0FDdkM7UUFDRCxZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUM7SUFFSCxvREFBb0Q7SUFDcEQsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBRUY7Ozs7R0FJRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnc2tpcHMgbm90aWNlIHJlZnJlc2gnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNka1N5bnRoKHtcbiAgICAgIG9wdGlvbnM6IFsnLS1uby1ub3RpY2VzJ10sXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgSU5URUdfU1RBQ0tfU0VUOiAnc3RhZ2UtdXNpbmctY29udGV4dCcsXG4gICAgICB9LFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gTmVpdGhlciBzdWNjZWVkcyBub3IgZmFpbHMsIGJ1dCBza2lwcyB0aGUgcmVmcmVzaFxuICAgIGF3YWl0IGV4cGVjdChvdXRwdXQpLm5vdC50b0NvbnRhaW4oJ05vdGljZXMgcmVmcmVzaGVkJyk7XG4gICAgYXdhaXQgZXhwZWN0KG91dHB1dCkubm90LnRvQ29udGFpbignTm90aWNlcyByZWZyZXNoIGZhaWxlZCcpO1xuICB9KSxcbik7XG5cbi8qKlxuICogQ3JlYXRlIGFuIFMzIGJ1Y2tldCwgb3JwaGFuIHRoYXQgYnVja2V0LCB0aGVuIGltcG9ydCB0aGUgYnVja2V0LCB3aXRoIGEgTm9kZUpTRnVuY3Rpb24gbGFtYmRhIGFsc28gaW4gdGhlIHN0YWNrLlxuICpcbiAqIFZhbGlkYXRlcyBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMzE5OTkgKGltcG9ydCBmYWlscylcbiAqL1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
'skips notice refresh',
|
|
7
|
+
withDefaultFixture(async (fixture) => {
|
|
8
|
+
const output = await fixture.cdkSynth({
|
|
9
|
+
options: ['--no-notices'],
|
|
10
|
+
modEnv: {
|
|
11
|
+
INTEG_STACK_SET: 'stage-using-context',
|
|
12
|
+
},
|
|
13
|
+
allowErrExit: true,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// Neither succeeds nor fails, but skips the refresh
|
|
17
|
+
await expect(output).not.toContain('Notices refreshed');
|
|
18
|
+
await expect(output).not.toContain('Notices refresh failed');
|
|
19
|
+
}),
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create an S3 bucket, orphan that bucket, then import the bucket, with a NodeJSFunction lambda also in the stack.
|
|
24
|
+
*
|
|
25
|
+
* Validates fix for https://github.com/aws/aws-cdk/issues/31999 (import fails)
|
|
26
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("../../lib");
|
|
4
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
+
(0, lib_1.integTest)('ssm parameter provider error', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
|
+
await expect(fixture.cdk(['synth', fixture.fullStackName('missing-ssm-parameter'), '-c', 'test:ssm-parameter-name=/does/not/exist'], {
|
|
7
|
+
allowErrExit: true,
|
|
8
|
+
})).resolves.toContain('SSM parameter not available in account');
|
|
9
|
+
}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXNzbS1wYXJhbWV0ZXItcHJvdmlkZXItZXJyb3IuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXNzbS1wYXJhbWV0ZXItcHJvdmlkZXItZXJyb3IuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQTBEO0FBRTFELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCw4QkFBOEIsRUFDOUIsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsTUFBTSxNQUFNLENBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FDVCxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLHlDQUF5QyxDQUFDLEVBQzFHO1FBQ0UsWUFBWSxFQUFFLElBQUk7S0FDbkIsQ0FDRixDQUNGLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ3NzbSBwYXJhbWV0ZXIgcHJvdmlkZXIgZXJyb3InLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBmaXh0dXJlLmNkayhcbiAgICAgICAgWydzeW50aCcsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnbWlzc2luZy1zc20tcGFyYW1ldGVyJyksICctYycsICd0ZXN0OnNzbS1wYXJhbWV0ZXItbmFtZT0vZG9lcy9ub3QvZXhpc3QnXSxcbiAgICAgICAge1xuICAgICAgICAgIGFsbG93RXJyRXhpdDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgKS5yZXNvbHZlcy50b0NvbnRhaW4oJ1NTTSBwYXJhbWV0ZXIgbm90IGF2YWlsYWJsZSBpbiBhY2NvdW50Jyk7XG4gIH0pLFxuKTtcblxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
'ssm parameter provider error',
|
|
7
|
+
withDefaultFixture(async (fixture) => {
|
|
8
|
+
await expect(
|
|
9
|
+
fixture.cdk(
|
|
10
|
+
['synth', fixture.fullStackName('missing-ssm-parameter'), '-c', 'test:ssm-parameter-name=/does/not/exist'],
|
|
11
|
+
{
|
|
12
|
+
allowErrExit: true,
|
|
13
|
+
},
|
|
14
|
+
),
|
|
15
|
+
).resolves.toContain('SSM parameter not available in account');
|
|
16
|
+
}),
|
|
17
|
+
);
|
|
18
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
4
|
+
const lib_1 = require("../../lib");
|
|
5
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
+
(0, lib_1.integTest)('stack in UPDATE_ROLLBACK_COMPLETE state can be updated', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
7
|
+
var _a, _b, _c, _d;
|
|
8
|
+
// GIVEN
|
|
9
|
+
const stackArn = await fixture.cdkDeploy('param-test-1', {
|
|
10
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}nice`],
|
|
11
|
+
captureStderr: false,
|
|
12
|
+
});
|
|
13
|
+
let response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
14
|
+
StackName: stackArn,
|
|
15
|
+
}));
|
|
16
|
+
expect((_a = response.Stacks) === null || _a === void 0 ? void 0 : _a[0].StackStatus).toEqual('CREATE_COMPLETE');
|
|
17
|
+
// bad parameter name with @ will put stack into UPDATE_ROLLBACK_COMPLETE
|
|
18
|
+
await expect(fixture.cdkDeploy('param-test-1', {
|
|
19
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}@aww`],
|
|
20
|
+
captureStderr: false,
|
|
21
|
+
})).rejects.toThrow('exited with error');
|
|
22
|
+
response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
23
|
+
StackName: stackArn,
|
|
24
|
+
}));
|
|
25
|
+
expect((_b = response.Stacks) === null || _b === void 0 ? void 0 : _b[0].StackStatus).toEqual('UPDATE_ROLLBACK_COMPLETE');
|
|
26
|
+
// WHEN
|
|
27
|
+
await fixture.cdkDeploy('param-test-1', {
|
|
28
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}allgood`],
|
|
29
|
+
captureStderr: false,
|
|
30
|
+
});
|
|
31
|
+
response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
32
|
+
StackName: stackArn,
|
|
33
|
+
}));
|
|
34
|
+
// THEN
|
|
35
|
+
expect((_c = response.Stacks) === null || _c === void 0 ? void 0 : _c[0].StackStatus).toEqual('UPDATE_COMPLETE');
|
|
36
|
+
expect((_d = response.Stacks) === null || _d === void 0 ? void 0 : _d[0].Parameters).toContainEqual({
|
|
37
|
+
ParameterKey: 'TopicNameParam',
|
|
38
|
+
ParameterValue: `${fixture.stackNamePrefix}allgood`,
|
|
39
|
+
});
|
|
40
|
+
}));
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXN0YWNrLWluLXVwZGF0ZV9yb2xsYmFja19jb21wbGV0ZS1zdGF0ZS1jYW4tYmUtdXBkYXRlZC5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstc3RhY2staW4tdXBkYXRlX3JvbGxiYWNrX2NvbXBsZXRlLXN0YXRlLWNhbi1iZS11cGRhdGVkLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBFQUF1RTtBQUN2RSxtQ0FBMEQ7QUFFMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHdEQUF3RCxFQUN4RCxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTs7SUFDbkMsUUFBUTtJQUNSLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUU7UUFDdkQsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixPQUFPLENBQUMsZUFBZSxNQUFNLENBQUM7UUFDMUUsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ2xELElBQUksNkNBQXFCLENBQUM7UUFDeEIsU0FBUyxFQUFFLFFBQVE7S0FDcEIsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLENBQUMsTUFBQSxRQUFRLENBQUMsTUFBTSwwQ0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFcEUseUVBQXlFO0lBQ3pFLE1BQU0sTUFBTSxDQUNWLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFO1FBQ2hDLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsT0FBTyxDQUFDLGVBQWUsTUFBTSxDQUFDO1FBQzFFLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUV2QyxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzlDLElBQUksNkNBQXFCLENBQUM7UUFDeEIsU0FBUyxFQUFFLFFBQVE7S0FDcEIsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLENBQUMsTUFBQSxRQUFRLENBQUMsTUFBTSwwQ0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFN0UsT0FBTztJQUNQLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUU7UUFDdEMsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixPQUFPLENBQUMsZUFBZSxTQUFTLENBQUM7UUFDN0UsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBRUgsUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM5QyxJQUFJLDZDQUFxQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxRQUFRO0tBQ3BCLENBQUMsQ0FDSCxDQUFDO0lBRUYsT0FBTztJQUNQLE1BQU0sQ0FBQyxNQUFBLFFBQVEsQ0FBQyxNQUFNLDBDQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxNQUFNLENBQUMsTUFBQSxRQUFRLENBQUMsTUFBTSwwQ0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3JELFlBQVksRUFBRSxnQkFBZ0I7UUFDOUIsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDLGVBQWUsU0FBUztLQUNwRCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpYmVTdGFja3NDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnc3RhY2sgaW4gVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFIHN0YXRlIGNhbiBiZSB1cGRhdGVkJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFja0FybiA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdwYXJhbS10ZXN0LTEnLCB7XG4gICAgICBvcHRpb25zOiBbJy0tcGFyYW1ldGVycycsIGBUb3BpY05hbWVQYXJhbT0ke2ZpeHR1cmUuc3RhY2tOYW1lUHJlZml4fW5pY2VgXSxcbiAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IHN0YWNrQXJuLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja3M/LlswXS5TdGFja1N0YXR1cykudG9FcXVhbCgnQ1JFQVRFX0NPTVBMRVRFJyk7XG5cbiAgICAvLyBiYWQgcGFyYW1ldGVyIG5hbWUgd2l0aCBAIHdpbGwgcHV0IHN0YWNrIGludG8gVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgZml4dHVyZS5jZGtEZXBsb3koJ3BhcmFtLXRlc3QtMScsIHtcbiAgICAgICAgb3B0aW9uczogWyctLXBhcmFtZXRlcnMnLCBgVG9waWNOYW1lUGFyYW09JHtmaXh0dXJlLnN0YWNrTmFtZVByZWZpeH1AYXd3YF0sXG4gICAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLFxuICAgICAgfSksXG4gICAgKS5yZWplY3RzLnRvVGhyb3coJ2V4aXRlZCB3aXRoIGVycm9yJyk7XG5cbiAgICByZXNwb25zZSA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBzdGFja0FybixcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBleHBlY3QocmVzcG9uc2UuU3RhY2tzPy5bMF0uU3RhY2tTdGF0dXMpLnRvRXF1YWwoJ1VQREFURV9ST0xMQkFDS19DT01QTEVURScpO1xuXG4gICAgLy8gV0hFTlxuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdwYXJhbS10ZXN0LTEnLCB7XG4gICAgICBvcHRpb25zOiBbJy0tcGFyYW1ldGVycycsIGBUb3BpY05hbWVQYXJhbT0ke2ZpeHR1cmUuc3RhY2tOYW1lUHJlZml4fWFsbGdvb2RgXSxcbiAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmVzcG9uc2UgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tBcm4sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja3M/LlswXS5TdGFja1N0YXR1cykudG9FcXVhbCgnVVBEQVRFX0NPTVBMRVRFJyk7XG4gICAgZXhwZWN0KHJlc3BvbnNlLlN0YWNrcz8uWzBdLlBhcmFtZXRlcnMpLnRvQ29udGFpbkVxdWFsKHtcbiAgICAgIFBhcmFtZXRlcktleTogJ1RvcGljTmFtZVBhcmFtJyxcbiAgICAgIFBhcmFtZXRlclZhbHVlOiBgJHtmaXh0dXJlLnN0YWNrTmFtZVByZWZpeH1hbGxnb29kYCxcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
'stack in UPDATE_ROLLBACK_COMPLETE state can be updated',
|
|
8
|
+
withDefaultFixture(async (fixture) => {
|
|
9
|
+
// GIVEN
|
|
10
|
+
const stackArn = await fixture.cdkDeploy('param-test-1', {
|
|
11
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}nice`],
|
|
12
|
+
captureStderr: false,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
let response = await fixture.aws.cloudFormation.send(
|
|
16
|
+
new DescribeStacksCommand({
|
|
17
|
+
StackName: stackArn,
|
|
18
|
+
}),
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
expect(response.Stacks?.[0].StackStatus).toEqual('CREATE_COMPLETE');
|
|
22
|
+
|
|
23
|
+
// bad parameter name with @ will put stack into UPDATE_ROLLBACK_COMPLETE
|
|
24
|
+
await expect(
|
|
25
|
+
fixture.cdkDeploy('param-test-1', {
|
|
26
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}@aww`],
|
|
27
|
+
captureStderr: false,
|
|
28
|
+
}),
|
|
29
|
+
).rejects.toThrow('exited with error');
|
|
30
|
+
|
|
31
|
+
response = await fixture.aws.cloudFormation.send(
|
|
32
|
+
new DescribeStacksCommand({
|
|
33
|
+
StackName: stackArn,
|
|
34
|
+
}),
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
expect(response.Stacks?.[0].StackStatus).toEqual('UPDATE_ROLLBACK_COMPLETE');
|
|
38
|
+
|
|
39
|
+
// WHEN
|
|
40
|
+
await fixture.cdkDeploy('param-test-1', {
|
|
41
|
+
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}allgood`],
|
|
42
|
+
captureStderr: false,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
response = await fixture.aws.cloudFormation.send(
|
|
46
|
+
new DescribeStacksCommand({
|
|
47
|
+
StackName: stackArn,
|
|
48
|
+
}),
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
// THEN
|
|
52
|
+
expect(response.Stacks?.[0].StackStatus).toEqual('UPDATE_COMPLETE');
|
|
53
|
+
expect(response.Stacks?.[0].Parameters).toContainEqual({
|
|
54
|
+
ParameterKey: 'TopicNameParam',
|
|
55
|
+
ParameterValue: `${fixture.stackNamePrefix}allgood`,
|
|
56
|
+
});
|
|
57
|
+
}),
|
|
58
|
+
);
|
|
59
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("../../lib");
|
|
4
|
+
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
+
(0, lib_1.integTest)('Stage with bundled Lambda function', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
|
+
await fixture.cdkDeploy('bundling-stage/BundlingStack');
|
|
7
|
+
fixture.log('Setup complete!');
|
|
8
|
+
await fixture.cdkDestroy('bundling-stage/BundlingStack');
|
|
9
|
+
}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXN0YWdlLXdpdGgtYnVuZGxlZC1sYW1iZGEtZnVuY3Rpb24uaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXN0YWdlLXdpdGgtYnVuZGxlZC1sYW1iZGEtZnVuY3Rpb24uaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQTBEO0FBRTFELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxvQ0FBb0MsRUFDcEMsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ1N0YWdlIHdpdGggYnVuZGxlZCBMYW1iZGEgZnVuY3Rpb24nLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYnVuZGxpbmctc3RhZ2UvQnVuZGxpbmdTdGFjaycpO1xuICAgIGZpeHR1cmUubG9nKCdTZXR1cCBjb21wbGV0ZSEnKTtcbiAgICBhd2FpdCBmaXh0dXJlLmNka0Rlc3Ryb3koJ2J1bmRsaW5nLXN0YWdlL0J1bmRsaW5nU3RhY2snKTtcbiAgfSksXG4pO1xuXG4iXX0=
|