@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
48 lines (34 loc) • 1.56 kB
Markdown
# CDK CLI Integration Tests
These tests require AWS credentials, and exercise various aspects of the
CLI on a simple JavaScript CDK app (stored in `app/`).
## Entry point
```
../run-against-repo ./test.sh
```
Running against a failing dist build:
```
# Download and unpack the zip
.../CMkBR4V$ tar xzvf js/aws-cdk-[0-9]*.tgz
.../CMkBR4V$ package/test/integ/run-against-dist package/test/integ/cli/test.sh
```
## Adding tests
Even though tests are now written in TypeScript, this does not
conceptually change their SUT! They are still testing the CLI via
running it as a subprocess, they are NOT reaching directly into the CLI
code to test its private methods. It's just that setup/teardown/error
handling/assertions/AWS calls are much more convenient to do in a real
programming language.
Compilation of the tests is done as part of the normal package build, at
which point it is using the dependencies brought in by the containing
`aws-cdk` package's `package.json`.
When run in a non-development repo (as done during integ tests or canary runs),
the required dependencies are brought in just-in-time via `test.sh`. Any
new dependencies added for the tests should be added there as well. But, better
yet, don't add any dependencies at all. You shouldn't need to, these tests
are simple.
## Configuration
AWS credentials must be configured.
Optional configuration:
* `AWS_DEFAULT_REGION`, what region to deploy the stacks in.
* `IS_CANARY`, true or false. Affects the default stack name prefix to make
integration test and canary runs unique.