@aws-cdk-testing/cli-integ 3.5.0 → 3.7.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/README.md +48 -39
- package/lib/aws.js +20 -9
- package/lib/cli/query-github.js +2 -3
- package/lib/cli/run-suite.js +123 -52
- package/lib/cli/stage-distribution.js +4 -4
- package/lib/corking.js +2 -5
- 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/npm.d.ts +2 -0
- package/lib/npm.js +30 -1
- package/lib/package-sources/cli-npm-source.d.ts +14 -0
- package/lib/package-sources/cli-npm-source.js +50 -0
- package/lib/package-sources/cli-repo-source.d.ts +19 -0
- package/lib/package-sources/cli-repo-source.js +49 -0
- package/lib/package-sources/find-root.d.ts +6 -0
- package/lib/package-sources/find-root.js +18 -0
- package/lib/package-sources/library-globalinstall-source.d.ts +20 -0
- package/lib/package-sources/library-globalinstall-source.js +70 -0
- package/lib/package-sources/library-npm-source.d.ts +17 -0
- package/lib/package-sources/library-npm-source.js +60 -0
- package/lib/package-sources/library-preinstalled-source.d.ts +21 -0
- package/lib/package-sources/library-preinstalled-source.js +78 -0
- package/lib/package-sources/repo-tools/npm.js +4 -5
- package/lib/package-sources/source.d.ts +36 -18
- package/lib/package-sources/source.js +1 -1
- package/lib/package-sources/subprocess.d.ts +10 -3
- package/lib/package-sources/subprocess.js +31 -12
- package/lib/process.js +7 -6
- package/lib/proxy.d.ts +1 -1
- package/lib/proxy.js +2 -2
- package/lib/resource-pool.js +10 -6
- package/lib/shell.d.ts +3 -3
- package/lib/shell.js +12 -16
- package/lib/staging/codeartifact.js +17 -18
- 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/staging/usage-dir.js +4 -1
- package/lib/with-aws.d.ts +2 -2
- package/lib/with-aws.js +5 -4
- package/lib/with-cdk-app.d.ts +9 -6
- package/lib/with-cdk-app.js +48 -61
- package/lib/with-cli-lib.d.ts +4 -3
- package/lib/with-cli-lib.js +5 -8
- package/lib/with-packages.d.ts +3 -2
- package/lib/with-packages.js +3 -2
- package/lib/with-sam.d.ts +3 -3
- package/lib/with-sam.js +15 -33
- package/lib/with-temporary-directory.d.ts +1 -1
- package/lib/with-temporary-directory.js +1 -1
- package/lib/xpmutex.js +11 -4
- package/lib/yarn.d.ts +6 -0
- package/lib/yarn.js +31 -0
- package/npm-shrinkwrap.json +8724 -0
- package/package.json +16 -11
- package/resources/cdk-apps/refactoring/cdk.json +7 -0
- package/resources/cdk-apps/refactoring/refactoring.js +18 -0
- package/resources/integ.jest.config.js +45 -8
- package/test-reports/junit.xml +15 -0
- package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +12 -12
- package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +10 -10
- package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +5 -7
- package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.js +2 -2
- 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 +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.js +2 -2
- 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 +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-diff.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-ls.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-cdk-synth.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-context-setting.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-all.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-deploy.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +3 -3
- package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +7 -6
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +4 -5
- package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-iam-diff.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +5 -6
- package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +3 -4
- package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.js +2 -3
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +2 -2
- 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 +3 -4
- 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 +3 -4
- package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-termination-protection.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +5 -5
- package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-test-resource-import.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.js +2 -2
- package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.js +6 -7
- package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.js +2 -2
- package/tests/cli-integ-tests/proxy.integtest.js +2 -3
- package/tests/init-csharp/init-csharp.integtest.js +4 -4
- package/tests/init-fsharp/init-fsharp.integtest.js +4 -4
- package/tests/init-go/init-go.integtest.js +4 -5
- package/tests/init-java/init-java.integtest.js +3 -3
- package/tests/init-javascript/init-javascript.integtest.js +3 -3
- package/tests/init-python/init-python.integtest.js +3 -3
- package/tests/init-typescript-app/init-typescript-app.integtest.js +3 -3
- package/tests/init-typescript-lib/init-typescript-lib.integtest.js +2 -2
- package/tests/tool-integrations/amplify.integtest.js +6 -6
- package/tests/tool-integrations/with-tool-context.d.ts +5 -5
- package/tests/tool-integrations/with-tool-context.js +1 -1
- package/tests/toolkit-lib-integ-tests/toolkit-can-cdk-deploy.integtest.d.ts +1 -0
- package/tests/toolkit-lib-integ-tests/toolkit-can-cdk-deploy.integtest.js +17 -0
- package/tests/toolkit-lib-integ-tests/toolkit-helpers.d.ts +15 -0
- package/tests/toolkit-lib-integ-tests/toolkit-helpers.js +45 -0
- package/tests/uberpackage/uberpackage.integtest.js +2 -2
- 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.d.ts +0 -23
- package/lib/package-sources/release-source.js +0 -71
- package/lib/package-sources/release-source.ts +0 -82
- package/lib/package-sources/repo-source.d.ts +0 -30
- package/lib/package-sources/repo-source.js +0 -97
- 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.js +0 -97
- 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-deploy-with-role.integtest.d.ts → cdk-refactor-dry-run.integtest.d.ts} +0 -0
|
@@ -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
|
-
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { DescribeStacksCommand, GetTemplateCommand } from '@aws-sdk/client-cloudformation';
|
|
4
|
-
import { integTest, withDefaultFixture } from '../../lib';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest(
|
|
9
|
-
'test resource import with construct that requires bundling',
|
|
10
|
-
withDefaultFixture(async (fixture) => {
|
|
11
|
-
// GIVEN
|
|
12
|
-
const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json');
|
|
13
|
-
await fs.mkdir(path.dirname(outputsFile), { recursive: true });
|
|
14
|
-
|
|
15
|
-
// First, create a stack that includes a NodeJSFunction lambda and one bucket that will be removed from the stack but NOT deleted from AWS.
|
|
16
|
-
await fixture.cdkDeploy('importable-stack', {
|
|
17
|
-
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '1', RETAIN_SINGLE_BUCKET: '1' },
|
|
18
|
-
options: ['--outputs-file', outputsFile],
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
// Second, now the bucket we will remove is in the stack and has a logicalId. We can now make the resource mapping file.
|
|
23
|
-
// This resource mapping file will be used to tell the import operation what bucket to bring into the stack.
|
|
24
|
-
const fullStackName = fixture.fullStackName('importable-stack');
|
|
25
|
-
const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString());
|
|
26
|
-
const bucketLogicalId = outputs[fullStackName].BucketLogicalId;
|
|
27
|
-
const bucketName = outputs[fullStackName].BucketName;
|
|
28
|
-
const bucketResourceMap = {
|
|
29
|
-
[bucketLogicalId]: {
|
|
30
|
-
BucketName: bucketName,
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json');
|
|
34
|
-
await fs.writeFile(mappingFile, JSON.stringify(bucketResourceMap), { encoding: 'utf-8' });
|
|
35
|
-
|
|
36
|
-
// Third, remove the bucket from the stack, but don't delete the bucket from AWS.
|
|
37
|
-
await fixture.cdkDeploy('importable-stack', {
|
|
38
|
-
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '0', RETAIN_SINGLE_BUCKET: '0' },
|
|
39
|
-
});
|
|
40
|
-
const cfnTemplateBeforeImport = await fixture.aws.cloudFormation.send(
|
|
41
|
-
new GetTemplateCommand({ StackName: fullStackName }),
|
|
42
|
-
);
|
|
43
|
-
expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(bucketLogicalId);
|
|
44
|
-
|
|
45
|
-
// WHEN
|
|
46
|
-
await fixture.cdk(['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')], {
|
|
47
|
-
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '1', RETAIN_SINGLE_BUCKET: '0' },
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
// THEN
|
|
51
|
-
const describeStacksResponse = await fixture.aws.cloudFormation.send(
|
|
52
|
-
new DescribeStacksCommand({ StackName: fullStackName }),
|
|
53
|
-
);
|
|
54
|
-
const cfnTemplateAfterImport = await fixture.aws.cloudFormation.send(
|
|
55
|
-
new GetTemplateCommand({ StackName: fullStackName }),
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
// If bundling is skipped during import for NodeJSFunction lambda, then the operation should fail and exit
|
|
59
|
-
expect(describeStacksResponse.Stacks![0].StackStatus).toEqual('IMPORT_COMPLETE');
|
|
60
|
-
|
|
61
|
-
// If the import operation is successful, the template should contain the imported bucket
|
|
62
|
-
expect(cfnTemplateAfterImport.TemplateBody).toContain(bucketLogicalId);
|
|
63
|
-
} finally {
|
|
64
|
-
// Clean up the resources we created
|
|
65
|
-
await fixture.cdkDestroy('importable-stack');
|
|
66
|
-
}
|
|
67
|
-
}),
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Create a queue, orphan that queue, then import the queue.
|
|
72
|
-
*
|
|
73
|
-
* We want to test with a large template to make sure large templates can work with import.
|
|
74
|
-
*/
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { DescribeStacksCommand, GetTemplateCommand } from '@aws-sdk/client-cloudformation';
|
|
4
|
-
import { integTest, withDefaultFixture, randomString } from '../../lib';
|
|
5
|
-
|
|
6
|
-
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
7
|
-
|
|
8
|
-
integTest(
|
|
9
|
-
'test resource import',
|
|
10
|
-
withDefaultFixture(async (fixture) => {
|
|
11
|
-
// GIVEN
|
|
12
|
-
const randomPrefix = randomString();
|
|
13
|
-
const uniqueOutputsFileName = `${randomPrefix}Outputs.json`; // other tests use the outputs file. Make sure we don't collide.
|
|
14
|
-
const outputsFile = path.join(fixture.integTestDir, 'outputs', uniqueOutputsFileName);
|
|
15
|
-
await fs.mkdir(path.dirname(outputsFile), { recursive: true });
|
|
16
|
-
|
|
17
|
-
// First, create a stack that includes many queues, and one queue that will be removed from the stack but NOT deleted from AWS.
|
|
18
|
-
await fixture.cdkDeploy('importable-stack', {
|
|
19
|
-
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '1' },
|
|
20
|
-
options: ['--outputs-file', outputsFile],
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
try {
|
|
24
|
-
// Second, now the queue we will remove is in the stack and has a logicalId. We can now make the resource mapping file.
|
|
25
|
-
// This resource mapping file will be used to tell the import operation what queue to bring into the stack.
|
|
26
|
-
const fullStackName = fixture.fullStackName('importable-stack');
|
|
27
|
-
const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString());
|
|
28
|
-
const queueLogicalId = outputs[fullStackName].QueueLogicalId;
|
|
29
|
-
const queueResourceMap = {
|
|
30
|
-
[queueLogicalId]: { QueueUrl: outputs[fullStackName].QueueUrl },
|
|
31
|
-
};
|
|
32
|
-
const mappingFile = path.join(fixture.integTestDir, 'outputs', `${randomPrefix}Mapping.json`);
|
|
33
|
-
await fs.writeFile(mappingFile, JSON.stringify(queueResourceMap), { encoding: 'utf-8' });
|
|
34
|
-
|
|
35
|
-
// Third, remove the queue from the stack, but don't delete the queue from AWS.
|
|
36
|
-
await fixture.cdkDeploy('importable-stack', {
|
|
37
|
-
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '0', RETAIN_SINGLE_QUEUE: '0' },
|
|
38
|
-
});
|
|
39
|
-
const cfnTemplateBeforeImport = await fixture.aws.cloudFormation.send(
|
|
40
|
-
new GetTemplateCommand({ StackName: fullStackName }),
|
|
41
|
-
);
|
|
42
|
-
expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(queueLogicalId);
|
|
43
|
-
|
|
44
|
-
// WHEN
|
|
45
|
-
await fixture.cdk(['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')], {
|
|
46
|
-
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '0' },
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// THEN
|
|
50
|
-
const describeStacksResponse = await fixture.aws.cloudFormation.send(
|
|
51
|
-
new DescribeStacksCommand({ StackName: fullStackName }),
|
|
52
|
-
);
|
|
53
|
-
const cfnTemplateAfterImport = await fixture.aws.cloudFormation.send(
|
|
54
|
-
new GetTemplateCommand({ StackName: fullStackName }),
|
|
55
|
-
);
|
|
56
|
-
expect(describeStacksResponse.Stacks![0].StackStatus).toEqual('IMPORT_COMPLETE');
|
|
57
|
-
expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId);
|
|
58
|
-
} finally {
|
|
59
|
-
// Clean up
|
|
60
|
-
await fixture.cdkDestroy('importable-stack');
|
|
61
|
-
}
|
|
62
|
-
}),
|
|
63
|
-
);
|
|
64
|
-
|
|
@@ -1,14 +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
|
-
'Two ways of showing the version',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
const version1 = await fixture.cdk(['version'], { verbose: false });
|
|
9
|
-
const version2 = await fixture.cdk(['--version'], { verbose: false });
|
|
10
|
-
|
|
11
|
-
expect(version1).toEqual(version2);
|
|
12
|
-
}),
|
|
13
|
-
);
|
|
14
|
-
|
|
@@ -1,47 +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
|
-
'update to stack in ROLLBACK_COMPLETE state will delete stack and create a new one',
|
|
8
|
-
withDefaultFixture(async (fixture) => {
|
|
9
|
-
// GIVEN
|
|
10
|
-
await expect(
|
|
11
|
-
fixture.cdkDeploy('param-test-1', {
|
|
12
|
-
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}@aww`],
|
|
13
|
-
captureStderr: false,
|
|
14
|
-
}),
|
|
15
|
-
).rejects.toThrow('exited with error');
|
|
16
|
-
|
|
17
|
-
const response = await fixture.aws.cloudFormation.send(
|
|
18
|
-
new DescribeStacksCommand({
|
|
19
|
-
StackName: fixture.fullStackName('param-test-1'),
|
|
20
|
-
}),
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
const stackArn = response.Stacks?.[0].StackId;
|
|
24
|
-
expect(response.Stacks?.[0].StackStatus).toEqual('ROLLBACK_COMPLETE');
|
|
25
|
-
|
|
26
|
-
// WHEN
|
|
27
|
-
const newStackArn = await fixture.cdkDeploy('param-test-1', {
|
|
28
|
-
options: ['--parameters', `TopicNameParam=${fixture.stackNamePrefix}allgood`],
|
|
29
|
-
captureStderr: false,
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
const newStackResponse = await fixture.aws.cloudFormation.send(
|
|
33
|
-
new DescribeStacksCommand({
|
|
34
|
-
StackName: newStackArn,
|
|
35
|
-
}),
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
// THEN
|
|
39
|
-
expect(stackArn).not.toEqual(newStackArn); // new stack was created
|
|
40
|
-
expect(newStackResponse.Stacks?.[0].StackStatus).toEqual('CREATE_COMPLETE');
|
|
41
|
-
expect(newStackResponse.Stacks?.[0].Parameters).toContainEqual({
|
|
42
|
-
ParameterKey: 'TopicNameParam',
|
|
43
|
-
ParameterValue: `${fixture.stackNamePrefix}allgood`,
|
|
44
|
-
});
|
|
45
|
-
}),
|
|
46
|
-
);
|
|
47
|
-
|
|
@@ -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
|
-
'VPC Lookup',
|
|
7
|
-
withDefaultFixture(async (fixture) => {
|
|
8
|
-
fixture.log('Making sure we are clean before starting.');
|
|
9
|
-
await fixture.cdkDestroy('define-vpc', { modEnv: { ENABLE_VPC_TESTING: 'DEFINE' } });
|
|
10
|
-
|
|
11
|
-
fixture.log('Setting up: creating a VPC with known tags');
|
|
12
|
-
await fixture.cdkDeploy('define-vpc', { modEnv: { ENABLE_VPC_TESTING: 'DEFINE' } });
|
|
13
|
-
fixture.log('Setup complete!');
|
|
14
|
-
|
|
15
|
-
fixture.log('Verifying we can now import that VPC');
|
|
16
|
-
await fixture.cdkDeploy('import-vpc', { modEnv: { ENABLE_VPC_TESTING: 'IMPORT' } });
|
|
17
|
-
}),
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
// testing a construct with a builtin Nodejs Lambda Function.
|
|
21
|
-
// In this case we are testing the s3.Bucket construct with the
|
|
22
|
-
// autoDeleteObjects prop set to true, which creates a Lambda backed
|
|
23
|
-
// CustomResource. Since the compiled Lambda code (e.g. __entrypoint__.js)
|
|
24
|
-
// is bundled as part of the CDK package, we want to make sure we don't
|
|
25
|
-
// introduce changes to the compiled code that could prevent the Lambda from
|
|
26
|
-
// executing. If we do, this test will timeout and fail.
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
|
-
import * as os from 'os';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
import { integTest } from '../../lib/integ-test';
|
|
5
|
-
import { startProxyServer } from '../../lib/proxy';
|
|
6
|
-
import { TestFixture, withDefaultFixture } from '../../lib/with-cdk-app';
|
|
7
|
-
|
|
8
|
-
const docker = process.env.CDK_DOCKER ?? 'docker';
|
|
9
|
-
|
|
10
|
-
integTest(
|
|
11
|
-
'all calls from isolated container go through proxy',
|
|
12
|
-
withDefaultFixture(async (fixture) => {
|
|
13
|
-
// Find the 'cdk' command and make sure it is mounted into the container
|
|
14
|
-
const cdkFullpath = (await fixture.shell(['which', 'cdk'])).trim();
|
|
15
|
-
let cdkTop = findMountableParent(cdkFullpath);
|
|
16
|
-
|
|
17
|
-
// Run a 'cdk deploy' inside the container
|
|
18
|
-
const commands = [
|
|
19
|
-
`env ${renderEnv(fixture.cdkShellEnv())} ${cdkFullpath} ${fixture.cdkDeployCommandLine('test-2').join(' ')} -v`,
|
|
20
|
-
];
|
|
21
|
-
|
|
22
|
-
await runInIsolatedContainer(fixture, [cdkTop], commands);
|
|
23
|
-
}),
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
async function runInIsolatedContainer(fixture: TestFixture, pathsToMount: string[], testCommands: string[]) {
|
|
27
|
-
pathsToMount.push(
|
|
28
|
-
`${process.env.HOME}`,
|
|
29
|
-
fixture.integTestDir,
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
// Resolve credential provider to an access key that we can pass into the container
|
|
33
|
-
const credentials = await fixture.aws.credentials();
|
|
34
|
-
|
|
35
|
-
const proxy = await startProxyServer(fixture.integTestDir);
|
|
36
|
-
try {
|
|
37
|
-
const proxyPort = proxy.port;
|
|
38
|
-
|
|
39
|
-
const setupCommands = [
|
|
40
|
-
'apt-get update -qq',
|
|
41
|
-
'apt-get install -qqy nodejs > /dev/null',
|
|
42
|
-
...isolatedDockerCommands(proxyPort, proxy.certPath),
|
|
43
|
-
];
|
|
44
|
-
|
|
45
|
-
const scriptName = path.join(fixture.integTestDir, 'script.sh');
|
|
46
|
-
|
|
47
|
-
// Write a script file
|
|
48
|
-
await fs.writeFile(scriptName, [
|
|
49
|
-
'#!/bin/bash',
|
|
50
|
-
'set -x',
|
|
51
|
-
'set -eu',
|
|
52
|
-
...setupCommands,
|
|
53
|
-
...testCommands,
|
|
54
|
-
].join('\n'), 'utf-8');
|
|
55
|
-
|
|
56
|
-
await fs.chmod(scriptName, 0o755);
|
|
57
|
-
|
|
58
|
-
await fixture.ecrPublicLogin();
|
|
59
|
-
|
|
60
|
-
// Run commands in a Docker shell
|
|
61
|
-
await fixture.shell([
|
|
62
|
-
docker, 'run', '--net=bridge', '--rm',
|
|
63
|
-
...pathsToMount.flatMap(p => ['-v', `${p}:${p}`]),
|
|
64
|
-
...['HOME', 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_SESSION_TOKEN'].flatMap(e => ['-e', e]),
|
|
65
|
-
'-w', fixture.integTestDir,
|
|
66
|
-
'--cap-add=NET_ADMIN',
|
|
67
|
-
'public.ecr.aws/ubuntu/ubuntu:24.04_stable',
|
|
68
|
-
`${scriptName}`,
|
|
69
|
-
], {
|
|
70
|
-
modEnv: {
|
|
71
|
-
AWS_ACCESS_KEY_ID: credentials.accessKeyId,
|
|
72
|
-
AWS_SECRET_ACCESS_KEY: credentials.secretAccessKey,
|
|
73
|
-
AWS_SESSION_TOKEN: credentials.sessionToken,
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
} finally {
|
|
77
|
-
await proxy.stop();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Return the commands necessary to isolate the inside of the container from the internet,
|
|
83
|
-
* except by going through the proxy
|
|
84
|
-
*/
|
|
85
|
-
function isolatedDockerCommands(proxyPort: number, caBundlePath: string) {
|
|
86
|
-
let defaultBridgeIp = '172.17.0.1';
|
|
87
|
-
|
|
88
|
-
// The host's default IP is different on CodeBuild than it is on other Docker systems.
|
|
89
|
-
if (process.env.CODEBUILD_BUILD_ARN) {
|
|
90
|
-
defaultBridgeIp = '172.18.0.1';
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return [
|
|
94
|
-
'echo Working...',
|
|
95
|
-
'apt-get install -qqy curl net-tools iputils-ping dnsutils iptables > /dev/null',
|
|
96
|
-
'',
|
|
97
|
-
// Looking up `host.docker.internal` is necessary on MacOS Finch and Docker Desktop
|
|
98
|
-
// on Mac. The magic IP address is necessary on CodeBuild and GitHub Actions.
|
|
99
|
-
//
|
|
100
|
-
// I tried `--add-host=host.docker.internal:host-gateway` on the Linuxes but
|
|
101
|
-
// it doesn't change anything on either GHA or CodeBuild, so we're left with this
|
|
102
|
-
// backup solution.
|
|
103
|
-
'gateway=$(dig +short host.docker.internal)',
|
|
104
|
-
'if [[ -z "$gateway" ]]; then',
|
|
105
|
-
` gateway=${defaultBridgeIp}`,
|
|
106
|
-
'fi',
|
|
107
|
-
'',
|
|
108
|
-
'# Some iptables manipulation; there might be unnecessary commands in here, not an expert',
|
|
109
|
-
'iptables -F',
|
|
110
|
-
'iptables -X',
|
|
111
|
-
'iptables -P INPUT DROP',
|
|
112
|
-
'iptables -P OUTPUT DROP',
|
|
113
|
-
'iptables -P FORWARD DROP',
|
|
114
|
-
'iptables -A INPUT -i lo -j ACCEPT',
|
|
115
|
-
'iptables -A OUTPUT -o lo -j ACCEPT',
|
|
116
|
-
'iptables -A OUTPUT -d $gateway -j ACCEPT',
|
|
117
|
-
'iptables -A INPUT -s $gateway -j ACCEPT',
|
|
118
|
-
'',
|
|
119
|
-
'',
|
|
120
|
-
`if [[ ! -f ${caBundlePath} ]]; then`,
|
|
121
|
-
` echo "Could not find ${caBundlePath}, this will probably not go well. Exiting." >&2`,
|
|
122
|
-
' exit 1',
|
|
123
|
-
'fi',
|
|
124
|
-
'',
|
|
125
|
-
'# Configure a bunch of tools to work with the proxy',
|
|
126
|
-
'echo "+-------------------------------------------------------------------------------------+"',
|
|
127
|
-
'echo "| Direct network traffic has been blocked, everything must go through the proxy. |"',
|
|
128
|
-
'echo "+-------------------------------------------------------------------------------------+"',
|
|
129
|
-
`export HTTP_PROXY=http://$gateway:${proxyPort}/`,
|
|
130
|
-
`export HTTPS_PROXY=http://$gateway:${proxyPort}/`,
|
|
131
|
-
`export NODE_EXTRA_CA_CERTS=${caBundlePath}`,
|
|
132
|
-
`export AWS_CA_BUNDLE=${caBundlePath}`,
|
|
133
|
-
`export SSL_CERT_FILE=${caBundlePath}`,
|
|
134
|
-
'echo "Acquire::http::proxy \"$HTTP_PROXY\";" >> /etc/apt/apt.conf.d/95proxies',
|
|
135
|
-
'echo "Acquire::https::proxy \"$HTTPS_PROXY\";" >> /etc/apt/apt.conf.d/95proxies',
|
|
136
|
-
];
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
function renderEnv(env: Record<string, string | undefined>) {
|
|
140
|
-
return Object.entries(env).filter(([_, v]) => v).map(([k, v]) => `${k}='${v}'`).join(' ');
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Find a broadly mountable parent of the given directory
|
|
145
|
-
*
|
|
146
|
-
* We don't want to just mount the top-level directory, because
|
|
147
|
-
* it could end up being `/var` (top-level dir of tmpdir on Mac).
|
|
148
|
-
*/
|
|
149
|
-
function findMountableParent(dir: string): string {
|
|
150
|
-
const candidates = [
|
|
151
|
-
os.tmpdir(),
|
|
152
|
-
process.env.TMPDIR,
|
|
153
|
-
process.env.HOME,
|
|
154
|
-
];
|
|
155
|
-
for (const cand of candidates) {
|
|
156
|
-
if (cand === undefined) {
|
|
157
|
-
continue;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (dir.startsWith(cand)) {
|
|
161
|
-
const suffix = dir.substring(cand.length);
|
|
162
|
-
const firstChildDir = suffix.split('/')[0];
|
|
163
|
-
|
|
164
|
-
return path.join(cand, firstChildDir);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return dir;
|
|
168
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withTemporaryDirectory, ShellHelper, withPackages } from '../../lib';
|
|
2
|
-
|
|
3
|
-
['app', 'sample-app'].forEach(template => {
|
|
4
|
-
integTest(`init C♯ ${template}`, withTemporaryDirectory(withPackages(async (context) => {
|
|
5
|
-
context.packages.assertJsiiPackagesAvailable();
|
|
6
|
-
|
|
7
|
-
const shell = ShellHelper.fromContext(context);
|
|
8
|
-
await context.packages.makeCliAvailable();
|
|
9
|
-
|
|
10
|
-
await shell.shell(['cdk', 'init', '-l', 'csharp', template]);
|
|
11
|
-
await context.packages.initializeDotnetPackages(context.integTestDir);
|
|
12
|
-
await shell.shell(['cdk', 'synth']);
|
|
13
|
-
})));
|
|
14
|
-
});
|
|
15
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { integTest, withTemporaryDirectory, ShellHelper, withPackages } from '../../lib';
|
|
2
|
-
|
|
3
|
-
['app', 'sample-app'].forEach(template => {
|
|
4
|
-
integTest(`init F♯ ${template}`, withTemporaryDirectory(withPackages(async (context) => {
|
|
5
|
-
context.packages.assertJsiiPackagesAvailable();
|
|
6
|
-
|
|
7
|
-
const shell = ShellHelper.fromContext(context);
|
|
8
|
-
await context.packages.makeCliAvailable();
|
|
9
|
-
|
|
10
|
-
await shell.shell(['cdk', 'init', '-l', 'fsharp', template]);
|
|
11
|
-
await context.packages.initializeDotnetPackages(context.integTestDir);
|
|
12
|
-
await shell.shell(['cdk', 'synth']);
|
|
13
|
-
})));
|
|
14
|
-
});
|
|
15
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { integTest, withTemporaryDirectory, ShellHelper, withPackages } from '../../lib';
|
|
2
|
-
|
|
3
|
-
['app', 'sample-app'].forEach(template => {
|
|
4
|
-
integTest(`init go ${template}`, withTemporaryDirectory(withPackages(async (context) => {
|
|
5
|
-
const isCanary = !!process.env.IS_CANARY;
|
|
6
|
-
context.packages.assertJsiiPackagesAvailable();
|
|
7
|
-
|
|
8
|
-
const shell = ShellHelper.fromContext(context);
|
|
9
|
-
await context.packages.makeCliAvailable();
|
|
10
|
-
|
|
11
|
-
await shell.shell(['cdk', 'init', '-l', 'go', template]);
|
|
12
|
-
|
|
13
|
-
// Canaries will use the generated go.mod as is
|
|
14
|
-
// For pipeline tests we replace the source with the locally build one
|
|
15
|
-
if (!isCanary) {
|
|
16
|
-
const dir = process.env.CODEBUILD_SRC_DIR ?? process.env.GITHUB_WORKSPACE;
|
|
17
|
-
if (!dir) {
|
|
18
|
-
throw new Error('Cannot figure out CI system root directory');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
await shell.shell(['go', 'mod', 'edit', '-replace', `github.com/aws/aws-cdk-go/awscdk/v2=${dir}/go/awscdk`]);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
await shell.shell(['go', 'mod', 'tidy']);
|
|
25
|
-
await shell.shell(['go', 'test']);
|
|
26
|
-
await shell.shell(['cdk', 'synth']);
|
|
27
|
-
})));
|
|
28
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { integTest, withTemporaryDirectory, ShellHelper, withPackages } from '../../lib';
|
|
2
|
-
|
|
3
|
-
['app', 'sample-app'].forEach(template => {
|
|
4
|
-
integTest(`init java ${template}`, withTemporaryDirectory(withPackages(async (context) => {
|
|
5
|
-
context.packages.assertJsiiPackagesAvailable();
|
|
6
|
-
|
|
7
|
-
const shell = ShellHelper.fromContext(context);
|
|
8
|
-
await context.packages.makeCliAvailable();
|
|
9
|
-
|
|
10
|
-
await shell.shell(['cdk', 'init', '-l', 'java', template]);
|
|
11
|
-
await shell.shell(['mvn', 'package']);
|
|
12
|
-
await shell.shell(['cdk', 'synth']);
|
|
13
|
-
})));
|
|
14
|
-
});
|