Skip to content

strict construct testing #70

strict construct testing

strict construct testing #70

GitHub Actions / Unit Tests succeeded Sep 16, 2024 in 0s

93 passed, 0 failed and 4 skipped

Tests passed successfully

✅ coverage/junit.xml

97 tests were completed in 23s with 93 passed, 0 failed and 4 skipped.

Test suite Passed Failed Skipped Time
src/tests/access-tracker.spec.ts 21✅ 14ms
src/tests/cdk-adaptor-stack.spec.ts 17✅ 1⚪ 15s
src/tests/constructs/services/msk.spec.ts 1⚪ 0ms
src/tests/mappings/apigateway.spec.ts 9✅ 266ms
src/tests/mappings/appsync.spec.ts 7✅ 823ms
src/tests/mappings/certificate-manager.spec.ts 1✅ 134ms
src/tests/mappings/cloudfront.spec.ts 3✅ 331ms
src/tests/mappings/cognito.spec.ts 4✅ 218ms
src/tests/mappings/dynamodb.spec.ts 1✅ 231ms
src/tests/mappings/ec2-vpc.spec.ts 8✅ 451ms
src/tests/mappings/eks.spec.ts 1⚪ 0ms
src/tests/mappings/events.spec.ts 1✅ 147ms
src/tests/mappings/iam.spec.ts 3✅ 237ms
src/tests/mappings/lambda.spec.ts 6✅ 297ms
src/tests/mappings/logs.spec.ts 2✅ 165ms
src/tests/mappings/rds.spec.ts 1⚪ 0ms
src/tests/mappings/route53.spec.ts 1✅ 131ms
src/tests/mappings/s3.spec.ts 1✅ 138ms
src/tests/mappings/sns.spec.ts 2✅ 148ms
src/tests/mappings/sqs.spec.ts 2✅ 128ms
src/tests/mappings/stepfunctions.spec.ts 4✅ 214ms

✅ src/tests/access-tracker.spec.ts

src/__tests__/access-tracker.spec.ts
  ✅ AccessTracker > isAllPropertiesAccessed returns false initially
  ✅ AccessTracker > should not mutate the original object
  ✅ AccessTracker > accessing properties marks them as accessed
  ✅ AccessTracker > accessing nested properties marks them as accessed
  ✅ AccessTracker > getUnaccessedProperties returns unaccessed properties
  ✅ AccessTracker > isAllPropertiesAccessed returns true when all properties are accessed
  ✅ AccessTracker > hasProperty returns true for existing properties
  ✅ AccessTracker > hasProperty returns false for non-existing properties
  ✅ AccessTracker > removePropertiesUnderPath removes specified properties
  ✅ AccessTracker > touchPath marks properties as accessed
  ✅ AccessTracker > removePropertiesUnderPath removes properties using wildcard
  ✅ AccessTracker > removePropertiesUnderPath removes deep nested properties using wildcard
  ✅ AccessTracker > touchPath marks properties as accessed using wildcard
  ✅ AccessTracker > touchPath marks deep nested properties as accessed using wildcard
  ✅ AccessTracker > touchPath should work correctly with multiple wildcards
  ✅ AccessTracker > removePropertiesUnderPath should work correctly with multiple wildcards
  ✅ AccessTracker > should partially clone all correctly
  ✅ AccessTracker > should partially clone a set of paths
  ✅ AccessTracker > should partially clone a set of paths with wildcard
  ✅ AccessTracker > should clone accessed properties correctly
  ✅ AccessTracker > should clone unaccessed properties correctly

✅ src/tests/cdk-adaptor-stack.spec.ts

src/__tests__/cdk-adaptor-stack.spec.ts
  ⚪ Stack synthesis > Should support basic stack synthesis with mixed resources
  ✅ Stack synthesis > Should handle implicit dependencies > Should add implicit dependencies to resources
  ✅ Stack synthesis > Should synthesize native terraform resources > Should not perturb complex native resources
  ✅ Stack synthesis > Should synthesize native terraform resources > Should resolve deeply nested tokens in cloudformation
  ✅ Stack synthesis > Manage CloudContrlApi resources > Should not map using CloudControl when disabled
  ✅ Stack synthesis > Stack Resources > Should have converted the 'Resource' child of the construct
  ✅ Stack synthesis > Stack Resources > Should have native s3 bucket
  ✅ Stack synthesis > Stack Resources > Should synthesize explicit provider specification
  ✅ Stack synthesis > Dependency order preservation > Should preserve dependencies on AWS CDK resources
  ✅ Stack synthesis > Dependency order preservation > Should preserve dependencies on CDKTF resources
  ✅ Stack synthesis > Token translation > Should translate tokens pointing to AWS CDK resources in CDKTF resources
  ✅ Stack synthesis > Token translation > Should translate tokens pointing to AWS CDK resources in other AWS CDK resources
  ✅ Stack synthesis > Token translation > Should translate token pointing to CDKTF resources within AWS CDK resources
  ✅ Stack synthesis > Inter-stack references > Should support inter-stack references pointing from CDKTF to AWS CDK
  ✅ Stack synthesis > Inter-stack references > Should support inter-stack references pointing from AWS CDK to CDKTF
  ✅ Stack synthesis > Inter-stack references > Should support inter-stack references pointing from AWS CDK to AWS CDK
  ✅ Stack synthesis > Inter-stack references > Should support inter-stack references with inverted constructor order
  ✅ Stack synthesis > File assets > Should support AWS CDK file assets

✅ src/tests/constructs/services/msk.spec.ts

src/__tests__/constructs/services/msk.spec.ts
  ⚪ MSK Constructs > Should provision an MSK Cluster

✅ src/tests/mappings/apigateway.spec.ts

src/__tests__/mappings/apigateway.spec.ts
  ✅ Apigateway mappings > should map AWS::ApiGateway::Account
  ✅ Apigateway mappings > should map AWS::ApiGateway::Deployment
  ✅ Apigateway mappings > should map AWS::ApiGateway::Stage
  ✅ Apigateway mappings > should map AWS::ApiGateway::BasePathMapping
  ✅ Apigateway mappings > Should map AWS::ApiGatewayV2::Stage
  ✅ Apigateway mappings > Should map AWS::ApiGatewayV2::DomainName
  ✅ Apigateway mappings > Should map AWS::ApiGatewayV2::Integration
  ✅ Apigateway mappings > Should map AWS::ApiGatewayV2::Authorizer
  ✅ Apigateway mappings > Should map AWS::ApiGatewayV2::Route

✅ src/tests/mappings/appsync.spec.ts

src/__tests__/mappings/appsync.spec.ts
  ✅ Appsync mappings > AWS::AppSync::GraphQLApi > Should translate API without schema
  ✅ Appsync mappings > AWS::AppSync::GraphQLApi > Should translate API with schema
  ✅ Appsync mappings > Should translate AWS::AppSync::ApiKey
  ✅ Appsync mappings > Should translate AWS::AppSync::DataSource
  ✅ Appsync mappings > Should translate AWS::AppSync::Resolver
  ✅ Appsync mappings > Should translate AWS::AppSync:FunctionConfiguration
  ✅ Appsync mappings > Should translate AWS::AppSync::DomainNameApiAssociation

✅ src/tests/mappings/certificate-manager.spec.ts

src/__tests__/mappings/certificate-manager.spec.ts
  ✅ CertificateManager mappings > should map AWS::CertificateManager::Certificate

✅ src/tests/mappings/cloudfront.spec.ts

src/__tests__/mappings/cloudfront.spec.ts
  ✅ CloudFront > Should map AWS::CloudFront::CloudFrontOriginAccessIdentity
  ✅ CloudFront > Should map AWS::CloudFront::Distribution
  ✅ CloudFront > Should map AWS::CloudFront::Distribution

✅ src/tests/mappings/cognito.spec.ts

src/__tests__/mappings/cognito.spec.ts
  ✅ Cognito mappings > Should map AWS::Cognito::UserPoolClient
  ✅ Cognito mappings > Should map AWS::Cognito::IdentityPoolRoleAttachment
  ✅ Cognito mappings > Should map AWS::Cognito::IdentityPool
  ✅ Cognito mappings > Should map AWS::Cognito::UserPool

✅ src/tests/mappings/dynamodb.spec.ts

src/__tests__/mappings/dynamodb.spec.ts
  ✅ DynamoDB mappings > Should map AWS::DynamoDB::Table

✅ src/tests/mappings/ec2-vpc.spec.ts

src/__tests__/mappings/ec2-vpc.spec.ts
  ✅ EC2 VPC mappings > Should provision all the components of a VPC
  ✅ EC2 VPC mappings > Should map AWS::EC2::InternetGateway
  ✅ EC2 VPC mappings > Should map AWS::EC2::SubnetRouteTableAssociation
  ✅ EC2 VPC mappings > Should map AWS::EC2::VPC
  ✅ EC2 VPC mappings > Should map AWS::EC2::Route
  ✅ EC2 VPC mappings > Should map AWS::EC2::SecurityGroup
  ✅ EC2 VPC mappings > Should map AWS::EC2::SecurityGroupEgress
  ✅ EC2 VPC mappings > Should map AWS::EC2::SecurityGroupIngress

✅ src/tests/mappings/eks.spec.ts

src/__tests__/mappings/eks.spec.ts
  ⚪ ECS mappings > Custom::AWSCDK-ECS-Cluster > should translate

✅ src/tests/mappings/events.spec.ts

src/__tests__/mappings/events.spec.ts
  ✅ Events mappings > Should map AWS::Events::Rule

✅ src/tests/mappings/iam.spec.ts

src/__tests__/mappings/iam.spec.ts
  ✅ IAM Mappings > should map AWS::IAM::Role
  ✅ IAM Mappings > should map AWS::IAM::Policy
  ✅ IAM Mappings > Should map AWS::IAM::AccessKey

✅ src/tests/mappings/lambda.spec.ts

src/__tests__/mappings/lambda.spec.ts
  ✅ Lambda mappings > Should map AWS::Lambda::Permission
  ✅ Lambda mappings > Should map AWS::Lambda::LayerVersion
  ✅ Lambda mappings > Should map AWS::Lambda::LayerVersionPermission
  ✅ Lambda mappings > should map CfnFunction to LambdaFunction
  ✅ Lambda mappings > should map CfnFunction with inline zip file to LambdaFunction
  ✅ Lambda mappings > Should map AWS::Lambda::EventSourceMapping

✅ src/tests/mappings/logs.spec.ts

src/__tests__/mappings/logs.spec.ts
  ✅ Logs mappings > Should map AWS::Logs::LogGroup
  ✅ Logs mappings > Should map AWS::Logs::ResourcePolicy

✅ src/tests/mappings/rds.spec.ts

src/__tests__/mappings/rds.spec.ts
  ⚪ RDS mappings > AWS::RDS::DBCluster > Should map AWS::RDS::DBCluster

✅ src/tests/mappings/route53.spec.ts

src/__tests__/mappings/route53.spec.ts
  ✅ Route53 mappings > Should map AWS::Route53::RecordSet

✅ src/tests/mappings/s3.spec.ts

src/__tests__/mappings/s3.spec.ts
  ✅ S3 mappings > Should map AWS::S3::BucketPolicy

✅ src/tests/mappings/sns.spec.ts

src/__tests__/mappings/sns.spec.ts
  ✅ SNS mappings > AWS:SNS:Subscription > should translate
  ✅ SNS mappings > AWS:SNS:Topic > Should translate

✅ src/tests/mappings/sqs.spec.ts

src/__tests__/mappings/sqs.spec.ts
  ✅ SQS mappings > AWS:SQS:QueuePolicy > should translate to single SqsQueuePolicy
  ✅ SQS mappings > AWS:SQS:QueuePolicy > should translate to multiple SqsQueuePolicy

✅ src/tests/mappings/stepfunctions.spec.ts

src/__tests__/mappings/stepfunctions.spec.ts
  ✅ Step Functions mappings > AWS:StepFunctions:StateMachine > Should translate with String definition
  ✅ Step Functions mappings > AWS:StepFunctions:StateMachine > Should translate with S3 definition
  ✅ Step Functions mappings > AWS:StepFunctions:StateMachine > Should translate with Object definition
  ✅ Step Functions mappings > AWS:StepFunctions:StateMachine > Should translate with definition substitutions