Testing Constructs (Optional) #
The CDK Developer Guide has a good guide on testing constructs. For this section of the workshop we are going to use the Fine-Grained Assertions and Validation type tests.
Prerequisites #
- Install the required testing packages.
$ pip install -r requirements-dev.txt
CDK assert Library #
We will be using the CDK assertions
(aws_cdk.assertions
) library throughout this section.
The library contains several helper functions for writing unit and integration tests.
For this workshop we will mostly be using the has_resource_properties
function. This helper is used when you
only care that a resource of a particular type exists (regardless of its logical identfier), and that some
properties are set to specific values.
Example:
template.has_resource_properties("AWS::CertificateManager::Certificate", {
"DomainName": "test.example.com",
"ShouldNotExist": Match.absent(),
})
Match.absent()
can be used to assert that a particular key in an object is not set (or set to undefined
).
To see the rest of the documentation, please read the docs here.