IMPORTANT This tool is NOT an official tool made by AWS.
This tool gives handy utilities to test AWS CDK Stack, with predefined test constructs for certain CDK constructs.
The tool currently contains the following test constructs:
Service | Construct | CloudFormation Type |
---|---|---|
ApiGateway | ApiGatewayRestApi |
AWS::ApiGateway::RestApi |
ApiGateway | ApiGatewayAccount |
AWS::ApiGateway::Account |
ApiGateway | ApiGatewayDeployment |
AWS::ApiGateway::Deployment |
ApiGateway | ApiGatewayStage |
AWS::ApiGateway::Stage |
ApiGateway | ApiGatewayMethod |
AWS::ApiGateway::Method |
ApiGateway | ApiGatewayResource |
AWS::ApiGateway::Resource |
ApiGateway | ApiGatewayDomain |
AWS::ApiGateway::DomainName |
ApiGateway | ApiGatewayBasePathMapping |
AWS::ApiGateway::BasePathMapping |
ApiGateway | ApiGatewayApiKey |
AWS::ApiGateway::ApiKey |
ApiGateway | ApiGatewayUsagePlan |
AWS::ApiGateway::UsagePlan |
ApiGateway | ApiGatewayUsagePlanKey |
AWS::ApiGateway::UsagePlanKey |
CloudFormation | CloudFormationCustomResource |
AWS::CloudFormation::CustomResource |
CloudFront | CloudFrontDistribution |
AWS::CloudFront::Distribution |
CloudFront | CloudFrontFunction |
AWS::CloudFront::Function |
CodeBuild | CodeBuildSourceCredentials |
AWS::CodeBuild::SourceCredential |
CodeBuild | CodeBuildProject |
AWS::CodeBuild::Project |
Custom | CustomResource |
Custom::AWS |
DynamoDB | DynamoDBTable |
AWS::DynamoDB::Table |
IAM | IAMRole |
AWS::IAM::Role |
IAM | IAMPolicy |
AWS::IAM::Policy |
Lambda | LambdaFunction |
AWS::Lambda::Function |
Lambda | LambdaPermission |
AWS::Lambda::Permission |
Logs | LogGroup |
AWS::Logs::LogGroup |
Route53 | Route53HostedZone |
AWS::Route53::HostedZone |
Route53 | Route53RecordSet |
AWS::Route53::RecordSet |
S3 | S3Bucket |
AWS::S3::Bucket |
S3 | S3BucketPolicy |
AWS::S3::BucketPolicy |
SecretsManager | Secret |
AWS::SecretsManager::Secret |
SSM | SSMParameter |
AWS::SSM::Parameter |
WAF v2 | WafV2WebACL |
AWS::WAFv2::WebACL |
Suggest one in the issues, with an example CloudFormation template or contribute implementing it in this tool.
// stack.test.ts
import * as cdk from 'aws-cdk-lib';
import * as MyStack from '../lib/mystack.ts';
import { AdvancedTemplate } from 'aws-cdk-assert';
describe('MyStack', () => {
let template: AdvancedTemplate;
beforeAll(() => {
const app = new cdk.App();
const stack = new MyStack.MyStack(app, 'MyStack', {
// props
});
template = AdvancedTemplate.fromStack(stack);
});
test('should have S3 Bucket', () => {
template.s3Bucket().withBucketName('MyBucket').exists();
});
});
The main components/API the tool relies on:
AdvancedTemplate
is a wrapper around Template, decorated with factory methods for the predefined constructs.AdvancedMatcher
is similar to Match, but with additional functions.Resource
(and RemovableResource
) is the base construct to work with CloudFormation constructs. It allows toFor detailed documentation see the TypeDocs documentation.
Generated using TypeDoc