@aws-solutions-constructs/core 2.5.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +156 -8
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +3 -1
- package/lib/alb-defaults.d.ts +1 -0
- package/lib/alb-defaults.d.ts.map +1 -0
- package/lib/alb-helper.d.ts +1 -0
- package/lib/alb-helper.d.ts.map +1 -0
- package/lib/apigateway-defaults.d.ts +1 -0
- package/lib/apigateway-defaults.d.ts.map +1 -0
- package/lib/apigateway-helper.d.ts +1 -0
- package/lib/apigateway-helper.d.ts.map +1 -0
- package/lib/cloudfront-distribution-defaults.d.ts +1 -0
- package/lib/cloudfront-distribution-defaults.d.ts.map +1 -0
- package/lib/cloudfront-distribution-helper.d.ts +1 -0
- package/lib/cloudfront-distribution-helper.d.ts.map +1 -0
- package/lib/cloudwatch-log-group-defaults.d.ts +1 -0
- package/lib/cloudwatch-log-group-defaults.d.ts.map +1 -0
- package/lib/cloudwatch-log-group-helper.d.ts +1 -0
- package/lib/cloudwatch-log-group-helper.d.ts.map +1 -0
- package/lib/cognito-defaults.d.ts +1 -0
- package/lib/cognito-defaults.d.ts.map +1 -0
- package/lib/cognito-helper.d.ts +1 -0
- package/lib/cognito-helper.d.ts.map +1 -0
- package/lib/dynamodb-table-defaults.d.ts +1 -0
- package/lib/dynamodb-table-defaults.d.ts.map +1 -0
- package/lib/dynamodb-table-helper.d.ts +10 -1
- package/lib/dynamodb-table-helper.d.ts.map +1 -0
- package/lib/dynamodb-table-helper.js +31 -7
- package/lib/elasticache-defaults.d.ts +22 -0
- package/lib/elasticache-defaults.d.ts.map +1 -0
- package/lib/elasticache-defaults.js +32 -0
- package/lib/elasticache-helper.d.ts +26 -0
- package/lib/elasticache-helper.d.ts.map +1 -0
- package/lib/elasticache-helper.js +70 -0
- package/lib/elasticsearch-defaults.d.ts +1 -0
- package/lib/elasticsearch-defaults.d.ts.map +1 -0
- package/lib/elasticsearch-helper.d.ts +1 -0
- package/lib/elasticsearch-helper.d.ts.map +1 -0
- package/lib/eventbridge-helper.d.ts +1 -0
- package/lib/eventbridge-helper.d.ts.map +1 -0
- package/lib/events-rule-defaults.d.ts +1 -0
- package/lib/events-rule-defaults.d.ts.map +1 -0
- package/lib/fargate-defaults.d.ts +1 -0
- package/lib/fargate-defaults.d.ts.map +1 -0
- package/lib/fargate-helper.d.ts +1 -0
- package/lib/fargate-helper.d.ts.map +1 -0
- package/lib/glue-database-defaults.d.ts +1 -0
- package/lib/glue-database-defaults.d.ts.map +1 -0
- package/lib/glue-database-helper.d.ts +1 -0
- package/lib/glue-database-helper.d.ts.map +1 -0
- package/lib/glue-job-defaults.d.ts +1 -0
- package/lib/glue-job-defaults.d.ts.map +1 -0
- package/lib/glue-job-helper.d.ts +1 -0
- package/lib/glue-job-helper.d.ts.map +1 -0
- package/lib/glue-table-defaults.d.ts +1 -0
- package/lib/glue-table-defaults.d.ts.map +1 -0
- package/lib/glue-table-helper.d.ts +1 -0
- package/lib/glue-table-helper.d.ts.map +1 -0
- package/lib/input-validation.d.ts +2 -0
- package/lib/input-validation.d.ts.map +1 -0
- package/lib/input-validation.js +10 -2
- package/lib/iot-topic-rule-defaults.d.ts +1 -0
- package/lib/iot-topic-rule-defaults.d.ts.map +1 -0
- package/lib/kinesis-analytics-defaults.d.ts +1 -0
- package/lib/kinesis-analytics-defaults.d.ts.map +1 -0
- package/lib/kinesis-analytics-helper.d.ts +1 -0
- package/lib/kinesis-analytics-helper.d.ts.map +1 -0
- package/lib/kinesis-firehose-s3-defaults.d.ts +1 -0
- package/lib/kinesis-firehose-s3-defaults.d.ts.map +1 -0
- package/lib/kinesis-streams-defaults.d.ts +1 -0
- package/lib/kinesis-streams-defaults.d.ts.map +1 -0
- package/lib/kinesis-streams-helper.d.ts +1 -0
- package/lib/kinesis-streams-helper.d.ts.map +1 -0
- package/lib/kinesis-streams-helper.js +2 -2
- package/lib/kms-defaults.d.ts +1 -0
- package/lib/kms-defaults.d.ts.map +1 -0
- package/lib/kms-helper.d.ts +1 -0
- package/lib/kms-helper.d.ts.map +1 -0
- package/lib/lambda-defaults.d.ts +1 -0
- package/lib/lambda-defaults.d.ts.map +1 -0
- package/lib/lambda-event-source-mapping-defaults.d.ts +1 -0
- package/lib/lambda-event-source-mapping-defaults.d.ts.map +1 -0
- package/lib/lambda-helper.d.ts +1 -0
- package/lib/lambda-helper.d.ts.map +1 -0
- package/lib/lambda-helper.js +11 -2
- package/lib/mediastore-defaults.d.ts +1 -0
- package/lib/mediastore-defaults.d.ts.map +1 -0
- package/lib/mediastore-helper.d.ts +1 -0
- package/lib/mediastore-helper.d.ts.map +1 -0
- package/lib/override-warning-service.d.ts +1 -0
- package/lib/override-warning-service.d.ts.map +1 -0
- package/lib/s3-bucket-defaults.d.ts +1 -0
- package/lib/s3-bucket-defaults.d.ts.map +1 -0
- package/lib/s3-bucket-helper.d.ts +1 -0
- package/lib/s3-bucket-helper.d.ts.map +1 -0
- package/lib/sagemaker-defaults.d.ts +1 -0
- package/lib/sagemaker-defaults.d.ts.map +1 -0
- package/lib/sagemaker-helper.d.ts +1 -0
- package/lib/sagemaker-helper.d.ts.map +1 -0
- package/lib/secretsmanager-defaults.d.ts +1 -0
- package/lib/secretsmanager-defaults.d.ts.map +1 -0
- package/lib/secretsmanager-helper.d.ts +1 -0
- package/lib/secretsmanager-helper.d.ts.map +1 -0
- package/lib/security-group-helper.d.ts +2 -0
- package/lib/security-group-helper.d.ts.map +1 -0
- package/lib/security-group-helper.js +29 -2
- package/lib/sns-defaults.d.ts +1 -0
- package/lib/sns-defaults.d.ts.map +1 -0
- package/lib/sns-helper.d.ts +1 -0
- package/lib/sns-helper.d.ts.map +1 -0
- package/lib/sqs-defaults.d.ts +1 -0
- package/lib/sqs-defaults.d.ts.map +1 -0
- package/lib/sqs-helper.d.ts +1 -0
- package/lib/sqs-helper.d.ts.map +1 -0
- package/lib/ssm-string-parameter-helper.d.ts +1 -0
- package/lib/ssm-string-parameter-helper.d.ts.map +1 -0
- package/lib/step-function-defaults.d.ts +1 -0
- package/lib/step-function-defaults.d.ts.map +1 -0
- package/lib/step-function-helper.d.ts +1 -0
- package/lib/step-function-helper.d.ts.map +1 -0
- package/lib/utils.d.ts +2 -1
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +4 -4
- package/lib/vpc-defaults.d.ts +1 -0
- package/lib/vpc-defaults.d.ts.map +1 -0
- package/lib/vpc-helper.d.ts +1 -0
- package/lib/vpc-helper.d.ts.map +1 -0
- package/lib/vpc-helper.js +56 -40
- package/lib/waf-defaults.d.ts +1 -0
- package/lib/waf-defaults.d.ts.map +1 -0
- package/lib/waf-helper.d.ts +1 -0
- package/lib/waf-helper.d.ts.map +1 -0
- package/package.json +5 -4
- package/test/alb-helper.test.d.ts +1 -0
- package/test/alb-helper.test.d.ts.map +1 -0
- package/test/apigateway-helper.test.d.ts +1 -0
- package/test/apigateway-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-api-gateway-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-api-gateway-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-mediastore-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-mediastore-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-s3-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-s3-helper.test.d.ts.map +1 -0
- package/test/cloudwatch-log-group-helper.test.d.ts +1 -0
- package/test/cloudwatch-log-group-helper.test.d.ts.map +1 -0
- package/test/congnito-helper.test.d.ts +1 -0
- package/test/congnito-helper.test.d.ts.map +1 -0
- package/test/dynamo-table.test.d.ts +1 -0
- package/test/dynamo-table.test.d.ts.map +1 -0
- package/test/dynamo-table.test.js +85 -1
- package/test/elasticache-defaults.test.d.ts +14 -0
- package/test/elasticache-defaults.test.d.ts.map +1 -0
- package/test/elasticache-defaults.test.js +32 -0
- package/test/elasticache-helper.test.d.ts +14 -0
- package/test/elasticache-helper.test.d.ts.map +1 -0
- package/test/elasticache-helper.test.js +92 -0
- package/test/elasticsearch-helper.test.d.ts +1 -0
- package/test/elasticsearch-helper.test.d.ts.map +1 -0
- package/test/eventbridge-helper.test.d.ts +1 -0
- package/test/eventbridge-helper.test.d.ts.map +1 -0
- package/test/events-rule.test.d.ts +1 -0
- package/test/events-rule.test.d.ts.map +1 -0
- package/test/fargate-helper.test.d.ts +1 -0
- package/test/fargate-helper.test.d.ts.map +1 -0
- package/test/glue-job-helper.test.d.ts +1 -0
- package/test/glue-job-helper.test.d.ts.map +1 -0
- package/test/glue-table-helper.test.d.ts +1 -0
- package/test/glue-table-helper.test.d.ts.map +1 -0
- package/test/input-validation.test.d.ts +1 -0
- package/test/input-validation.test.d.ts.map +1 -0
- package/test/input-validation.test.js +10 -9
- package/test/iot-rule.test.d.ts +1 -0
- package/test/iot-rule.test.d.ts.map +1 -0
- package/test/kinesis-analytics.test.d.ts +2 -1
- package/test/kinesis-analytics.test.d.ts.map +1 -0
- package/test/kinesis-analytics.test.js +114 -14
- package/test/kinesis-firehose-s3-defaults.test.d.ts +1 -0
- package/test/kinesis-firehose-s3-defaults.test.d.ts.map +1 -0
- package/test/kinesis-streams-defaults.test.d.ts +1 -0
- package/test/kinesis-streams-defaults.test.d.ts.map +1 -0
- package/test/kinesis-streams-helper.test.d.ts +1 -0
- package/test/kinesis-streams-helper.test.d.ts.map +1 -0
- package/test/kms-helper.test.d.ts +1 -0
- package/test/kms-helper.test.d.ts.map +1 -0
- package/test/lambda-event-source.test.d.ts +1 -0
- package/test/lambda-event-source.test.d.ts.map +1 -0
- package/test/lambda-helper.test.d.ts +1 -0
- package/test/lambda-helper.test.d.ts.map +1 -0
- package/test/mediastore-helper.test.d.ts +1 -0
- package/test/mediastore-helper.test.d.ts.map +1 -0
- package/test/override-warning-service.test.d.ts +1 -0
- package/test/override-warning-service.test.d.ts.map +1 -0
- package/test/s3-bucket-helper.test.d.ts +1 -0
- package/test/s3-bucket-helper.test.d.ts.map +1 -0
- package/test/s3-bucket.test.d.ts +1 -0
- package/test/s3-bucket.test.d.ts.map +1 -0
- package/test/sagemaker-helper.test.d.ts +1 -0
- package/test/sagemaker-helper.test.d.ts.map +1 -0
- package/test/secretsmanager-helper.test.d.ts +1 -0
- package/test/secretsmanager-helper.test.d.ts.map +1 -0
- package/test/security-group-helper.test.d.ts +1 -0
- package/test/security-group-helper.test.d.ts.map +1 -0
- package/test/security-group-helper.test.js +26 -1
- package/test/sns-helper.test.d.ts +1 -0
- package/test/sns-helper.test.d.ts.map +1 -0
- package/test/sqs-helper.test.d.ts +1 -0
- package/test/sqs-helper.test.d.ts.map +1 -0
- package/test/sqs-helper.test.js +99 -1
- package/test/ssm-string-parameter-helper.test.d.ts +1 -0
- package/test/ssm-string-parameter-helper.test.d.ts.map +1 -0
- package/test/step-function-helper.test.d.ts +1 -0
- package/test/step-function-helper.test.d.ts.map +1 -0
- package/test/test-helper.d.ts +5 -1
- package/test/test-helper.d.ts.map +1 -0
- package/test/test-helper.js +32 -2
- package/test/utils.test.d.ts +1 -0
- package/test/utils.test.d.ts.map +1 -0
- package/test/vpc-helper.test.d.ts +1 -0
- package/test/vpc-helper.test.d.ts.map +1 -0
- package/test/waf-helper.test.d.ts +1 -0
- package/test/waf-helper.test.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-event-source.test.d.ts","sourceRoot":"","sources":["lambda-event-source.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-helper.test.d.ts","sourceRoot":"","sources":["lambda-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediastore-helper.test.d.ts","sourceRoot":"","sources":["mediastore-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"override-warning-service.test.d.ts","sourceRoot":"","sources":["override-warning-service.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-bucket-helper.test.d.ts","sourceRoot":"","sources":["s3-bucket-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,sBAAsB,CAAC"}
|
package/test/s3-bucket.test.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-bucket.test.d.ts","sourceRoot":"","sources":["s3-bucket.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sagemaker-helper.test.d.ts","sourceRoot":"","sources":["sagemaker-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsmanager-helper.test.d.ts","sourceRoot":"","sources":["secretsmanager-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-group-helper.test.d.ts","sourceRoot":"","sources":["security-group-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,sBAAsB,CAAC"}
|
|
@@ -90,4 +90,29 @@ test("Test deployment with egress rule", () => {
|
|
|
90
90
|
],
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
-
|
|
93
|
+
test("Test self referencing security group", () => {
|
|
94
|
+
const testPort = 33333;
|
|
95
|
+
// Stack
|
|
96
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
97
|
+
const vpc = new ec2.Vpc(stack, "test-vpc", {});
|
|
98
|
+
// Helper declaration
|
|
99
|
+
defaults.CreateSelfReferencingSecurityGroup(stack, "testsg", vpc, testPort);
|
|
100
|
+
expect(stack).toHaveResourceLike("AWS::EC2::SecurityGroupIngress", {
|
|
101
|
+
IpProtocol: "TCP",
|
|
102
|
+
FromPort: testPort,
|
|
103
|
+
ToPort: testPort,
|
|
104
|
+
GroupId: {
|
|
105
|
+
"Fn::GetAtt": [
|
|
106
|
+
"testsgcachesg72A723EA",
|
|
107
|
+
"GroupId"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
SourceSecurityGroupId: {
|
|
111
|
+
"Fn::GetAtt": [
|
|
112
|
+
"testsgcachesg72A723EA",
|
|
113
|
+
"GroupId"
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktZ3JvdXAtaGVscGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzZWN1cml0eS1ncm91cC1oZWxwZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsNkNBQW9DO0FBQ3BDLGdDQUFnQztBQUNoQyxnQ0FBOEI7QUFDOUIsMkNBQTJDO0FBRTNDLGlFQUFpRTtBQUNqRSw2Q0FBNkM7QUFDN0MsaUVBQWlFO0FBQ2pFLElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxHQUFHLEVBQUU7SUFDdEQsUUFBUTtJQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBRTFCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLHFCQUFxQjtJQUNyQixRQUFRLENBQUMsa0JBQWtCLENBQ3pCLEtBQUssRUFDTCxlQUFlLEVBQ2Y7UUFDRSxHQUFHO1FBQ0gsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixFQUNELEVBQUUsRUFDRixFQUFFLENBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMseUJBQXlCLEVBQUU7UUFDdEQsbUJBQW1CLEVBQUU7WUFDbkI7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELFVBQVUsRUFBRSxJQUFJO2FBQ2pCO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7SUFDOUMsUUFBUTtJQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBRTFCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FB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QUU7WUFDUCxZQUFZLEVBQUU7Z0JBQ1osdUJBQXVCO2dCQUN2QixTQUFTO2FBQ1Y7U0FDRjtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLFlBQVksRUFBRTtnQkFDWix1QkFBdUI7Z0JBQ3ZCLFNBQVM7YUFDVjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBRUwsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tIFwiLi4vXCI7XG5pbXBvcnQgXCJAYXdzLWNkay9hc3NlcnQvamVzdFwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUZXN0IG1pbmltYWwgZGVwbG95bWVudCB3aXRoIG5vIHByb3BlcnRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBtaW5pbWFsIGRlcGxveW1lbnQgd2l0aCBubyBwcm9wZXJ0aWVzXCIsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB2cGMgPSBuZXcgZWMyLlZwYyhzdGFjaywgXCJ0ZXN0LXZwY1wiLCB7fSk7XG5cbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLmJ1aWxkU2VjdXJpdHlHcm91cChcbiAgICBzdGFjayxcbiAgICBcInByaW1hcnktcXVldWVcIixcbiAgICB7XG4gICAgICB2cGMsXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0sXG4gICAgW10sXG4gICAgW11cbiAgKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIiwge1xuICAgIFNlY3VyaXR5R3JvdXBFZ3Jlc3M6IFtcbiAgICAgIHtcbiAgICAgICAgQ2lkcklwOiBcIjAuMC4wLjAvMFwiLFxuICAgICAgICBEZXNjcmlwdGlvbjogXCJBbGxvdyBhbGwgb3V0Ym91bmQgdHJhZmZpYyBieSBkZWZhdWx0XCIsXG4gICAgICAgIElwUHJvdG9jb2w6IFwiLTFcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSk7XG59KTtcblxudGVzdChcIlRlc3QgZGVwbG95bWVudCB3aXRoIGluZ3Jlc3MgcnVsZXNcIiwgKCkgPT4ge1xuICAvLyBTdGFja1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IHZwYyA9IG5ldyBlYzIuVnBjKHN0YWNrLCBcInRlc3QtdnBjXCIsIHt9KTtcblxuICAvLyBIZWxwZXIgZGVjbGFyYXRpb25cbiAgZGVmYXVsdHMuYnVpbGRTZWN1cml0eUdyb3VwKFxuICAgIHN0YWNrLFxuICAgIFwicHJpbWFyeS1xdWV1ZVwiLFxuICAgIHtcbiAgICAgIHZwYyxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSxcbiAgICBbeyBwZWVyOiBlYzIuUGVlci5pcHY0KFwiMS4xLjEuMS8xNlwiKSwgY29ubmVjdGlvbjogZWMyLlBvcnQudGNwKDEwMCkgfV0sXG4gICAgW11cbiAgKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIiwge1xuICAgIFNlY3VyaXR5R3JvdXBJbmdyZXNzOiBbXG4gICAgICB7XG4gICAgICAgIENpZHJJcDogXCIxLjEuMS4xLzE2XCIsXG4gICAgICAgIERlc2NyaXB0aW9uOiBcImZyb20gMS4xLjEuMS8xNjoxMDBcIixcbiAgICAgICAgRnJvbVBvcnQ6IDEwMCxcbiAgICAgICAgSXBQcm90b2NvbDogXCJ0Y3BcIixcbiAgICAgICAgVG9Qb3J0OiAxMDAsXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xufSk7XG5cbnRlc3QoXCJUZXN0IGRlcGxveW1lbnQgd2l0aCBlZ3Jlc3MgcnVsZVwiLCAoKSA9PiB7XG4gIC8vIFN0YWNrXG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgdnBjID0gbmV3IGVjMi5WcGMoc3RhY2ssIFwidGVzdC12cGNcIiwge30pO1xuXG4gIC8vIEhlbHBlciBkZWNsYXJhdGlvblxuICBkZWZhdWx0cy5idWlsZFNlY3VyaXR5R3JvdXAoXG4gICAgc3RhY2ssXG4gICAgXCJwcmltYXJ5LXF1ZXVlXCIsXG4gICAge1xuICAgICAgdnBjLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgfSxcbiAgICBbXSxcbiAgICBbXG4gICAgICB7IHBlZXI6IGVjMi5QZWVyLmlwdjQoXCIxLjEuMS4xLzE2XCIpLCBjb25uZWN0aW9uOiBlYzIuUG9ydC50Y3AoMTAwKSB9LFxuICAgICAgeyBwZWVyOiBlYzIuUGVlci5pcHY0KFwiMi4yLjIuMi8yNFwiKSwgY29ubmVjdGlvbjogZWMyLlBvcnQudGNwKDIwMCkgfSxcbiAgICBdXG4gICk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6RUMyOjpTZWN1cml0eUdyb3VwXCIsIHtcbiAgICBTZWN1cml0eUdyb3VwRWdyZXNzOiBbXG4gICAgICB7XG4gICAgICAgIENpZHJJcDogXCIxLjEuMS4xLzE2XCIsXG4gICAgICAgIERlc2NyaXB0aW9uOiBcImZyb20gMS4xLjEuMS8xNjoxMDBcIixcbiAgICAgICAgRnJvbVBvcnQ6IDEwMCxcbiAgICAgICAgSXBQcm90b2NvbDogXCJ0Y3BcIixcbiAgICAgICAgVG9Qb3J0OiAxMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBDaWRySXA6IFwiMi4yLjIuMi8yNFwiLFxuICAgICAgICBEZXNjcmlwdGlvbjogXCJmcm9tIDIuMi4yLjIvMjQ6MjAwXCIsXG4gICAgICAgIEZyb21Qb3J0OiAyMDAsXG4gICAgICAgIElwUHJvdG9jb2w6IFwidGNwXCIsXG4gICAgICAgIFRvUG9ydDogMjAwLFxuICAgICAgfSxcbiAgICBdLFxuICB9KTtcbn0pO1xuXG50ZXN0KFwiVGVzdCBzZWxmIHJlZmVyZW5jaW5nIHNlY3VyaXR5IGdyb3VwXCIsICgpID0+IHtcbiAgY29uc3QgdGVzdFBvcnQgPSAzMzMzMztcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBjb25zdCB2cGMgPSBuZXcgZWMyLlZwYyhzdGFjaywgXCJ0ZXN0LXZwY1wiLCB7fSk7XG5cbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLkNyZWF0ZVNlbGZSZWZlcmVuY2luZ1NlY3VyaXR5R3JvdXAoXG4gICAgc3RhY2ssXG4gICAgXCJ0ZXN0c2dcIixcbiAgICB2cGMsXG4gICAgdGVzdFBvcnQsXG4gICk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cEluZ3Jlc3NcIiwge1xuICAgIElwUHJvdG9jb2w6IFwiVENQXCIsXG4gICAgRnJvbVBvcnQ6IHRlc3RQb3J0LFxuICAgIFRvUG9ydDogdGVzdFBvcnQsXG4gICAgR3JvdXBJZDoge1xuICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgXCJ0ZXN0c2djYWNoZXNnNzJBNzIzRUFcIixcbiAgICAgICAgXCJHcm91cElkXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFNvdXJjZVNlY3VyaXR5R3JvdXBJZDoge1xuICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgXCJ0ZXN0c2djYWNoZXNnNzJBNzIzRUFcIixcbiAgICAgICAgXCJHcm91cElkXCJcbiAgICAgIF1cbiAgICB9LFxuICB9KTtcblxufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sns-helper.test.d.ts","sourceRoot":"","sources":["sns-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqs-helper.test.d.ts","sourceRoot":"","sources":["sqs-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
package/test/sqs-helper.test.js
CHANGED
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
// Imports
|
|
16
16
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const sqs = require("aws-cdk-lib/aws-sqs");
|
|
17
18
|
const defaults = require("../");
|
|
18
19
|
require("@aws-cdk/assert/jest");
|
|
20
|
+
const sqs_helper_1 = require("../lib/sqs-helper");
|
|
19
21
|
// --------------------------------------------------------------
|
|
20
22
|
// Test deployment w/ imported encryption key
|
|
21
23
|
// --------------------------------------------------------------
|
|
@@ -54,4 +56,100 @@ test('Test deployment without imported encryption key', () => {
|
|
|
54
56
|
KmsMasterKeyId: "alias/aws/sqs"
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
|
-
|
|
59
|
+
// --------------------------------------------------------------
|
|
60
|
+
// Test deployment w/ construct created encryption key
|
|
61
|
+
// --------------------------------------------------------------
|
|
62
|
+
test('Test deployment w/ construct created encryption key', () => {
|
|
63
|
+
// Stack
|
|
64
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
65
|
+
// Helper declaration
|
|
66
|
+
const [queue, key] = defaults.buildQueue(stack, 'existing-queue', {
|
|
67
|
+
queueProps: {
|
|
68
|
+
queueName: 'existing-queue'
|
|
69
|
+
},
|
|
70
|
+
enableEncryptionWithCustomerManagedKey: true,
|
|
71
|
+
});
|
|
72
|
+
expect(stack).toHaveResource("AWS::SQS::Queue", {
|
|
73
|
+
QueueName: "existing-queue"
|
|
74
|
+
});
|
|
75
|
+
expect(stack).toHaveResource("AWS::KMS::Key", {
|
|
76
|
+
EnableKeyRotation: true
|
|
77
|
+
});
|
|
78
|
+
expect(queue).toBeDefined();
|
|
79
|
+
expect(key).toBeDefined();
|
|
80
|
+
});
|
|
81
|
+
test('Test DLQ when existing Queue Provided', () => {
|
|
82
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
83
|
+
const existingQueue = new sqs.Queue(stack, 'test-queue');
|
|
84
|
+
const buildDlqProps = {
|
|
85
|
+
existingQueueObj: existingQueue,
|
|
86
|
+
};
|
|
87
|
+
const returnedQueueu = defaults.buildDeadLetterQueue(stack, buildDlqProps);
|
|
88
|
+
expect(returnedQueueu).toBeUndefined();
|
|
89
|
+
expect(stack).toCountResources("AWS::SQS::Queue", 1);
|
|
90
|
+
});
|
|
91
|
+
test('Test DLQ with all defaults', () => {
|
|
92
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
93
|
+
sqs_helper_1.buildDeadLetterQueue(stack, {});
|
|
94
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
95
|
+
KmsMasterKeyId: "alias/aws/sqs"
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
test("Test DLQ with a provided properties", () => {
|
|
99
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
100
|
+
const testQueueName = "test-unique252";
|
|
101
|
+
const returnedQueue = sqs_helper_1.buildDeadLetterQueue(stack, {
|
|
102
|
+
deadLetterQueueProps: {
|
|
103
|
+
queueName: testQueueName,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
107
|
+
QueueName: testQueueName,
|
|
108
|
+
});
|
|
109
|
+
expect(returnedQueue).toBeDefined();
|
|
110
|
+
});
|
|
111
|
+
test('Test DLQ with a provided maxReceiveCount', () => {
|
|
112
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
113
|
+
const testMaxReceiveCount = 31;
|
|
114
|
+
const dlqInterface = sqs_helper_1.buildDeadLetterQueue(stack, {
|
|
115
|
+
maxReceiveCount: testMaxReceiveCount
|
|
116
|
+
});
|
|
117
|
+
expect(dlqInterface === null || dlqInterface === void 0 ? void 0 : dlqInterface.maxReceiveCount).toEqual(testMaxReceiveCount);
|
|
118
|
+
});
|
|
119
|
+
test('Test returning an existing Queue', () => {
|
|
120
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
121
|
+
const testQueueName = 'existing-queue';
|
|
122
|
+
const existingQueue = new sqs.Queue(stack, 'test-queue', {
|
|
123
|
+
queueName: testQueueName
|
|
124
|
+
});
|
|
125
|
+
const [returnedQueue] = defaults.buildQueue(stack, 'newQueue', {
|
|
126
|
+
existingQueueObj: existingQueue
|
|
127
|
+
});
|
|
128
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
129
|
+
QueueName: testQueueName,
|
|
130
|
+
});
|
|
131
|
+
expect(existingQueue.queueName).toEqual(returnedQueue.queueName);
|
|
132
|
+
});
|
|
133
|
+
test('Test creating a queue with a DLQ', () => {
|
|
134
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
135
|
+
const dlqInterface = sqs_helper_1.buildDeadLetterQueue(stack, {});
|
|
136
|
+
const [newQueue] = sqs_helper_1.buildQueue(stack, 'new-queue', {
|
|
137
|
+
deadLetterQueue: dlqInterface
|
|
138
|
+
});
|
|
139
|
+
expect(stack).toCountResources("AWS::SQS::Queue", 2);
|
|
140
|
+
expect(newQueue).toBeDefined();
|
|
141
|
+
expect(newQueue.deadLetterQueue).toBeDefined();
|
|
142
|
+
});
|
|
143
|
+
test('Test creating a FIFO queue', () => {
|
|
144
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
145
|
+
const [newFifoQueue] = sqs_helper_1.buildQueue(stack, 'new-queue', {
|
|
146
|
+
queueProps: {
|
|
147
|
+
fifo: true
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
151
|
+
FifoQueue: true
|
|
152
|
+
});
|
|
153
|
+
expect(newFifoQueue.fifo).toBe(true);
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWhlbHBlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3FzLWhlbHBlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQW9DO0FBQ3BDLDJDQUEyQztBQUMzQyxnQ0FBZ0M7QUFDaEMsZ0NBQThCO0FBQzlCLGtEQUFxRTtBQUVyRSxpRUFBaUU7QUFDakUsNkNBQTZDO0FBQzdDLGlFQUFpRTtBQUNqRSxJQUFJLENBQUMsNENBQTRDLEVBQUUsR0FBRyxFQUFFO0lBQ3RELFFBQVE7SUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUMxQixxQkFBcUI7SUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7UUFDM0MsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELHNDQUFzQyxFQUFFLElBQUk7UUFDNUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTtRQUM5QyxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFO1FBQzVDLGlCQUFpQixFQUFFLElBQUk7S0FDeEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxpRUFBaUU7QUFDakUsa0RBQWtEO0FBQ2xELGlFQUFpRTtBQUNqRSxJQUFJLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFO0lBQzNELFFBQVE7SUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUMxQixxQkFBcUI7SUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFL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bUJBQUssRUFBRSxDQUFDO0lBRTFCLE1BQU0sWUFBWSxHQUFHLGlDQUFvQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVyRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsdUJBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQ2hELGVBQWUsRUFBRSxZQUFZO0tBQzlCLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxFQUFFLENBQUM7SUFFMUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLHVCQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtRQUNwRCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsSUFBSTtTQUNYO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFO1FBQ2xELFNBQVMsRUFBRSxJQUFJO0tBQ2hCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnLi4vJztcbmltcG9ydCAnQGF3cy1jZGsvYXNzZXJ0L2plc3QnO1xuaW1wb3J0IHsgYnVpbGREZWFkTGV0dGVyUXVldWUsIGJ1aWxkUXVldWUgfSBmcm9tIFwiLi4vbGliL3Nxcy1oZWxwZXJcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRlc3QgZGVwbG95bWVudCB3LyBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ1Rlc3QgZGVwbG95bWVudCB3LyBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleScsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICdleGlzdGluZy1xdWV1ZScsIHtcbiAgICBxdWV1ZVByb3BzOiB7XG4gICAgICBxdWV1ZU5hbWU6ICdleGlzdGluZy1xdWV1ZSdcbiAgICB9LFxuICAgIGVuYWJsZUVuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5OiB0cnVlLFxuICAgIGVuY3J5cHRpb25LZXk6IGRlZmF1bHRzLmJ1aWxkRW5jcnlwdGlvbktleShzdGFjaylcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6U1FTOjpRdWV1ZVwiLCB7XG4gICAgUXVldWVOYW1lOiBcImV4aXN0aW5nLXF1ZXVlXCJcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OktNUzo6S2V5XCIsIHtcbiAgICBFbmFibGVLZXlSb3RhdGlvbjogdHJ1ZVxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGVzdCBkZXBsb3ltZW50IHdpdGhvdXQgaW1wb3J0ZWQgZW5jcnlwdGlvbiBrZXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KCdUZXN0IGRlcGxveW1lbnQgd2l0aG91dCBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleScsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICdleGlzdGluZy1xdWV1ZScsIHtcbiAgICBxdWV1ZVByb3BzOiB7XG4gICAgICBxdWV1ZU5hbWU6ICdleGlzdGluZy1xdWV1ZSdcbiAgICB9XG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogXCJleGlzdGluZy1xdWV1ZVwiLFxuICAgIEttc01hc3RlcktleUlkOiBcImFsaWFzL2F3cy9zcXNcIlxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGVzdCBkZXBsb3ltZW50IHcvIGNvbnN0cnVjdCBjcmVhdGVkIGVuY3J5cHRpb24ga2V5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdCgnVGVzdCBkZXBsb3ltZW50IHcvIGNvbnN0cnVjdCBjcmVhdGVkIGVuY3J5cHRpb24ga2V5JywgKCkgPT4ge1xuICAvLyBTdGFja1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAvLyBIZWxwZXIgZGVjbGFyYXRpb25cbiAgY29uc3QgW3F1ZXVlLCBrZXldID0gZGVmYXVsdHMuYnVpbGRRdWV1ZShzdGFjaywgJ2V4aXN0aW5nLXF1ZXVlJywge1xuICAgIHF1ZXVlUHJvcHM6IHtcbiAgICAgIHF1ZXVlTmFtZTogJ2V4aXN0aW5nLXF1ZXVlJ1xuICAgIH0sXG4gICAgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk6IHRydWUsXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogXCJleGlzdGluZy1xdWV1ZVwiXG4gIH0pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpLTVM6OktleVwiLCB7XG4gICAgRW5hYmxlS2V5Um90YXRpb246IHRydWVcbiAgfSk7XG4gIGV4cGVjdChxdWV1ZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGtleSkudG9CZURlZmluZWQoKTtcbn0pO1xuXG50ZXN0KCdUZXN0IERMUSB3aGVuIGV4aXN0aW5nIFF1ZXVlIFByb3ZpZGVkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IGV4aXN0aW5nUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHN0YWNrLCAndGVzdC1xdWV1ZScpO1xuICBjb25zdCBidWlsZERscVByb3BzOiBkZWZhdWx0cy5CdWlsZERlYWRMZXR0ZXJRdWV1ZVByb3BzID0ge1xuICAgIGV4aXN0aW5nUXVldWVPYmo6IGV4aXN0aW5nUXVldWUsXG4gIH07XG5cbiAgY29uc3QgcmV0dXJuZWRRdWV1ZXUgPSBkZWZhdWx0cy5idWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywgYnVpbGREbHFQcm9wcyk7XG5cbiAgZXhwZWN0KHJldHVybmVkUXVldWV1KS50b0JlVW5kZWZpbmVkKCk7XG4gIGV4cGVjdChzdGFjaykudG9Db3VudFJlc291cmNlcyhcIkFXUzo6U1FTOjpRdWV1ZVwiLCAxKTtcbn0pO1xuXG50ZXN0KCdUZXN0IERMUSB3aXRoIGFsbCBkZWZhdWx0cycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBidWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywge30pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlTGlrZShcIkFXUzo6U1FTOjpRdWV1ZVwiLCB7XG4gICAgS21zTWFzdGVyS2V5SWQ6IFwiYWxpYXMvYXdzL3Nxc1wiXG4gIH0pO1xufSk7XG5cbnRlc3QoXCJUZXN0IERMUSB3aXRoIGEgcHJvdmlkZWQgcHJvcGVydGllc1wiLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHRlc3RRdWV1ZU5hbWUgPSBcInRlc3QtdW5pcXVlMjUyXCI7XG5cbiAgY29uc3QgcmV0dXJuZWRRdWV1ZSA9IGJ1aWxkRGVhZExldHRlclF1ZXVlKHN0YWNrLCB7XG4gICAgZGVhZExldHRlclF1ZXVlUHJvcHM6IHtcbiAgICAgIHF1ZXVlTmFtZTogdGVzdFF1ZXVlTmFtZSxcbiAgICB9LFxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogdGVzdFF1ZXVlTmFtZSxcbiAgfSk7XG4gIGV4cGVjdChyZXR1cm5lZFF1ZXVlKS50b0JlRGVmaW5lZCgpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgRExRIHdpdGggYSBwcm92aWRlZCBtYXhSZWNlaXZlQ291bnQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHRlc3RNYXhSZWNlaXZlQ291bnQgPSAzMTtcblxuICBjb25zdCBkbHFJbnRlcmZhY2UgPSBidWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywge1xuICAgIG1heFJlY2VpdmVDb3VudDogdGVzdE1heFJlY2VpdmVDb3VudFxuICB9KTtcbiAgZXhwZWN0KGRscUludGVyZmFjZT8ubWF4UmVjZWl2ZUNvdW50KS50b0VxdWFsKHRlc3RNYXhSZWNlaXZlQ291bnQpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgcmV0dXJuaW5nIGFuIGV4aXN0aW5nIFF1ZXVlJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCB0ZXN0UXVldWVOYW1lID0gJ2V4aXN0aW5nLXF1ZXVlJztcblxuICBjb25zdCBleGlzdGluZ1F1ZXVlID0gbmV3IHNxcy5RdWV1ZShzdGFjaywgJ3Rlc3QtcXVldWUnLCB7XG4gICAgcXVldWVOYW1lOiB0ZXN0UXVldWVOYW1lXG4gIH0pO1xuXG4gIGNvbnN0IFtyZXR1cm5lZFF1ZXVlXSA9IGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICduZXdRdWV1ZScsIHtcbiAgICBleGlzdGluZ1F1ZXVlT2JqOiBleGlzdGluZ1F1ZXVlXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIHtcbiAgICBRdWV1ZU5hbWU6IHRlc3RRdWV1ZU5hbWUsXG4gIH0pO1xuICBleHBlY3QoZXhpc3RpbmdRdWV1ZS5xdWV1ZU5hbWUpLnRvRXF1YWwocmV0dXJuZWRRdWV1ZS5xdWV1ZU5hbWUpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgY3JlYXRpbmcgYSBxdWV1ZSB3aXRoIGEgRExRJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IGRscUludGVyZmFjZSA9IGJ1aWxkRGVhZExldHRlclF1ZXVlKHN0YWNrLCB7fSk7XG5cbiAgY29uc3QgW25ld1F1ZXVlXSA9IGJ1aWxkUXVldWUoc3RhY2ssICduZXctcXVldWUnLCB7XG4gICAgZGVhZExldHRlclF1ZXVlOiBkbHFJbnRlcmZhY2VcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0NvdW50UmVzb3VyY2VzKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIDIpO1xuICBleHBlY3QobmV3UXVldWUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChuZXdRdWV1ZS5kZWFkTGV0dGVyUXVldWUpLnRvQmVEZWZpbmVkKCk7XG59KTtcblxudGVzdCgnVGVzdCBjcmVhdGluZyBhIEZJRk8gcXVldWUnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgW25ld0ZpZm9RdWV1ZV0gPSBidWlsZFF1ZXVlKHN0YWNrLCAnbmV3LXF1ZXVlJywge1xuICAgIHF1ZXVlUHJvcHM6IHtcbiAgICAgIGZpZm86IHRydWVcbiAgICB9XG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIHtcbiAgICBGaWZvUXVldWU6IHRydWVcbiAgfSk7XG4gIGV4cGVjdChuZXdGaWZvUXVldWUuZmlmbykudG9CZSh0cnVlKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssm-string-parameter-helper.test.d.ts","sourceRoot":"","sources":["ssm-string-parameter-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-function-helper.test.d.ts","sourceRoot":"","sources":["step-function-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,sBAAsB,CAAC"}
|
package/test/test-helper.d.ts
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
import { Construct } from 'constructs';
|
|
14
14
|
import { Bucket, BucketProps } from "aws-cdk-lib/aws-s3";
|
|
15
15
|
import { Stack } from "aws-cdk-lib";
|
|
16
|
+
import * as cache from 'aws-cdk-lib/aws-elasticache';
|
|
17
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
16
18
|
import * as acm from 'aws-cdk-lib/aws-certificatemanager';
|
|
17
19
|
export declare const fakeEcrRepoArn = "arn:aws:ecr:us-east-1:123456789012:repository/fake-repo";
|
|
18
20
|
export declare function CreateScrapBucket(scope: Construct, props?: BucketProps | any): Bucket;
|
|
@@ -23,6 +25,8 @@ export declare function CreateScrapBucket(scope: Construct, props?: BucketProps
|
|
|
23
25
|
* e.g. 'integ.apigateway-dynamodb-CRUD.js' will return 'apigateway-dynamodb-CRUD'
|
|
24
26
|
*/
|
|
25
27
|
export declare function generateIntegStackName(filename: string): string;
|
|
26
|
-
export declare function getTestVpc(stack: Stack, publicFacing?: boolean):
|
|
28
|
+
export declare function getTestVpc(stack: Stack, publicFacing?: boolean): ec2.IVpc;
|
|
27
29
|
export declare function getFakeCertificate(scope: Construct, id: string): acm.ICertificate;
|
|
28
30
|
export declare function suppressAutoDeleteHandlerWarnings(stack: Stack): void;
|
|
31
|
+
export declare function CreateTestCache(scope: Construct, id: string, vpc: ec2.IVpc, port?: number): cache.CfnCacheCluster;
|
|
32
|
+
//# sourceMappingURL=test-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helper.d.ts","sourceRoot":"","sources":["test-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAiB,KAAK,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,cAAc,4DAA4D,CAAC;AAGxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,GAAG,UAoC5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI/D;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,GAAE,OAAc,YAWpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,CAMjF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,KAAK,QAU7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,yBA+BzF"}
|
package/test/test-helper.js
CHANGED
|
@@ -12,14 +12,18 @@
|
|
|
12
12
|
* and limitations under the License.
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.suppressAutoDeleteHandlerWarnings = exports.getFakeCertificate = exports.getTestVpc = exports.generateIntegStackName = exports.CreateScrapBucket = exports.fakeEcrRepoArn = void 0;
|
|
15
|
+
exports.CreateTestCache = exports.suppressAutoDeleteHandlerWarnings = exports.getFakeCertificate = exports.getTestVpc = exports.generateIntegStackName = exports.CreateScrapBucket = exports.fakeEcrRepoArn = void 0;
|
|
16
16
|
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
17
17
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
18
18
|
const vpc_helper_1 = require("../lib/vpc-helper");
|
|
19
19
|
const vpc_defaults_1 = require("../lib/vpc-defaults");
|
|
20
20
|
const utils_1 = require("../lib/utils");
|
|
21
|
+
const elasticache_helper_1 = require("../lib/elasticache-helper");
|
|
21
22
|
const path = require("path");
|
|
23
|
+
const cache = require("aws-cdk-lib/aws-elasticache");
|
|
24
|
+
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
22
25
|
const acm = require("aws-cdk-lib/aws-certificatemanager");
|
|
26
|
+
const elasticache_defaults_1 = require("../lib/elasticache-defaults");
|
|
23
27
|
exports.fakeEcrRepoArn = 'arn:aws:ecr:us-east-1:123456789012:repository/fake-repo';
|
|
24
28
|
// Creates a bucket used for testing - minimal properties, destroyed after test
|
|
25
29
|
function CreateScrapBucket(scope, props) {
|
|
@@ -94,4 +98,30 @@ function suppressAutoDeleteHandlerWarnings(stack) {
|
|
|
94
98
|
});
|
|
95
99
|
}
|
|
96
100
|
exports.suppressAutoDeleteHandlerWarnings = suppressAutoDeleteHandlerWarnings;
|
|
97
|
-
|
|
101
|
+
function CreateTestCache(scope, id, vpc, port) {
|
|
102
|
+
const cachePort = port !== null && port !== void 0 ? port : elasticache_defaults_1.GetDefaultCachePort();
|
|
103
|
+
// Create the subnet group from all the isolated subnets in the VPC
|
|
104
|
+
const subnetGroup = elasticache_helper_1.createCacheSubnetGroup(scope, vpc, id);
|
|
105
|
+
const emptySG = new ec2.SecurityGroup(scope, `${id}-cachesg`, {
|
|
106
|
+
vpc,
|
|
107
|
+
allowAllOutbound: true,
|
|
108
|
+
});
|
|
109
|
+
utils_1.addCfnSuppressRules(emptySG, [{ id: "W40", reason: "Test Resource" }]);
|
|
110
|
+
utils_1.addCfnSuppressRules(emptySG, [{ id: "W5", reason: "Test Resource" }]);
|
|
111
|
+
utils_1.addCfnSuppressRules(emptySG, [{ id: "W36", reason: "Test Resource" }]);
|
|
112
|
+
const cacheProps = {
|
|
113
|
+
clusterName: `${id}-cdk-cluster`,
|
|
114
|
+
cacheNodeType: "cache.t3.medium",
|
|
115
|
+
engine: "memcached",
|
|
116
|
+
numCacheNodes: 2,
|
|
117
|
+
port: cachePort,
|
|
118
|
+
azMode: "cross-az",
|
|
119
|
+
vpcSecurityGroupIds: [emptySG.securityGroupId],
|
|
120
|
+
cacheSubnetGroupName: subnetGroup.cacheSubnetGroupName,
|
|
121
|
+
};
|
|
122
|
+
const newCache = new cache.CfnCacheCluster(scope, `${id}-cluster`, cacheProps);
|
|
123
|
+
newCache.addDependsOn(subnetGroup);
|
|
124
|
+
return newCache;
|
|
125
|
+
}
|
|
126
|
+
exports.CreateTestCache = CreateTestCache;
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUlILCtDQUEyRTtBQUMzRSw2Q0FBbUQ7QUFDbkQsa0RBQTZDO0FBQzdDLHNEQUE0RjtBQUM1Rix3Q0FBa0U7QUFDbEUsa0VBQW9FO0FBQ3BFLDZCQUE2QjtBQUM3QixxREFBcUQ7QUFDckQsMkNBQTJDO0FBQzNDLDBEQUEwRDtBQUUxRCxzRUFBa0U7QUFFckQsUUFBQSxjQUFjLEdBQUcseURBQXlELENBQUM7QUFFeEYsK0VBQStFO0FBQy9FLFNBQWdCLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsS0FBeUI7SUFDM0UsTUFBTSxZQUFZLEdBQUc7UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1FBQ3BDLFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO0tBQ3hDLENBQUM7SUFFRixJQUFJLGdCQUE2QixDQUFDO0lBQ2xDLElBQUksS0FBSyxFQUFFO1FBQ1QsZ0JBQWdCLEdBQUcscUJBQWEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDdkQ7U0FBTTtRQUNMLGdCQUFnQixHQUFHLFlBQVksQ0FBQztLQUNqQztJQUVELE1BQU0sWUFBWSxHQUFHLElBQUksZUFBTSxDQUM3QixLQUFLLEVBQ0wsd0JBQXdCLEVBQ3hCLGdCQUFnQixDQUNqQixDQUFDO0lBRUYsMkJBQW1CLENBQUMsWUFBWSxFQUFFO1FBQ2hDO1lBQ0UsRUFBRSxFQUFFLEtBQUs7WUFDVCxNQUFNLEVBQUUsaUlBQWlJO1NBQzFJO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsS0FBSztZQUNULE1BQU0sRUFBRSxpSUFBaUk7U0FDMUk7UUFDRDtZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLGtIQUFrSDtTQUMzSDtLQUNGLENBQUMsQ0FBQztJQUVILE9B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QUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLDJCQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLFdBQVcsRUFBRSxHQUFHLEVBQUUsY0FBYztRQUNoQyxhQUFhLEVBQUUsaUJBQWlCO1FBQ2hDLE1BQU0sRUFBRSxXQUFXO1FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLElBQUksRUFBRSxTQUFTO1FBQ2YsTUFBTSxFQUFFLFVBQVU7UUFDbEIsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQzlDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxvQkFBb0I7S0FDdkQsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDeEMsS0FBSyxFQUNMLEdBQUcsRUFBRSxVQUFVLEVBQ2YsVUFBVSxDQUNYLENBQUM7SUFDRixRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUEvQkQsMENBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEJ1Y2tldCwgQnVja2V0UHJvcHMsIEJ1Y2tldEVuY3J5cHRpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgYnVpbGRWcGMgfSBmcm9tICcuLi9saWIvdnBjLWhlbHBlcic7XG5pbXBvcnQgeyBEZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzLCBEZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcyB9IGZyb20gJy4uL2xpYi92cGMtZGVmYXVsdHMnO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcywgYWRkQ2ZuU3VwcHJlc3NSdWxlcyB9IGZyb20gXCIuLi9saWIvdXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZUNhY2hlU3VibmV0R3JvdXAgIH0gZnJvbSBcIi4uL2xpYi9lbGFzdGljYWNoZS1oZWxwZXJcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjYWNoZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2FjaGUnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInO1xuaW1wb3J0IHsgQ2ZuRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgR2V0RGVmYXVsdENhY2hlUG9ydCB9IGZyb20gXCIuLi9saWIvZWxhc3RpY2FjaGUtZGVmYXVsdHNcIjtcblxuZXhwb3J0IGNvbnN0IGZha2VFY3JSZXBvQXJuID0gJ2Fybjphd3M6ZWNyOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6cmVwb3NpdG9yeS9mYWtlLXJlcG8nO1xuXG4vLyBDcmVhdGVzIGEgYnVja2V0IHVzZWQgZm9yIHRlc3RpbmcgLSBtaW5pbWFsIHByb3BlcnRpZXMsIGRlc3Ryb3llZCBhZnRlciB0ZXN0XG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU2NyYXBCdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM/OiBCdWNrZXRQcm9wcyB8IGFueSkge1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gIH07XG5cbiAgbGV0IHN5bnRoZXNpemVkUHJvcHM6IEJ1Y2tldFByb3BzO1xuICBpZiAocHJvcHMpIHtcbiAgICBzeW50aGVzaXplZFByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0UHJvcHMsIHByb3BzKTtcbiAgfSBlbHNlIHtcbiAgICBzeW50aGVzaXplZFByb3BzID0gZGVmYXVsdFByb3BzO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0QnVja2V0ID0gbmV3IEJ1Y2tldChcbiAgICBzY29wZSxcbiAgICBcImV4aXN0aW5nU2NyaXB0TG9jYXRpb25cIixcbiAgICBzeW50aGVzaXplZFByb3BzXG4gICk7XG5cbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhzY3JpcHRCdWNrZXQsIFtcbiAgICB7XG4gICAgICBpZDogXCJXNTFcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0IGltcGxlbWVudGF0aW9uXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJXMzVcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0IGltcGxlbWVudGF0aW9uXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJXNDFcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIG5vdCBwYXJ0IG9mICAgICAgIHRoZSBhY3R1YWwgY29uc3RydWN0XCIsXG4gICAgfVxuICBdKTtcblxuICByZXR1cm4gc2NyaXB0QnVja2V0O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBzdGFjayBuYW1lIGZvciBJbnRlZ3JhdGlvbiB0ZXN0c1xuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbnRlZyB0ZXN0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIGEgc3RyaW5nIHdpdGggY3VycmVudCBmaWxlbmFtZSBhZnRlciByZW1vdmluZyBhbnl0aGluZyBiZWZvcmUgdGhlIHByZWZpeCAnLicgYW5kIHN1ZmZpeCAnLmpzJ1xuICogZS5nLiAnaW50ZWcuYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVELmpzJyB3aWxsIHJldHVybiAnYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVEJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZmlsZSA9IHBhdGguYmFzZW5hbWUoZmlsZW5hbWUsIHBhdGguZXh0bmFtZShmaWxlbmFtZSkpO1xuICBjb25zdCBzdGFja25hbWUgPSBmaWxlLnNsaWNlKGZpbGUubGFzdEluZGV4T2YoJy4nKSArIDEpLnJlcGxhY2UoL18vZywgJy0nKTtcbiAgcmV0dXJuIHN0YWNrbmFtZTtcbn1cblxuLy8gSGVscGVyIEZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RWcGMoc3RhY2s6IFN0YWNrLCBwdWJsaWNGYWNpbmc6IGJvb2xlYW4gPSB0cnVlKSB7XG4gIHJldHVybiBidWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogcHVibGljRmFjaW5nID9cbiAgICAgIERlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMoKSA6XG4gICAgICBEZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgY2lkcjogJzE3Mi4xNjguMC4wLzE2JyxcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZha2VDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogYWNtLklDZXJ0aWZpY2F0ZSB7XG4gIHJldHVybiBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIFwiYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTJcIlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzKHN0YWNrOiBTdGFjaykge1xuICBTdGFjay5vZihzdGFjaykubm9kZS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICBpZiAoY2hpbGQubm9kZS5pZCA9PT0gJ0N1c3RvbTo6UzNBdXRvRGVsZXRlT2JqZWN0c0N1c3RvbVJlc291cmNlUHJvdmlkZXInKSB7XG4gICAgICBjb25zdCBoYW5kbGVyRnVuY3Rpb24gPSBjaGlsZC5ub2RlLmZpbmRDaGlsZCgnSGFuZGxlcicpIGFzIENmbkZ1bmN0aW9uO1xuICAgICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhoYW5kbGVyRnVuY3Rpb24sIFt7IGlkOiBcIlc1OFwiLCByZWFzb246IFwiQ0RLIGdlbmVyYXRlZCBjdXN0b20gcmVzb3VyY2VcIn1dKTtcbiAgICAgIGFkZENmblN1cHByZXNzUnVsZXMoaGFuZGxlckZ1bmN0aW9uLCBbeyBpZDogXCJXODlcIiwgcmVhc29uOiBcIkNESyBnZW5lcmF0ZWQgY3VzdG9tIHJlc291cmNlXCJ9XSk7XG4gICAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGhhbmRsZXJGdW5jdGlvbiwgW3sgaWQ6IFwiVzkyXCIsIHJlYXNvbjogXCJDREsgZ2VuZXJhdGVkIGN1c3RvbSByZXNvdXJjZVwifV0pO1xuICAgIH1cbiAgfSk7XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVRlc3RDYWNoZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB2cGM6IGVjMi5JVnBjLCBwb3J0PzogbnVtYmVyKSB7XG4gIGNvbnN0IGNhY2hlUG9ydCA9IHBvcnQgPz8gR2V0RGVmYXVsdENhY2hlUG9ydCgpO1xuXG4gIC8vIENyZWF0ZSB0aGUgc3VibmV0IGdyb3VwIGZyb20gYWxsIHRoZSBpc29sYXRlZCBzdWJuZXRzIGluIHRoZSBWUENcbiAgY29uc3Qgc3VibmV0R3JvdXAgPSBjcmVhdGVDYWNoZVN1Ym5ldEdyb3VwKHNjb3BlLCB2cGMsIGlkKTtcbiAgY29uc3QgZW1wdHlTRyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cChzY29wZSwgYCR7aWR9LWNhY2hlc2dgLCB7XG4gICAgdnBjLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gIH0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVtcHR5U0csIFt7IGlkOiBcIlc0MFwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhlbXB0eVNHLCBbeyBpZDogXCJXNVwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhlbXB0eVNHLCBbeyBpZDogXCJXMzZcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgY29uc3QgY2FjaGVQcm9wcyA9IHtcbiAgICBjbHVzdGVyTmFtZTogYCR7aWR9LWNkay1jbHVzdGVyYCxcbiAgICBjYWNoZU5vZGVUeXBlOiBcImNhY2hlLnQzLm1lZGl1bVwiLFxuICAgIGVuZ2luZTogXCJtZW1jYWNoZWRcIixcbiAgICBudW1DYWNoZU5vZGVzOiAyLFxuICAgIHBvcnQ6IGNhY2hlUG9ydCxcbiAgICBhek1vZGU6IFwiY3Jvc3MtYXpcIixcbiAgICB2cGNTZWN1cml0eUdyb3VwSWRzOiBbZW1wdHlTRy5zZWN1cml0eUdyb3VwSWRdLFxuICAgIGNhY2hlU3VibmV0R3JvdXBOYW1lOiBzdWJuZXRHcm91cC5jYWNoZVN1Ym5ldEdyb3VwTmFtZSxcbiAgfTtcblxuICBjb25zdCBuZXdDYWNoZSA9IG5ldyBjYWNoZS5DZm5DYWNoZUNsdXN0ZXIoXG4gICAgc2NvcGUsXG4gICAgYCR7aWR9LWNsdXN0ZXJgLFxuICAgIGNhY2hlUHJvcHNcbiAgKTtcbiAgbmV3Q2FjaGUuYWRkRGVwZW5kc09uKHN1Ym5ldEdyb3VwKTtcbiAgcmV0dXJuIG5ld0NhY2hlO1xufVxuIl19
|
package/test/utils.test.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["utils.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpc-helper.test.d.ts","sourceRoot":"","sources":["vpc-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waf-helper.test.d.ts","sourceRoot":"","sources":["waf-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|