Skip to content

Repository files navigation

IMPORTANT This tool is NOT an official tool made by AWS.

aws-cdk-assert

DownloadsVersion@npmVersion@gitCIDocs

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:

ServiceConstructCloudFormation Type
ApiGatewayApiGatewayRestApiAWS::ApiGateway::RestApi
ApiGatewayApiGatewayAccountAWS::ApiGateway::Account
ApiGatewayApiGatewayDeploymentAWS::ApiGateway::Deployment
ApiGatewayApiGatewayStageAWS::ApiGateway::Stage
ApiGatewayApiGatewayMethodAWS::ApiGateway::Method
ApiGatewayApiGatewayResourceAWS::ApiGateway::Resource
ApiGatewayApiGatewayDomainAWS::ApiGateway::DomainName
ApiGatewayApiGatewayBasePathMappingAWS::ApiGateway::BasePathMapping
ApiGatewayApiGatewayApiKeyAWS::ApiGateway::ApiKey
ApiGatewayApiGatewayUsagePlanAWS::ApiGateway::UsagePlan
ApiGatewayApiGatewayUsagePlanKeyAWS::ApiGateway::UsagePlanKey
CloudFormationCloudFormationCustomResourceAWS::CloudFormation::CustomResource
CloudFrontCloudFrontDistributionAWS::CloudFront::Distribution
CloudFrontCloudFrontFunctionAWS::CloudFront::Function
CodeBuildCodeBuildSourceCredentialsAWS::CodeBuild::SourceCredential
CodeBuildCodeBuildProjectAWS::CodeBuild::Project
CustomCustomResourceCustom::AWS
DynamoDBDynamoDBTableAWS::DynamoDB::Table
IAMIAMRoleAWS::IAM::Role
IAMIAMPolicyAWS::IAM::Policy
LambdaLambdaFunctionAWS::Lambda::Function
LambdaLambdaPermissionAWS::Lambda::Permission
LogsLogGroupAWS::Logs::LogGroup
Route53Route53HostedZoneAWS::Route53::HostedZone
Route53Route53RecordSetAWS::Route53::RecordSet
S3S3BucketAWS::S3::Bucket
S3S3BucketPolicyAWS::S3::BucketPolicy
SecretsManagerSecretAWS::SecretsManager::Secret
SSMSSMParameterAWS::SSM::Parameter
WAF v2WafV2WebACLAWS::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.tsimport*ascdkfrom'aws-cdk-lib';import*asMyStackfrom'../lib/mystack.ts';import{AdvancedTemplate}from'aws-cdk-assert';describe('MyStack',()=>{lettemplate: AdvancedTemplate;beforeAll(()=>{constapp=newcdk.App();conststack=newMyStack.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 (and RemovableResource) 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.

About

This tool gives handy utilities to test AWS CDK Stack.

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

Generated from szikszail/npm-package