1.1.0 • Published 2 years ago

aws-cdk-assert v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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

aws-cdk-assert

Downloads Version@npm Version@git CI Docs

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.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 (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.

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