@aws-cdk-testing/cli-integ 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/aws.js +6 -9
- package/lib/cli/query-github.js +2 -3
- package/lib/cli/run-suite.js +2 -3
- package/lib/cli/stage-distribution.js +4 -4
- package/lib/eventually.js +3 -3
- package/lib/files.js +2 -3
- package/lib/github.js +5 -6
- package/lib/integ-test.js +58 -3
- package/lib/package-sources/release-source.d.ts +1 -1
- package/lib/package-sources/release-source.js +2 -3
- package/lib/package-sources/repo-source.d.ts +1 -1
- package/lib/package-sources/repo-source.js +1 -1
- package/lib/package-sources/repo-tools/npm.js +4 -5
- package/lib/package-sources/subprocess.d.ts +1 -1
- package/lib/package-sources/subprocess.js +1 -1
- package/lib/process.js +5 -6
- package/lib/proxy.d.ts +1 -1
- package/lib/proxy.js +2 -2
- package/lib/resource-pool.js +5 -3
- package/lib/shell.d.ts +3 -3
- package/lib/shell.js +8 -12
- package/lib/staging/codeartifact.js +8 -11
- package/lib/staging/maven.d.ts +2 -2
- package/lib/staging/maven.js +3 -5
- package/lib/staging/npm.d.ts +2 -2
- package/lib/staging/npm.js +1 -1
- package/lib/staging/nuget.d.ts +2 -2
- package/lib/staging/nuget.js +1 -1
- package/lib/staging/parallel-shell.js +2 -2
- package/lib/staging/pypi.d.ts +2 -2
- package/lib/staging/pypi.js +1 -1
- package/lib/with-aws.d.ts +2 -2
- package/lib/with-aws.js +5 -4
- package/lib/with-cdk-app.d.ts +7 -5
- package/lib/with-cdk-app.js +28 -33
- package/lib/with-cli-lib.d.ts +4 -3
- package/lib/with-cli-lib.js +1 -1
- package/lib/with-packages.d.ts +1 -1
- package/lib/with-packages.js +1 -1
- package/lib/with-sam.d.ts +3 -3
- package/lib/with-sam.js +4 -7
- package/lib/with-temporary-directory.d.ts +1 -1
- package/lib/with-temporary-directory.js +1 -1
- package/lib/xpmutex.js +5 -3
- package/npm-shrinkwrap.json +8722 -0
- package/package.json +11 -7
- package/resources/cdk-apps/refactoring/cdk.json +7 -0
- package/resources/cdk-apps/refactoring/refactoring.js +18 -0
- package/test-reports/junit.xml +15 -0
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +11 -11
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +9 -9
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +4 -6
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-deploy.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +6 -5
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.js +1 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +1 -1
- package/tests/cli-integ-tests/cdk-migrate/testcase.d.ts +1 -1
- package/tests/cli-integ-tests/cdk-migrate/testcase.js +4 -6
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-refactor-dry-run.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/cdk-refactor-dry-run.integtest.js +41 -0
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +4 -4
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.js +5 -6
- package/tests/cli-integ-tests/proxy.integtest.js +2 -3
- package/tests/init-go/init-go.integtest.js +2 -3
- package/tests/init-typescript-app/init-typescript-app.integtest.js +1 -1
- package/tests/tool-integrations/amplify.integtest.js +4 -4
- package/tests/tool-integrations/with-tool-context.d.ts +5 -5
- package/tests/tool-integrations/with-tool-context.js +1 -1
- package/.eslintrc.js +0 -9
- package/lib/aws.ts +0 -303
- package/lib/cli/query-github.ts +0 -56
- package/lib/cli/run-suite.ts +0 -153
- package/lib/cli/stage-distribution.ts +0 -262
- package/lib/cli/test-root.ts +0 -3
- package/lib/corking.ts +0 -33
- package/lib/eventually.ts +0 -42
- package/lib/files.ts +0 -80
- package/lib/github.ts +0 -43
- package/lib/index.ts +0 -13
- package/lib/integ-test.ts +0 -110
- package/lib/lists.ts +0 -9
- package/lib/memoize.ts +0 -14
- package/lib/npm.ts +0 -41
- package/lib/package-sources/release-source.ts +0 -82
- package/lib/package-sources/repo-source.ts +0 -112
- package/lib/package-sources/repo-tools/npm.ts +0 -48
- package/lib/package-sources/source.ts +0 -35
- package/lib/package-sources/subprocess.ts +0 -15
- package/lib/process.ts +0 -154
- package/lib/proxy.ts +0 -64
- package/lib/resource-pool.ts +0 -140
- package/lib/resources.ts +0 -4
- package/lib/shell.ts +0 -331
- package/lib/staging/codeartifact.ts +0 -387
- package/lib/staging/maven.ts +0 -95
- package/lib/staging/npm.ts +0 -62
- package/lib/staging/nuget.ts +0 -75
- package/lib/staging/parallel-shell.ts +0 -51
- package/lib/staging/pypi.ts +0 -50
- package/lib/staging/usage-dir.ts +0 -99
- package/lib/with-aws.ts +0 -111
- package/lib/with-cdk-app.ts +0 -847
- package/lib/with-cli-lib.ts +0 -150
- package/lib/with-packages.ts +0 -15
- package/lib/with-sam.ts +0 -295
- package/lib/with-temporary-directory.ts +0 -35
- package/lib/with-timeout.ts +0 -33
- package/lib/xpmutex.ts +0 -218
- package/resources/cli-regression-patches/v2.130.0/node_modules/@aws-cdk-testing/cli-integ/resources/cdk-apps/sam_cdk_integ_app/lib/nested-stack.js +0 -19
- package/resources/cli-regression-patches/v2.130.0/node_modules/@aws-cdk-testing/cli-integ/resources/cdk-apps/sam_cdk_integ_app/lib/test-stack.js +0 -134
- package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.ts +0 -92
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.ts +0 -82
- package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.ts +0 -40
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.ts +0 -40
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts +0 -27
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.ts +0 -24
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts +0 -77
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.ts +0 -30
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts +0 -34
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -21
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.ts +0 -24
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.ts +0 -57
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.ts +0 -35
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.ts +0 -35
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.ts +0 -39
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.ts +0 -50
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.ts +0 -95
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.ts +0 -126
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.ts +0 -80
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.ts +0 -53
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-context-setting.integtest.ts +0 -33
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.ts +0 -31
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.ts +0 -50
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.ts +0 -51
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.ts +0 -11
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.ts +0 -42
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.ts +0 -17
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.ts +0 -45
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.ts +0 -37
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.ts +0 -33
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.ts +0 -119
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.ts +0 -22
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-deploy.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.ts +0 -44
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.ts +0 -41
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts +0 -51
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts +0 -52
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.ts +0 -63
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts +0 -55
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts +0 -63
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.ts +0 -52
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.ts +0 -29
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.ts +0 -45
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.ts +0 -36
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.ts +0 -41
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.ts +0 -53
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.ts +0 -43
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.ts +0 -59
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.ts +0 -23
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.ts +0 -57
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.ts +0 -12
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.ts +0 -27
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.ts +0 -32
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-migrate/testcase.ts +0 -69
- package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.ts +0 -28
- package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.ts +0 -39
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.ts +0 -30
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.ts +0 -26
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.ts +0 -59
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.ts +0 -13
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.ts +0 -20
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts +0 -15
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts +0 -18
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.ts +0 -25
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.ts +0 -19
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.ts +0 -48
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.ts +0 -38
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.ts +0 -56
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.ts +0 -74
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.ts +0 -64
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.ts +0 -14
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.ts +0 -47
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.ts +0 -26
- package/tests/cli-integ-tests/proxy.integtest.ts +0 -168
- package/tests/init-csharp/init-csharp.integtest.ts +0 -15
- package/tests/init-fsharp/init-fsharp.integtest.ts +0 -15
- package/tests/init-go/init-go.integtest.ts +0 -28
- package/tests/init-java/init-java.integtest.ts +0 -14
- package/tests/init-javascript/init-javascript.integtest.ts +0 -58
- package/tests/init-python/init-python.integtest.ts +0 -20
- package/tests/init-typescript-app/init-typescript-app.integtest.ts +0 -67
- package/tests/init-typescript-lib/init-typescript-lib.integtest.ts +0 -13
- package/tests/tool-integrations/amplify.integtest.ts +0 -117
- package/tests/tool-integrations/with-tool-context.ts +0 -14
- package/tests/uberpackage/uberpackage.integtest.ts +0 -11
package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { deploysSuccessfully } from './testcase';
|
|
2
|
-
import { integTest, withCDKMigrateFixture } from "../../../lib";
|
|
3
|
-
|
|
4
|
-
const language = 'typescript';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest(
|
|
9
|
-
`cdk migrate ${language} deploys successfully`,
|
|
10
|
-
withCDKMigrateFixture(language, async (fixture) => {
|
|
11
|
-
|
|
12
|
-
await deploysSuccessfully(fixture, language);
|
|
13
|
-
|
|
14
|
-
}),
|
|
15
|
-
);
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { integTest, withCDKMigrateFixture } from '../../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest(
|
|
8
|
-
'cdk migrate generates migrate.json',
|
|
9
|
-
withCDKMigrateFixture('typescript', async (fixture) => {
|
|
10
|
-
const migrateFile = await fs.readFile(path.join(fixture.integTestDir, 'migrate.json'), 'utf8');
|
|
11
|
-
const expectedFile = `{
|
|
12
|
-
\"//\": \"This file is generated by cdk migrate. It will be automatically deleted after the first successful deployment of this app to the environment of the original resources.\",
|
|
13
|
-
\"Source\": \"localfile\"
|
|
14
|
-
}`;
|
|
15
|
-
expect(JSON.parse(migrateFile)).toEqual(JSON.parse(expectedFile));
|
|
16
|
-
await fixture.cdkDestroy(fixture.stackNamePrefix);
|
|
17
|
-
}),
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { DescribeStackResourcesCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'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
|
-
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
);
|
package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'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
|
-
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'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
|
-
*/
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'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
|
-
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
|
|
2
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
3
|
-
|
|
4
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
|
-
|
|
6
|
-
integTest(
|
|
7
|
-
'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
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'Stage with bundled Lambda function',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
await fixture.cdkDeploy('bundling-stage/BundlingStack');
|
|
9
|
-
fixture.log('Setup complete!');
|
|
10
|
-
await fixture.cdkDestroy('bundling-stage/BundlingStack');
|
|
11
|
-
}),
|
|
12
|
-
);
|
|
13
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest(
|
|
8
|
-
'synth --quiet can be specified in cdk.json',
|
|
9
|
-
withDefaultFixture(async (fixture) => {
|
|
10
|
-
let cdkJson = JSON.parse(await fs.readFile(path.join(fixture.integTestDir, 'cdk.json'), 'utf8'));
|
|
11
|
-
cdkJson = {
|
|
12
|
-
...cdkJson,
|
|
13
|
-
quiet: true,
|
|
14
|
-
};
|
|
15
|
-
await fs.writeFile(path.join(fixture.integTestDir, 'cdk.json'), JSON.stringify(cdkJson));
|
|
16
|
-
const synthOutput = await fixture.cdk(['synth', fixture.fullStackName('test-2')]);
|
|
17
|
-
expect(synthOutput).not.toContain('topic152D84A37');
|
|
18
|
-
}),
|
|
19
|
-
);
|
|
20
|
-
|
package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'synthing a stage with errors can be suppressed',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
await fixture.cdk(['synth', '--no-validation'], {
|
|
9
|
-
modEnv: {
|
|
10
|
-
INTEG_STACK_SET: 'stage-with-errors',
|
|
11
|
-
},
|
|
12
|
-
});
|
|
13
|
-
}),
|
|
14
|
-
);
|
|
15
|
-
|
package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'synthing a stage with errors leads to failure',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
const output = await fixture.cdk(['synth'], {
|
|
9
|
-
allowErrExit: true,
|
|
10
|
-
modEnv: {
|
|
11
|
-
INTEG_STACK_SET: 'stage-with-errors',
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
expect(output).toContain('This is an error');
|
|
16
|
-
}),
|
|
17
|
-
);
|
|
18
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'templates on disk contain metadata resource, also in nested assemblies',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
// Synth first, and switch on version reporting because cdk.json is disabling it
|
|
9
|
-
await fixture.cdk(['synth', '--version-reporting=true']);
|
|
10
|
-
|
|
11
|
-
// Load template from disk from root assembly
|
|
12
|
-
const templateContents = await fixture.shell(['cat', 'cdk.out/*-lambda.template.json']);
|
|
13
|
-
|
|
14
|
-
expect(JSON.parse(templateContents).Resources.CDKMetadata).toBeTruthy();
|
|
15
|
-
|
|
16
|
-
// Load template from nested assembly
|
|
17
|
-
const nestedTemplateContents = await fixture.shell([
|
|
18
|
-
'cat',
|
|
19
|
-
'cdk.out/assembly-*-stage/*StackInStage*.template.json',
|
|
20
|
-
]);
|
|
21
|
-
|
|
22
|
-
expect(JSON.parse(nestedTemplateContents).Resources.CDKMetadata).toBeTruthy();
|
|
23
|
-
}),
|
|
24
|
-
);
|
|
25
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'Termination protection',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
const stackName = 'termination-protection';
|
|
9
|
-
await fixture.cdkDeploy(stackName);
|
|
10
|
-
|
|
11
|
-
// Try a destroy that should fail
|
|
12
|
-
await expect(fixture.cdkDestroy(stackName)).rejects.toThrow('exited with error');
|
|
13
|
-
|
|
14
|
-
// Can update termination protection even though the change set doesn't contain changes
|
|
15
|
-
await fixture.cdkDeploy(stackName, { modEnv: { TERMINATION_PROTECTION: 'FALSE' } });
|
|
16
|
-
await fixture.cdkDestroy(stackName);
|
|
17
|
-
}),
|
|
18
|
-
);
|
|
19
|
-
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { integTest, withSpecificFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'test cdk rollback --force',
|
|
7
|
-
withSpecificFixture('rollback-test-app', async (fixture) => {
|
|
8
|
-
let phase = '1';
|
|
9
|
-
|
|
10
|
-
// Should succeed
|
|
11
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
12
|
-
options: ['--no-rollback'],
|
|
13
|
-
modEnv: { PHASE: phase },
|
|
14
|
-
verbose: false,
|
|
15
|
-
});
|
|
16
|
-
try {
|
|
17
|
-
phase = '2b'; // Fail update and also fail rollback
|
|
18
|
-
|
|
19
|
-
// Should fail
|
|
20
|
-
const deployOutput = await fixture.cdkDeploy('test-rollback', {
|
|
21
|
-
options: ['--no-rollback'],
|
|
22
|
-
modEnv: { PHASE: phase },
|
|
23
|
-
verbose: false,
|
|
24
|
-
allowErrExit: true,
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
expect(deployOutput).toContain('UPDATE_FAILED');
|
|
28
|
-
|
|
29
|
-
// Should still fail
|
|
30
|
-
const rollbackOutput = await fixture.cdk(['rollback'], {
|
|
31
|
-
modEnv: { PHASE: phase },
|
|
32
|
-
verbose: false,
|
|
33
|
-
allowErrExit: true,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
expect(rollbackOutput).toContain('Failing rollback');
|
|
37
|
-
|
|
38
|
-
// Rollback and force cleanup
|
|
39
|
-
await fixture.cdk(['rollback', '--force'], {
|
|
40
|
-
modEnv: { PHASE: phase },
|
|
41
|
-
verbose: false,
|
|
42
|
-
});
|
|
43
|
-
} finally {
|
|
44
|
-
await fixture.cdkDestroy('test-rollback');
|
|
45
|
-
}
|
|
46
|
-
}),
|
|
47
|
-
);
|
|
48
|
-
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { integTest, withSpecificFixture } from '../../lib';
|
|
2
|
-
|
|
3
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
4
|
-
|
|
5
|
-
integTest(
|
|
6
|
-
'test cdk rollback',
|
|
7
|
-
withSpecificFixture('rollback-test-app', async (fixture) => {
|
|
8
|
-
let phase = '1';
|
|
9
|
-
|
|
10
|
-
// Should succeed
|
|
11
|
-
await fixture.cdkDeploy('test-rollback', {
|
|
12
|
-
options: ['--no-rollback'],
|
|
13
|
-
modEnv: { PHASE: phase },
|
|
14
|
-
verbose: false,
|
|
15
|
-
});
|
|
16
|
-
try {
|
|
17
|
-
phase = '2a';
|
|
18
|
-
|
|
19
|
-
// Should fail
|
|
20
|
-
const deployOutput = await fixture.cdkDeploy('test-rollback', {
|
|
21
|
-
options: ['--no-rollback'],
|
|
22
|
-
modEnv: { PHASE: phase },
|
|
23
|
-
verbose: false,
|
|
24
|
-
allowErrExit: true,
|
|
25
|
-
});
|
|
26
|
-
expect(deployOutput).toContain('UPDATE_FAILED');
|
|
27
|
-
|
|
28
|
-
// Rollback
|
|
29
|
-
await fixture.cdk(['rollback'], {
|
|
30
|
-
modEnv: { PHASE: phase },
|
|
31
|
-
verbose: false,
|
|
32
|
-
});
|
|
33
|
-
} finally {
|
|
34
|
-
await fixture.cdkDestroy('test-rollback');
|
|
35
|
-
}
|
|
36
|
-
}),
|
|
37
|
-
);
|
|
38
|
-
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
4
|
-
|
|
5
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
|
-
|
|
7
|
-
integTest(
|
|
8
|
-
'test migrate deployment for app with localfile source in migrate.json',
|
|
9
|
-
withDefaultFixture(async (fixture) => {
|
|
10
|
-
const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json');
|
|
11
|
-
await fs.mkdir(path.dirname(outputsFile), { recursive: true });
|
|
12
|
-
|
|
13
|
-
// Initial deploy
|
|
14
|
-
await fixture.cdkDeploy('migrate-stack', {
|
|
15
|
-
modEnv: { ORPHAN_TOPIC: '1' },
|
|
16
|
-
options: ['--outputs-file', outputsFile],
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString());
|
|
20
|
-
const stackName = fixture.fullStackName('migrate-stack');
|
|
21
|
-
const queueName = outputs[stackName].QueueName;
|
|
22
|
-
const queueUrl = outputs[stackName].QueueUrl;
|
|
23
|
-
const queueLogicalId = outputs[stackName].QueueLogicalId;
|
|
24
|
-
fixture.log(`Created queue ${queueUrl} in stack ${fixture.fullStackName}`);
|
|
25
|
-
|
|
26
|
-
// Write the migrate file based on the ID from step one, then deploy the app with migrate
|
|
27
|
-
const migrateFile = path.join(fixture.integTestDir, 'migrate.json');
|
|
28
|
-
await fs.writeFile(
|
|
29
|
-
migrateFile,
|
|
30
|
-
JSON.stringify({
|
|
31
|
-
Source: 'localfile',
|
|
32
|
-
Resources: [
|
|
33
|
-
{
|
|
34
|
-
ResourceType: 'AWS::SQS::Queue',
|
|
35
|
-
LogicalResourceId: queueLogicalId,
|
|
36
|
-
ResourceIdentifier: { QueueUrl: queueUrl },
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
}),
|
|
40
|
-
{ encoding: 'utf-8' },
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
await fixture.cdkDestroy('migrate-stack');
|
|
44
|
-
fixture.log(`Deleted stack ${fixture.fullStackName}, orphaning ${queueName}`);
|
|
45
|
-
|
|
46
|
-
// Create new stack from existing queue
|
|
47
|
-
try {
|
|
48
|
-
fixture.log(`Deploying new stack ${fixture.fullStackName}, migrating ${queueName} into stack`);
|
|
49
|
-
await fixture.cdkDeploy('migrate-stack');
|
|
50
|
-
} finally {
|
|
51
|
-
// Cleanup
|
|
52
|
-
await fixture.cdkDestroy('migrate-stack');
|
|
53
|
-
}
|
|
54
|
-
}),
|
|
55
|
-
);
|
|
56
|
-
|