@aws-cdk/integ-runner 2.200.1 → 2.201.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 (42) hide show
  1. package/README.md +22 -2
  2. package/THIRD_PARTY_LICENSES +739 -2567
  3. package/lib/cli.js +43 -7
  4. package/lib/engines/proxy-agent.js +35 -2
  5. package/lib/engines/toolkit-lib.js +43 -7
  6. package/lib/index.js +518 -457
  7. package/lib/logger.js +44 -8
  8. package/lib/runner/{runner-base.d.ts → cdk-integ-helper.d.ts} +96 -33
  9. package/lib/runner/cdk-integ-helper.d.ts.map +1 -0
  10. package/lib/runner/cdk-integ-helper.js +517 -0
  11. package/lib/runner/engine.d.ts +3 -2
  12. package/lib/runner/engine.d.ts.map +1 -1
  13. package/lib/runner/engine.js +1 -1
  14. package/lib/runner/index.d.ts +1 -1
  15. package/lib/runner/index.d.ts.map +1 -1
  16. package/lib/runner/index.js +2 -2
  17. package/lib/runner/integ-test-runner.d.ts +12 -4
  18. package/lib/runner/integ-test-runner.d.ts.map +1 -1
  19. package/lib/runner/integ-test-runner.js +134 -71
  20. package/lib/runner/integ-test-suite.js +36 -3
  21. package/lib/runner/integration-tests.d.ts +8 -0
  22. package/lib/runner/integration-tests.d.ts.map +1 -1
  23. package/lib/runner/integration-tests.js +47 -3
  24. package/lib/runner/private/cloud-assembly.d.ts +1 -2
  25. package/lib/runner/private/cloud-assembly.d.ts.map +1 -1
  26. package/lib/runner/private/cloud-assembly.js +36 -3
  27. package/lib/runner/private/integ-manifest.js +36 -3
  28. package/lib/runner/private/test-specific-context.d.ts +3 -0
  29. package/lib/runner/private/test-specific-context.d.ts.map +1 -0
  30. package/lib/runner/private/test-specific-context.js +81 -0
  31. package/lib/runner/snapshot-test-runner.d.ts +10 -6
  32. package/lib/runner/snapshot-test-runner.d.ts.map +1 -1
  33. package/lib/runner/snapshot-test-runner.js +64 -34
  34. package/lib/unstable-features.js +35 -2
  35. package/lib/workers/common.js +51 -15
  36. package/lib/workers/extract/extract_worker.js +35 -2
  37. package/lib/workers/extract/index.js +5149 -45331
  38. package/lib/workers/integ-snapshot-worker.js +35 -2
  39. package/lib/workers/integ-test-worker.js +35 -2
  40. package/package.json +7 -9
  41. package/lib/runner/runner-base.d.ts.map +0 -1
  42. package/lib/runner/runner-base.js +0 -381
package/README.md CHANGED
@@ -172,7 +172,7 @@ Tests: 1 failed, 9 total
172
172
  Error: Some snapshot tests failed!
173
173
  To re-run failed tests run: integ-runner --update-on-failed
174
174
  at main (packages/@aws-cdk/integ-runner/lib/cli.js:90:15)
175
- error Command failed with exit code 1.
175
+ error Command failed with exit code 1.
176
176
  ```
177
177
 
178
178
  To re-run the integration test for the failed tests you would then run:
@@ -227,7 +227,7 @@ By default, integration tests are run with the "update workflow" enabled. This c
227
227
  If an existing snapshot is being updated, the integration test runner will first deploy the existing snapshot and then perform a stack update
228
228
  with the new changes. This is to test for cases where an update would cause a breaking change only on a stack update.
229
229
 
230
- > **Important:** The update workflow (both `--update-workflow` and `--update-from-tags`) only works
230
+ > **Important:** The update workflow (both `--update-workflow` and `--update-from-tags`) only works
231
231
  > with **environment-agnostic** snapshots. A snapshot is environment-agnostic when its templates do
232
232
  > not embed specific account IDs or regions. Tests that use context lookups (e.g., VPC or AZ
233
233
  > providers) store dummy resolved values in their snapshots — these are fine for diffing but can
@@ -364,3 +364,23 @@ integ-runner --help
364
364
  ```
365
365
 
366
366
  To use a different config file, provide the `--config` command-line option.
367
+
368
+ ## Dealing with context and Feature Flags
369
+
370
+ By default, `integ-runner` will use the most recent recommended set of feature
371
+ flags. This has the consequence that when you upgrade `integ-runner`, the
372
+ feature flag set may change and affect your generated snapshots, requiring a
373
+ snapshot update.
374
+
375
+ If your test directory has an `integ.context.json` file or `cdk.json` file
376
+ upstream from the test, context values from those files will be used and
377
+ completely replace the built-in flags. This makes sure that your context stays
378
+ the same, even if you upgrade `integ-runner`. It also gives you the ability
379
+ to change a context value for all tests at once. If there are multiple files
380
+ they will not be merged: the closest file to the test will be used, with
381
+ `integ.context.json` taking precedence over `cdk.json`.
382
+
383
+ If `integ.context.json` is found, it is expected to be a one-level dictionary of
384
+ context keys to values. If `cdk.json` is found, its `"context"` key will be used
385
+ as a dictionary of context keys and values (same as the file that typically
386
+ controls a CDK app's context and feature flags).