@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.
Files changed (431) hide show
  1. package/README.md +48 -39
  2. package/lib/aws.js +20 -9
  3. package/lib/cli/query-github.js +2 -3
  4. package/lib/cli/run-suite.js +123 -52
  5. package/lib/cli/stage-distribution.js +4 -4
  6. package/lib/corking.js +2 -5
  7. package/lib/eventually.js +3 -3
  8. package/lib/files.js +2 -3
  9. package/lib/github.js +5 -6
  10. package/lib/integ-test.js +58 -3
  11. package/lib/npm.d.ts +2 -0
  12. package/lib/npm.js +30 -1
  13. package/lib/package-sources/cli-npm-source.d.ts +14 -0
  14. package/lib/package-sources/cli-npm-source.js +50 -0
  15. package/lib/package-sources/cli-repo-source.d.ts +19 -0
  16. package/lib/package-sources/cli-repo-source.js +49 -0
  17. package/lib/package-sources/find-root.d.ts +6 -0
  18. package/lib/package-sources/find-root.js +18 -0
  19. package/lib/package-sources/library-globalinstall-source.d.ts +20 -0
  20. package/lib/package-sources/library-globalinstall-source.js +70 -0
  21. package/lib/package-sources/library-npm-source.d.ts +17 -0
  22. package/lib/package-sources/library-npm-source.js +60 -0
  23. package/lib/package-sources/library-preinstalled-source.d.ts +21 -0
  24. package/lib/package-sources/library-preinstalled-source.js +78 -0
  25. package/lib/package-sources/repo-tools/npm.js +4 -5
  26. package/lib/package-sources/source.d.ts +36 -18
  27. package/lib/package-sources/source.js +1 -1
  28. package/lib/package-sources/subprocess.d.ts +10 -3
  29. package/lib/package-sources/subprocess.js +31 -12
  30. package/lib/process.js +7 -6
  31. package/lib/proxy.d.ts +1 -1
  32. package/lib/proxy.js +2 -2
  33. package/lib/resource-pool.js +10 -6
  34. package/lib/shell.d.ts +3 -3
  35. package/lib/shell.js +12 -16
  36. package/lib/staging/codeartifact.js +17 -18
  37. package/lib/staging/maven.d.ts +2 -2
  38. package/lib/staging/maven.js +3 -5
  39. package/lib/staging/npm.d.ts +2 -2
  40. package/lib/staging/npm.js +1 -1
  41. package/lib/staging/nuget.d.ts +2 -2
  42. package/lib/staging/nuget.js +1 -1
  43. package/lib/staging/parallel-shell.js +2 -2
  44. package/lib/staging/pypi.d.ts +2 -2
  45. package/lib/staging/pypi.js +1 -1
  46. package/lib/staging/usage-dir.js +4 -1
  47. package/lib/with-aws.d.ts +2 -2
  48. package/lib/with-aws.js +5 -4
  49. package/lib/with-cdk-app.d.ts +9 -6
  50. package/lib/with-cdk-app.js +48 -61
  51. package/lib/with-cli-lib.d.ts +4 -3
  52. package/lib/with-cli-lib.js +5 -8
  53. package/lib/with-packages.d.ts +3 -2
  54. package/lib/with-packages.js +3 -2
  55. package/lib/with-sam.d.ts +3 -3
  56. package/lib/with-sam.js +15 -33
  57. package/lib/with-temporary-directory.d.ts +1 -1
  58. package/lib/with-temporary-directory.js +1 -1
  59. package/lib/xpmutex.js +11 -4
  60. package/lib/yarn.d.ts +6 -0
  61. package/lib/yarn.js +31 -0
  62. package/npm-shrinkwrap.json +8724 -0
  63. package/package.json +16 -11
  64. package/resources/cdk-apps/refactoring/cdk.json +7 -0
  65. package/resources/cdk-apps/refactoring/refactoring.js +18 -0
  66. package/resources/integ.jest.config.js +45 -8
  67. package/test-reports/junit.xml +15 -0
  68. package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.js +2 -2
  69. package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +12 -12
  70. package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +10 -10
  71. package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.js +2 -2
  72. package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.js +2 -2
  73. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.js +2 -2
  74. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.js +2 -2
  75. package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.js +2 -2
  76. package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.js +2 -2
  77. package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +3 -4
  78. package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +3 -4
  79. package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.js +2 -2
  80. package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +3 -4
  81. package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +3 -4
  82. package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +3 -4
  83. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.js +2 -2
  84. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.js +2 -2
  85. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.js +2 -2
  86. package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.js +2 -2
  87. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +5 -7
  88. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +3 -4
  89. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.js +2 -2
  90. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.js +2 -2
  91. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.js +2 -2
  92. package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +5 -6
  93. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.js +2 -2
  94. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.js +2 -2
  95. package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.js +2 -2
  96. package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +3 -4
  97. package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.js +2 -2
  98. package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.js +2 -2
  99. 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
  100. 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
  101. 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
  102. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.js +2 -2
  103. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.js +2 -2
  104. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.js +2 -2
  105. 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
  106. 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
  107. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.js +2 -2
  108. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.js +2 -2
  109. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.js +2 -2
  110. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.js +2 -2
  111. package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.js +2 -2
  112. package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.js +2 -2
  113. 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
  114. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.js +2 -2
  115. package/tests/cli-integ-tests/cdk-cdk-diff.integtest.js +2 -2
  116. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.js +2 -2
  117. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.js +2 -2
  118. package/tests/cli-integ-tests/cdk-cdk-ls.integtest.js +2 -2
  119. package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.js +2 -2
  120. package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.js +2 -2
  121. package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.js +2 -2
  122. package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.js +2 -2
  123. package/tests/cli-integ-tests/cdk-cdk-synth.integtest.js +2 -2
  124. package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.js +2 -2
  125. package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +2 -2
  126. package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.js +2 -2
  127. package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.js +2 -2
  128. package/tests/cli-integ-tests/cdk-context-setting.integtest.js +2 -2
  129. package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +3 -4
  130. package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.js +2 -2
  131. package/tests/cli-integ-tests/cdk-deploy-all.integtest.js +2 -2
  132. package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +4 -5
  133. package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +4 -5
  134. package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.js +2 -2
  135. package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.js +2 -2
  136. package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +3 -4
  137. package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.js +2 -2
  138. package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.js +2 -2
  139. package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.js +2 -2
  140. package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.js +2 -2
  141. package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +3 -4
  142. package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.js +2 -2
  143. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +3 -4
  144. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +3 -4
  145. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +3 -4
  146. package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +4 -5
  147. package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +3 -4
  148. package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.js +2 -2
  149. package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +3 -4
  150. package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +3 -4
  151. package/tests/cli-integ-tests/cdk-deploy.integtest.js +3 -4
  152. package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +6 -7
  153. package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.js +2 -2
  154. package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.js +2 -2
  155. package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.js +2 -2
  156. package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +5 -6
  157. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.js +2 -2
  158. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.js +2 -2
  159. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.js +2 -2
  160. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.js +2 -2
  161. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.js +2 -2
  162. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.js +2 -2
  163. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.js +2 -2
  164. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +3 -3
  165. package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.js +2 -2
  166. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.js +2 -2
  167. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +7 -6
  168. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +3 -4
  169. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +4 -5
  170. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +4 -5
  171. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +4 -5
  172. package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +6 -7
  173. package/tests/cli-integ-tests/cdk-iam-diff.integtest.js +2 -2
  174. package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +5 -6
  175. package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +3 -4
  176. package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.js +2 -2
  177. package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.js +2 -2
  178. 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
  179. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +2 -2
  180. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +2 -2
  181. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +2 -2
  182. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +2 -2
  183. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +2 -2
  184. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +2 -2
  185. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +2 -2
  186. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +2 -2
  187. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +2 -2
  188. package/tests/cli-integ-tests/cdk-migrate/testcase.d.ts +1 -1
  189. package/tests/cli-integ-tests/cdk-migrate/testcase.js +4 -6
  190. package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.js +3 -4
  191. package/tests/cli-integ-tests/cdk-refactor-dry-run.integtest.js +41 -0
  192. package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.js +3 -4
  193. package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.js +2 -2
  194. package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.js +2 -2
  195. package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.js +2 -2
  196. package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.js +2 -2
  197. package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +6 -7
  198. package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.js +2 -2
  199. package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.js +2 -2
  200. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.js +2 -2
  201. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.js +2 -2
  202. package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.js +2 -2
  203. package/tests/cli-integ-tests/cdk-termination-protection.integtest.js +2 -2
  204. package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.js +2 -2
  205. package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.js +2 -2
  206. package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +5 -5
  207. package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +2 -2
  208. package/tests/cli-integ-tests/cdk-test-resource-import.integtest.js +2 -2
  209. package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.js +2 -2
  210. 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
  211. package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.js +2 -2
  212. package/tests/cli-integ-tests/proxy.integtest.js +2 -3
  213. package/tests/init-csharp/init-csharp.integtest.js +4 -4
  214. package/tests/init-fsharp/init-fsharp.integtest.js +4 -4
  215. package/tests/init-go/init-go.integtest.js +4 -5
  216. package/tests/init-java/init-java.integtest.js +3 -3
  217. package/tests/init-javascript/init-javascript.integtest.js +3 -3
  218. package/tests/init-python/init-python.integtest.js +3 -3
  219. package/tests/init-typescript-app/init-typescript-app.integtest.js +3 -3
  220. package/tests/init-typescript-lib/init-typescript-lib.integtest.js +2 -2
  221. package/tests/tool-integrations/amplify.integtest.js +6 -6
  222. package/tests/tool-integrations/with-tool-context.d.ts +5 -5
  223. package/tests/tool-integrations/with-tool-context.js +1 -1
  224. package/tests/toolkit-lib-integ-tests/toolkit-can-cdk-deploy.integtest.d.ts +1 -0
  225. package/tests/toolkit-lib-integ-tests/toolkit-can-cdk-deploy.integtest.js +17 -0
  226. package/tests/toolkit-lib-integ-tests/toolkit-helpers.d.ts +15 -0
  227. package/tests/toolkit-lib-integ-tests/toolkit-helpers.js +45 -0
  228. package/tests/uberpackage/uberpackage.integtest.js +2 -2
  229. package/.eslintrc.js +0 -9
  230. package/lib/aws.ts +0 -303
  231. package/lib/cli/query-github.ts +0 -56
  232. package/lib/cli/run-suite.ts +0 -153
  233. package/lib/cli/stage-distribution.ts +0 -262
  234. package/lib/cli/test-root.ts +0 -3
  235. package/lib/corking.ts +0 -33
  236. package/lib/eventually.ts +0 -42
  237. package/lib/files.ts +0 -80
  238. package/lib/github.ts +0 -43
  239. package/lib/index.ts +0 -13
  240. package/lib/integ-test.ts +0 -110
  241. package/lib/lists.ts +0 -9
  242. package/lib/memoize.ts +0 -14
  243. package/lib/npm.ts +0 -41
  244. package/lib/package-sources/release-source.d.ts +0 -23
  245. package/lib/package-sources/release-source.js +0 -71
  246. package/lib/package-sources/release-source.ts +0 -82
  247. package/lib/package-sources/repo-source.d.ts +0 -30
  248. package/lib/package-sources/repo-source.js +0 -97
  249. package/lib/package-sources/repo-source.ts +0 -112
  250. package/lib/package-sources/repo-tools/npm.ts +0 -48
  251. package/lib/package-sources/source.ts +0 -35
  252. package/lib/package-sources/subprocess.ts +0 -15
  253. package/lib/process.ts +0 -154
  254. package/lib/proxy.ts +0 -64
  255. package/lib/resource-pool.ts +0 -140
  256. package/lib/resources.ts +0 -4
  257. package/lib/shell.ts +0 -331
  258. package/lib/staging/codeartifact.ts +0 -387
  259. package/lib/staging/maven.ts +0 -95
  260. package/lib/staging/npm.ts +0 -62
  261. package/lib/staging/nuget.ts +0 -75
  262. package/lib/staging/parallel-shell.ts +0 -51
  263. package/lib/staging/pypi.ts +0 -50
  264. package/lib/staging/usage-dir.ts +0 -99
  265. package/lib/with-aws.ts +0 -111
  266. package/lib/with-cdk-app.ts +0 -847
  267. package/lib/with-cli-lib.ts +0 -150
  268. package/lib/with-packages.ts +0 -15
  269. package/lib/with-sam.ts +0 -295
  270. package/lib/with-temporary-directory.ts +0 -35
  271. package/lib/with-timeout.ts +0 -33
  272. package/lib/xpmutex.ts +0 -218
  273. 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
  274. 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
  275. package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.ts +0 -29
  276. package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.ts +0 -92
  277. package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.ts +0 -82
  278. package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.ts +0 -15
  279. package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.ts +0 -15
  280. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.ts +0 -40
  281. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.ts +0 -40
  282. package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.ts +0 -29
  283. package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.ts +0 -42
  284. package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.ts +0 -26
  285. package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.ts +0 -28
  286. package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.ts +0 -21
  287. package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.ts +0 -22
  288. package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.ts +0 -21
  289. package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts +0 -27
  290. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.ts +0 -24
  291. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts +0 -25
  292. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.ts +0 -22
  293. package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.ts +0 -32
  294. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts +0 -77
  295. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.ts +0 -30
  296. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.ts +0 -15
  297. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.ts +0 -15
  298. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.ts +0 -15
  299. package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts +0 -34
  300. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.ts +0 -22
  301. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -22
  302. package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.ts +0 -21
  303. package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.ts +0 -24
  304. package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.ts +0 -47
  305. package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.ts +0 -57
  306. 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
  307. 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
  308. 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
  309. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.ts +0 -14
  310. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.ts +0 -13
  311. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.ts +0 -13
  312. 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
  313. 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
  314. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.ts +0 -35
  315. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.ts +0 -37
  316. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.ts +0 -35
  317. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.ts +0 -37
  318. package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.ts +0 -23
  319. package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.ts +0 -23
  320. 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
  321. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.ts +0 -28
  322. package/tests/cli-integ-tests/cdk-cdk-diff.integtest.ts +0 -18
  323. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.ts +0 -50
  324. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.ts +0 -95
  325. package/tests/cli-integ-tests/cdk-cdk-ls.integtest.ts +0 -36
  326. package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.ts +0 -42
  327. package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.ts +0 -14
  328. package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.ts +0 -126
  329. package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.ts +0 -80
  330. package/tests/cli-integ-tests/cdk-cdk-synth.integtest.ts +0 -53
  331. package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.ts +0 -19
  332. package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.ts +0 -28
  333. package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.ts +0 -14
  334. package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.ts +0 -20
  335. package/tests/cli-integ-tests/cdk-context-setting.integtest.ts +0 -33
  336. package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.ts +0 -23
  337. package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.ts +0 -17
  338. package/tests/cli-integ-tests/cdk-deploy-all.integtest.ts +0 -14
  339. package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.ts +0 -31
  340. package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.ts +0 -50
  341. package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.ts +0 -18
  342. package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.ts +0 -17
  343. package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.ts +0 -51
  344. package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.ts +0 -11
  345. package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.ts +0 -42
  346. package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.ts +0 -32
  347. package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.ts +0 -28
  348. package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.ts +0 -29
  349. package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.ts +0 -17
  350. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.ts +0 -36
  351. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.ts +0 -45
  352. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.ts +0 -37
  353. package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.ts +0 -33
  354. package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.ts +0 -26
  355. package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.js +0 -97
  356. package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.ts +0 -119
  357. package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.ts +0 -22
  358. package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.ts +0 -36
  359. package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.ts +0 -28
  360. package/tests/cli-integ-tests/cdk-deploy.integtest.ts +0 -20
  361. package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.ts +0 -36
  362. package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.ts +0 -12
  363. package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.ts +0 -44
  364. package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.ts +0 -12
  365. package/tests/cli-integ-tests/cdk-fast-deploy.integtest.ts +0 -41
  366. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts +0 -48
  367. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts +0 -51
  368. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts +0 -48
  369. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts +0 -52
  370. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.ts +0 -47
  371. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.ts +0 -63
  372. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts +0 -55
  373. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts +0 -63
  374. package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.ts +0 -52
  375. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.ts +0 -29
  376. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.ts +0 -45
  377. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.ts +0 -36
  378. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.ts +0 -41
  379. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.ts +0 -53
  380. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.ts +0 -43
  381. package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.ts +0 -59
  382. package/tests/cli-integ-tests/cdk-iam-diff.integtest.ts +0 -23
  383. package/tests/cli-integ-tests/cdk-import-interactive.integtest.ts +0 -57
  384. package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.ts +0 -32
  385. package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.ts +0 -12
  386. package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.ts +0 -27
  387. 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
  388. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.ts +0 -13
  389. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.ts +0 -14
  390. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.ts +0 -13
  391. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.ts +0 -13
  392. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.ts +0 -15
  393. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.ts +0 -15
  394. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.ts +0 -15
  395. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts +0 -15
  396. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.ts +0 -20
  397. package/tests/cli-integ-tests/cdk-migrate/testcase.ts +0 -69
  398. package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.ts +0 -28
  399. package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.ts +0 -39
  400. package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts +0 -25
  401. package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.ts +0 -30
  402. package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.ts +0 -26
  403. package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.ts +0 -18
  404. package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.ts +0 -59
  405. package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.ts +0 -13
  406. package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.ts +0 -20
  407. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts +0 -15
  408. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts +0 -18
  409. package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.ts +0 -25
  410. package/tests/cli-integ-tests/cdk-termination-protection.integtest.ts +0 -19
  411. package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.ts +0 -48
  412. package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.ts +0 -38
  413. package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.ts +0 -56
  414. package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.ts +0 -74
  415. package/tests/cli-integ-tests/cdk-test-resource-import.integtest.ts +0 -64
  416. package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.ts +0 -14
  417. 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
  418. package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.ts +0 -26
  419. package/tests/cli-integ-tests/proxy.integtest.ts +0 -168
  420. package/tests/init-csharp/init-csharp.integtest.ts +0 -15
  421. package/tests/init-fsharp/init-fsharp.integtest.ts +0 -15
  422. package/tests/init-go/init-go.integtest.ts +0 -28
  423. package/tests/init-java/init-java.integtest.ts +0 -14
  424. package/tests/init-javascript/init-javascript.integtest.ts +0 -58
  425. package/tests/init-python/init-python.integtest.ts +0 -20
  426. package/tests/init-typescript-app/init-typescript-app.integtest.ts +0 -67
  427. package/tests/init-typescript-lib/init-typescript-lib.integtest.ts +0 -13
  428. package/tests/tool-integrations/amplify.integtest.ts +0 -117
  429. package/tests/tool-integrations/with-tool-context.ts +0 -14
  430. package/tests/uberpackage/uberpackage.integtest.ts +0 -11
  431. /package/tests/cli-integ-tests/{cdk-deploy-with-role.integtest.d.ts → cdk-refactor-dry-run.integtest.d.ts} +0 -0
@@ -1,40 +0,0 @@
1
- import { integTest, withSpecificFixture } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest(
6
- 'automatic rollback if paused and change contains a replacement',
7
- withSpecificFixture('rollback-test-app', async (fixture) => {
8
- let phase = '1';
9
-
10
- // Should succeed
11
- await fixture.cdkDeploy('test-rollback', {
12
- options: ['--no-rollback'],
13
- modEnv: { PHASE: phase },
14
- verbose: false,
15
- });
16
- try {
17
- phase = '2a';
18
-
19
- // Should fail
20
- const deployOutput = await fixture.cdkDeploy('test-rollback', {
21
- options: ['--no-rollback'],
22
- modEnv: { PHASE: phase },
23
- verbose: false,
24
- allowErrExit: true,
25
- });
26
- expect(deployOutput).toContain('UPDATE_FAILED');
27
-
28
- // Do a deployment with a replacement and --force: this will roll back first and then deploy normally
29
- phase = '3';
30
- await fixture.cdkDeploy('test-rollback', {
31
- options: ['--no-rollback', '--force'],
32
- modEnv: { PHASE: phase },
33
- verbose: false,
34
- });
35
- } finally {
36
- await fixture.cdkDestroy('test-rollback');
37
- }
38
- }),
39
- );
40
-
@@ -1,29 +0,0 @@
1
- import { integTest, withSpecificFixture } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest(
6
- 'automatic rollback if replacement and --no-rollback is removed from flags',
7
- withSpecificFixture('rollback-test-app', async (fixture) => {
8
- let phase = '1';
9
-
10
- // Should succeed
11
- await fixture.cdkDeploy('test-rollback', {
12
- options: ['--no-rollback'],
13
- modEnv: { PHASE: phase },
14
- verbose: false,
15
- });
16
- try {
17
- // Do a deployment with a replacement and removing --no-rollback: this will do a regular rollback deploy
18
- phase = '3';
19
- await fixture.cdkDeploy('test-rollback', {
20
- options: ['--force'],
21
- modEnv: { PHASE: phase },
22
- verbose: false,
23
- });
24
- } finally {
25
- await fixture.cdkDestroy('test-rollback');
26
- }
27
- }),
28
- );
29
-
@@ -1,42 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import * as yaml from 'yaml';
4
- import { integTest, withoutBootstrap } from '../../lib';
5
-
6
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
7
-
8
- integTest('a customized template vendor will not overwrite the default template', withoutBootstrap(async (fixture) => {
9
- // Initial bootstrap
10
- const toolkitStackName = fixture.bootstrapStackName;
11
- await fixture.cdkBootstrapModern({
12
- toolkitStackName,
13
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
14
- });
15
-
16
- // Customize template
17
- const templateStr = await fixture.cdkBootstrapModern({
18
- // toolkitStackName doesn't matter for this particular invocation
19
- toolkitStackName,
20
- showTemplate: true,
21
- cliOptions: {
22
- captureStderr: false,
23
- },
24
- });
25
-
26
- const template = yaml.parse(templateStr, { schema: 'core' });
27
- template.Parameters.BootstrapVariant.Default = 'CustomizedVendor';
28
- const filename = path.join(fixture.integTestDir, `${fixture.qualifier}-template.yaml`);
29
- fs.writeFileSync(filename, yaml.stringify(template, { schema: 'yaml-1.1' }), { encoding: 'utf-8' });
30
-
31
- // Rebootstrap. For some reason, this doesn't cause a failure, it's a successful no-op.
32
- const output = await fixture.cdkBootstrapModern({
33
- toolkitStackName,
34
- template: filename,
35
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
36
- cliOptions: {
37
- captureStderr: true,
38
- },
39
- });
40
- expect(output).toContain('Not overwriting it with a template containing');
41
- }));
42
-
@@ -1,26 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('add tags, left alone on re-bootstrap', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- verbose: true,
11
- toolkitStackName: bootstrapStackName,
12
- tags: 'Foo=Bar',
13
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
14
- });
15
- await fixture.cdkBootstrapModern({
16
- verbose: true,
17
- toolkitStackName: bootstrapStackName,
18
- force: true,
19
- });
20
-
21
- const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
22
- expect(response.Stacks?.[0].Tags).toEqual([
23
- { Key: 'Foo', Value: 'Bar' },
24
- ]);
25
- }));
26
-
@@ -1,28 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can add tags then update tags during re-bootstrap', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- verbose: true,
11
- toolkitStackName: bootstrapStackName,
12
- tags: 'Foo=Bar',
13
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
14
- });
15
- await fixture.cdkBootstrapModern({
16
- verbose: true,
17
- toolkitStackName: bootstrapStackName,
18
- tags: 'Foo=BarBaz',
19
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
20
- force: true,
21
- });
22
-
23
- const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
24
- expect(response.Stacks?.[0].Tags).toEqual([
25
- { Key: 'Foo', Value: 'BarBaz' },
26
- ]);
27
- }));
28
-
@@ -1,21 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('can and deploy if omitting execution policies', withoutBootstrap(async (fixture) => {
6
- const bootstrapStackName = fixture.bootstrapStackName;
7
-
8
- await fixture.cdkBootstrapModern({
9
- toolkitStackName: bootstrapStackName,
10
- });
11
-
12
- // Deploy stack that uses file assets
13
- await fixture.cdkDeploy('lambda', {
14
- options: [
15
- '--toolkit-stack-name', bootstrapStackName,
16
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
17
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
18
- ],
19
- });
20
- }));
21
-
@@ -1,22 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can bootstrap without execution', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapLegacy({
10
- toolkitStackName: bootstrapStackName,
11
- noExecute: true,
12
- });
13
-
14
- const resp = await fixture.aws.cloudFormation.send(
15
- new DescribeStacksCommand({
16
- StackName: bootstrapStackName,
17
- }),
18
- );
19
-
20
- expect(resp.Stacks?.[0].StackStatus).toEqual('REVIEW_IN_PROGRESS');
21
- }));
22
-
@@ -1,21 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can create a legacy bootstrap stack with --public-access-block-configuration=false', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapLegacy({
10
- verbose: true,
11
- toolkitStackName: bootstrapStackName,
12
- publicAccessBlockConfiguration: false,
13
- tags: 'Foo=Bar',
14
- });
15
-
16
- const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
17
- expect(response.Stacks?.[0].Tags).toEqual([
18
- { Key: 'Foo', Value: 'Bar' },
19
- ]);
20
- }));
21
-
@@ -1,27 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can create multiple legacy bootstrap stacks', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName1 = `${fixture.bootstrapStackName}-1`;
8
- const bootstrapStackName2 = `${fixture.bootstrapStackName}-2`;
9
-
10
- // deploy two toolkit stacks into the same environment (see #1416)
11
- // one with tags
12
- await fixture.cdkBootstrapLegacy({
13
- verbose: true,
14
- toolkitStackName: bootstrapStackName1,
15
- tags: 'Foo=Bar',
16
- });
17
- await fixture.cdkBootstrapLegacy({
18
- verbose: true,
19
- toolkitStackName: bootstrapStackName2,
20
- });
21
-
22
- const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName1 }));
23
- expect(response.Stacks?.[0].Tags).toEqual([
24
- { Key: 'Foo', Value: 'Bar' },
25
- ]);
26
- }));
27
-
@@ -1,24 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('can deploy modern-synthesized stack even if bootstrap stack name is unknown', withoutBootstrap(async (fixture) => {
6
- const bootstrapStackName = fixture.bootstrapStackName;
7
-
8
- await fixture.cdkBootstrapModern({
9
- toolkitStackName: bootstrapStackName,
10
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
11
- });
12
-
13
- // Deploy stack that uses file assets
14
- await fixture.cdkDeploy('lambda', {
15
- options: [
16
- // Explicity pass a name that's sure to not exist, otherwise the CLI might accidentally find a
17
- // default bootstracp stack if that happens to be in the account already.
18
- '--toolkit-stack-name', 'DefinitelyDoesNotExist',
19
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
20
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
21
- ],
22
- });
23
- }));
24
-
@@ -1,25 +0,0 @@
1
- import * as path from 'path';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can deploy with session tags on the deploy, lookup, file asset, and image asset publishing roles', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- toolkitStackName: bootstrapStackName,
11
- bootstrapTemplate: path.join(__dirname, '..', '..', 'resources', 'bootstrap-templates', 'session-tags.all-roles-deny-all.yaml'),
12
- });
13
-
14
- await fixture.cdkDeploy('session-tags', {
15
- options: [
16
- '--toolkit-stack-name', bootstrapStackName,
17
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
18
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
19
- ],
20
- modEnv: {
21
- ENABLE_VPC_TESTING: 'IMPORT',
22
- },
23
- });
24
- }));
25
-
@@ -1,22 +0,0 @@
1
- import * as path from 'path';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can deploy without execution role and with session tags on deploy role', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- toolkitStackName: bootstrapStackName,
11
- bootstrapTemplate: path.join(__dirname, '..', '..', 'resources', 'bootstrap-templates', 'session-tags.deploy-role-deny-sqs.yaml'),
12
- });
13
-
14
- await fixture.cdkDeploy('session-tags-with-custom-synthesizer', {
15
- options: [
16
- '--toolkit-stack-name', bootstrapStackName,
17
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
18
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
19
- ],
20
- });
21
- }));
22
-
@@ -1,32 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import { integTest, withoutBootstrap } from '../../lib';
4
-
5
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
6
-
7
- integTest('can dump the template, modify and use it to deploy a custom bootstrap stack', withoutBootstrap(async (fixture) => {
8
- let template = await fixture.cdkBootstrapModern({
9
- // toolkitStackName doesn't matter for this particular invocation
10
- toolkitStackName: fixture.bootstrapStackName,
11
- showTemplate: true,
12
- cliOptions: {
13
- captureStderr: false,
14
- },
15
- });
16
-
17
- expect(template).toContain('BootstrapVersion:');
18
-
19
- template += '\n' + [
20
- ' TwiddleDee:',
21
- ' Value: Template got twiddled',
22
- ].join('\n');
23
-
24
- const filename = path.join(fixture.integTestDir, `${fixture.qualifier}-template.yaml`);
25
- fs.writeFileSync(filename, template, { encoding: 'utf-8' });
26
- await fixture.cdkBootstrapModern({
27
- toolkitStackName: fixture.bootstrapStackName,
28
- template: filename,
29
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
30
- });
31
- }));
32
-
@@ -1,77 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { CreatePolicyCommand, DeletePolicyCommand, GetRoleCommand } from '@aws-sdk/client-iam';
3
- import { integTest, withoutBootstrap } from '../../lib';
4
- import eventually from '../../lib/eventually';
5
-
6
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
7
-
8
- integTest('can remove customPermissionsBoundary', withoutBootstrap(async (fixture) => {
9
- const bootstrapStackName = fixture.bootstrapStackName;
10
- const policyName = `${bootstrapStackName}-pb`;
11
- let policyArn;
12
- try {
13
- const policy = await fixture.aws.iam.send(
14
- new CreatePolicyCommand({
15
- PolicyName: policyName,
16
- PolicyDocument: JSON.stringify({
17
- Version: '2012-10-17',
18
- Statement: {
19
- Action: ['*'],
20
- Resource: ['*'],
21
- Effect: 'Allow',
22
- },
23
- }),
24
- }),
25
- );
26
- policyArn = policy.Policy?.Arn;
27
-
28
- // Policy creation and consistency across regions is "almost immediate"
29
- // See: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
30
- // We will put this in an `eventually` block to retry stack creation with a reasonable timeout
31
- const createStackWithPermissionBoundary = async (): Promise<void> => {
32
- await fixture.cdkBootstrapModern({
33
- // toolkitStackName doesn't matter for this particular invocation
34
- toolkitStackName: bootstrapStackName,
35
- customPermissionsBoundary: policyName,
36
- });
37
-
38
- const response = await fixture.aws.cloudFormation.send(
39
- new DescribeStacksCommand({ StackName: bootstrapStackName }),
40
- );
41
- expect(
42
- response.Stacks?.[0].Parameters?.some(
43
- param => (param.ParameterKey === 'InputPermissionsBoundary' && param.ParameterValue === policyName),
44
- )).toEqual(true);
45
- };
46
-
47
- await eventually(createStackWithPermissionBoundary, { maxAttempts: 3 });
48
-
49
- await fixture.cdkBootstrapModern({
50
- // toolkitStackName doesn't matter for this particular invocation
51
- toolkitStackName: bootstrapStackName,
52
- usePreviousParameters: false,
53
- });
54
- const response2 = await fixture.aws.cloudFormation.send(
55
- new DescribeStacksCommand({ StackName: bootstrapStackName }),
56
- );
57
- expect(
58
- response2.Stacks?.[0].Parameters?.some(
59
- param => (param.ParameterKey === 'InputPermissionsBoundary' && !param.ParameterValue),
60
- )).toEqual(true);
61
-
62
- const region = fixture.aws.region;
63
- const account = await fixture.aws.account();
64
- const role = await fixture.aws.iam.send(
65
- new GetRoleCommand({ RoleName: `cdk-${fixture.qualifier}-cfn-exec-role-${account}-${region}` }),
66
- );
67
- if (!role.Role) {
68
- throw new Error('Role not found');
69
- }
70
- expect(role.Role.PermissionsBoundary).toBeUndefined();
71
- } finally {
72
- if (policyArn) {
73
- await fixture.aws.iam.send(new DeletePolicyCommand({ PolicyArn: policyArn }));
74
- }
75
- }
76
- }));
77
-
@@ -1,30 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('can remove trusted account', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- verbose: false,
11
- toolkitStackName: bootstrapStackName,
12
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
13
- trust: ['599757620138', '730170552321'],
14
- });
15
-
16
- await fixture.cdkBootstrapModern({
17
- verbose: true,
18
- toolkitStackName: bootstrapStackName,
19
- cfnExecutionPolicy: ' arn:aws:iam::aws:policy/AdministratorAccess',
20
- untrust: ['730170552321'],
21
- });
22
-
23
- const response = await fixture.aws.cloudFormation.send(
24
- new DescribeStacksCommand({ StackName: bootstrapStackName }),
25
- );
26
-
27
- const trustedAccounts = response.Stacks?.[0].Parameters?.find(p => p.ParameterKey === 'TrustedAccounts')?.ParameterValue;
28
- expect(trustedAccounts).toEqual('599757620138');
29
- }));
30
-
@@ -1,15 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('can use the custom permissions boundary (with slashes) to bootstrap', withoutBootstrap(async (fixture) => {
6
- let template = await fixture.cdkBootstrapModern({
7
- // toolkitStackName doesn't matter for this particular invocation
8
- toolkitStackName: fixture.bootstrapStackName,
9
- showTemplate: true,
10
- customPermissionsBoundary: 'permission-boundary-name/with/path',
11
- });
12
-
13
- expect(template).toContain('permission-boundary-name/with/path');
14
- }));
15
-
@@ -1,15 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('can use the custom permissions boundary to bootstrap', withoutBootstrap(async (fixture) => {
6
- let template = await fixture.cdkBootstrapModern({
7
- // toolkitStackName doesn't matter for this particular invocation
8
- toolkitStackName: fixture.bootstrapStackName,
9
- showTemplate: true,
10
- customPermissionsBoundary: 'permission-boundary-name',
11
- });
12
-
13
- expect(template).toContain('permission-boundary-name');
14
- }));
15
-
@@ -1,15 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('can use the default permissions boundary to bootstrap', withoutBootstrap(async (fixture) => {
6
- let template = await fixture.cdkBootstrapModern({
7
- // toolkitStackName doesn't matter for this particular invocation
8
- toolkitStackName: fixture.bootstrapStackName,
9
- showTemplate: true,
10
- examplePermissionsBoundary: true,
11
- });
12
-
13
- expect(template).toContain('PermissionsBoundary');
14
- }));
15
-
@@ -1,34 +0,0 @@
1
- import { DescribeStackResourcesCommand } from '@aws-sdk/client-cloudformation';
2
- import { DescribeRepositoriesCommand } from '@aws-sdk/client-ecr';
3
- import { integTest, withoutBootstrap } from '../../lib';
4
-
5
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
6
-
7
- integTest('create ECR with tag IMMUTABILITY to set on', withoutBootstrap(async (fixture) => {
8
- const bootstrapStackName = fixture.bootstrapStackName;
9
-
10
- await fixture.cdkBootstrapModern({
11
- verbose: true,
12
- toolkitStackName: bootstrapStackName,
13
- });
14
-
15
- const response = await fixture.aws.cloudFormation.send(
16
- new DescribeStackResourcesCommand({
17
- StackName: bootstrapStackName,
18
- }),
19
- );
20
- const ecrResource = response.StackResources?.find(resource => resource.LogicalResourceId === 'ContainerAssetsRepository');
21
- expect(ecrResource).toBeDefined();
22
-
23
- const ecrResponse = await fixture.aws.ecr.send(
24
- new DescribeRepositoriesCommand({
25
- repositoryNames: [
26
- // This is set, as otherwise we don't end up here
27
- ecrResource?.PhysicalResourceId ?? '',
28
- ],
29
- }),
30
- );
31
-
32
- expect(ecrResponse.repositories?.[0].imageTagMutability).toEqual('IMMUTABLE');
33
- }));
34
-
@@ -1,22 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('deploy new style synthesis to new style bootstrap (with docker image)', withoutBootstrap(async (fixture) => {
6
- const bootstrapStackName = fixture.bootstrapStackName;
7
-
8
- await fixture.cdkBootstrapModern({
9
- toolkitStackName: bootstrapStackName,
10
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
11
- });
12
-
13
- // Deploy stack that uses file assets
14
- await fixture.cdkDeploy('docker', {
15
- options: [
16
- '--toolkit-stack-name', bootstrapStackName,
17
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
18
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
19
- ],
20
- });
21
- }));
22
-
@@ -1,22 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('deploy new style synthesis to new style bootstrap', withoutBootstrap(async (fixture) => {
6
- const bootstrapStackName = fixture.bootstrapStackName;
7
-
8
- await fixture.cdkBootstrapModern({
9
- toolkitStackName: bootstrapStackName,
10
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
11
- });
12
-
13
- // Deploy stack that uses file assets
14
- await fixture.cdkDeploy('lambda', {
15
- options: [
16
- '--toolkit-stack-name', bootstrapStackName,
17
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
18
- '--context', '@aws-cdk/core:newStyleStackSynthesis=1',
19
- ],
20
- });
21
- }));
22
-
@@ -1,21 +0,0 @@
1
- import { integTest, withoutBootstrap } from '../../lib';
2
-
3
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
4
-
5
- integTest('deploy old style synthesis to new style bootstrap', withoutBootstrap(async (fixture) => {
6
- const bootstrapStackName = fixture.bootstrapStackName;
7
-
8
- await fixture.cdkBootstrapModern({
9
- toolkitStackName: bootstrapStackName,
10
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
11
- });
12
-
13
- // Deploy stack that uses file assets
14
- await fixture.cdkDeploy('lambda', {
15
- options: [
16
- '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
17
- '--toolkit-stack-name', bootstrapStackName,
18
- ],
19
- });
20
- }));
21
-
@@ -1,24 +0,0 @@
1
- import { DescribeStacksCommand } from '@aws-sdk/client-cloudformation';
2
- import { integTest, withoutBootstrap } from '../../lib';
3
-
4
- jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
5
-
6
- integTest('switch on termination protection, switch is left alone on re-bootstrap', withoutBootstrap(async (fixture) => {
7
- const bootstrapStackName = fixture.bootstrapStackName;
8
-
9
- await fixture.cdkBootstrapModern({
10
- verbose: true,
11
- toolkitStackName: bootstrapStackName,
12
- terminationProtection: true,
13
- cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
14
- });
15
- await fixture.cdkBootstrapModern({
16
- verbose: true,
17
- toolkitStackName: bootstrapStackName,
18
- force: true,
19
- });
20
-
21
- const response = await fixture.aws.cloudFormation.send(new DescribeStacksCommand({ StackName: bootstrapStackName }));
22
- expect(response.Stacks?.[0].EnableTerminationProtection).toEqual(true);
23
- }));
24
-