-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into iot-actions-republish
- Loading branch information
Showing
226 changed files
with
2,657 additions
and
741 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Migrating to Assertions | ||
|
||
Most of the APIs in the old `assert` module has a corresponding API in `assertions`. | ||
Make the following modifications to your CDK test files to migrate to the | ||
`@aws-cdk/assertions` module. | ||
|
||
For a migration script that handles most common use cases for you, see | ||
[Migration Script](migration-script). | ||
|
||
## Translation Guide | ||
|
||
- Rewrite module imports that use `@aws-cdk/aws-assert` to `@aws-cdk/aws-assertions`. | ||
For example: | ||
|
||
```ts | ||
import '@aws-cdk/assert/jest'; | ||
import { ABSENT, SynthUtils, ResourcePart } from '@aws-cdk/assert'; | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
import { Template } from '@aws-cdk/assertions'; | ||
import { Match, Template } from '@aws-cdk/assertions'; | ||
``` | ||
|
||
- Replace instances of `toHaveResource()` with `hasResourceProperties()` or `hasResource()`. | ||
For example: | ||
|
||
```ts | ||
expect(stack).toHaveResource('FOO::BAR', {/*...*/}); | ||
expect(stack).toHaveResource('FOO::BAR', {/*...*/}, ResourcePart.CompleteDefinition); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
Template.fromStack(stack).hasResourceProperties('FOO::BAR', {/*...*/}); | ||
Template.fromStack(stacK).hasResource('FOO::BAR', {/*...*/}); | ||
``` | ||
|
||
- Replace instances of `toCountResources()` with `resourceCountIs`. For example: | ||
|
||
```ts | ||
expect(stack).toCountResources('FOO::BAR', 1); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
Template.fromStack(stack).resourceCountIs('FOO::BAR', 1); | ||
``` | ||
- Replace instances of `toMatchTemplate()` with `templateMatches()`. For example: | ||
|
||
```ts | ||
expect(stack).toMatchTemplate({/*...*/}); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
Template.fromStack(stack).templateMatches({/*...*/}); | ||
``` | ||
|
||
- Replace `arrayWith()` with `Match.arrayWith()`, `objectLike()` with `Match.objectLike()`, and | ||
`ABSENT` with `Match.absent()`. | ||
|
||
- `not` can be replaced with `Match.not()` _or_ `resourceCountIs()` depending on the use case. | ||
|
||
```ts | ||
// asserting that the stack does not have a particular resource. | ||
expect(stack).not.toHaveResource('FOO::BAR'); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
Template.fromStack(stack).resourceCountIs('FOO::BAR', 0); | ||
``` | ||
|
||
```ts | ||
// asserting that the stack does not have a resource with these properties | ||
expect(stack).not.toHaveResource('FOO::BAR', { | ||
prop: 'does not exist', | ||
}); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
Template.fromStack(stack).hasResourceProperties('FOO::BAR', Match.not({ | ||
prop: 'does not exist', | ||
})); | ||
``` | ||
|
||
- `SynthUtils.synthesize(stack)` can be replaced as well. For example: | ||
|
||
```ts | ||
expect(SynthUtils.synthesize(stack).template).toEqual(/*...*/); | ||
SynthUtils.syntesize(stack); | ||
``` | ||
|
||
...becomes... | ||
|
||
```ts | ||
expect(Template.fromStack(stack).toJSON()).toEqual(/*...*/); | ||
App.of(stack).synth(); | ||
``` | ||
|
||
## Migration Script | ||
|
||
> NOTE: We have some code rewrite rules that will make it easier to migrate from one library | ||
> to the other. This tool will not do a complete rewrite and is not guaranteed to produce | ||
> compilable code! It will just save you the effort of performing a lot of code substitutions | ||
> you would otherwise have to do by hand. | ||
Comby is a tool used to do structured code rewriting. You can install it | ||
[here](https://comby.dev/). Download the [rewrite.toml](rewrite.toml) file from our GitHub | ||
repository, and run the following command in the root directory of your project: | ||
|
||
```bash | ||
comby -config ~/rewrite.toml -f .ts -d test -in-place -timeout 10 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.