1.1.0 • Published 2 years ago
aws-cdk-assert v1.1.0
IMPORTANT This tool is NOT an official tool made by AWS.
aws-cdk-assert
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 |
Need a new construct?
Suggest one in the issues, with an example CloudFormation template or contribute implementing it in this tool.
Usage
// 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();
});
});
API
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
(andRemovableResource
) is the base construct to work with CloudFormation constructs. It allows to- construct the matcher properties, which will be used to find a construct in the template,
- check if a construct exists or not,
- check the count of a construct (not just based on type, but fully matching construct),
- make assertions with extended information in case of failure,
- etc.
For detailed documentation see the TypeDocs documentation.
1.1.0
2 years ago
1.0.1-beta.17
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
1.0.0-beta.16
2 years ago
1.0.0-beta.15
2 years ago
1.0.0-beta.14
2 years ago
1.0.0-beta.12
2 years ago
1.0.0-beta.11
2 years ago
1.0.0-beta.10
2 years ago
1.0.0-beta.9
2 years ago
1.0.0-beta.8
2 years ago
1.0.0-beta.7
2 years ago
1.0.0-beta.6
2 years ago
1.0.0-beta.5
2 years ago
1.0.0-beta.4
2 years ago
1.0.0-beta.3
2 years ago
1.0.0-beta.2
2 years ago
1.0.0-beta.1
2 years ago
0.0.1
2 years ago