1
- import { ABSENT , expect as expectCDK , haveResource , ResourcePart } from '@aws-cdk/assert' ;
1
+ import '@aws-cdk/assert/jest' ;
2
+ import { ABSENT , ResourcePart } from '@aws-cdk/assert' ;
2
3
import * as ec2 from '@aws-cdk/aws-ec2' ;
3
4
import * as iam from '@aws-cdk/aws-iam' ;
4
5
import * as kms from '@aws-cdk/aws-kms' ;
@@ -20,28 +21,28 @@ describe('DatabaseCluster', () => {
20
21
} ) ;
21
22
22
23
// THEN
23
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
24
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
24
25
Properties : {
25
26
DBSubnetGroupName : { Ref : 'DatabaseSubnets3C9252C9' } ,
26
27
VpcSecurityGroupIds : [ { 'Fn::GetAtt' : [ 'DatabaseSecurityGroup5C91FDCB' , 'GroupId' ] } ] ,
27
28
StorageEncrypted : true ,
28
29
} ,
29
30
DeletionPolicy : 'Retain' ,
30
31
UpdateReplacePolicy : 'Retain' ,
31
- } , ResourcePart . CompleteDefinition ) ) ;
32
+ } , ResourcePart . CompleteDefinition ) ;
32
33
33
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBInstance' , {
34
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBInstance' , {
34
35
DeletionPolicy : 'Retain' ,
35
36
UpdateReplacePolicy : 'Retain' ,
36
- } , ResourcePart . CompleteDefinition ) ) ;
37
+ } , ResourcePart . CompleteDefinition ) ;
37
38
38
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBSubnetGroup' , {
39
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBSubnetGroup' , {
39
40
SubnetIds : [
40
41
{ Ref : 'VPCPrivateSubnet1Subnet8BCA10E0' } ,
41
42
{ Ref : 'VPCPrivateSubnet2SubnetCFCDAA7A' } ,
42
43
{ Ref : 'VPCPrivateSubnet3Subnet3EDCD457' } ,
43
44
] ,
44
- } ) ) ;
45
+ } ) ;
45
46
} ) ;
46
47
47
48
test ( 'can create a cluster with a single instance' , ( ) => {
@@ -57,10 +58,10 @@ describe('DatabaseCluster', () => {
57
58
} ) ;
58
59
59
60
// THEN
60
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
61
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
61
62
DBSubnetGroupName : { Ref : 'DatabaseSubnets3C9252C9' } ,
62
63
VpcSecurityGroupIds : [ { 'Fn::GetAtt' : [ 'DatabaseSecurityGroup5C91FDCB' , 'GroupId' ] } ] ,
63
- } ) ) ;
64
+ } ) ;
64
65
} ) ;
65
66
66
67
test ( 'errors when less than one instance is specified' , ( ) => {
@@ -111,11 +112,11 @@ describe('DatabaseCluster', () => {
111
112
} ) ;
112
113
113
114
// THEN
114
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
115
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
115
116
EngineVersion : '1.0.4.1' ,
116
117
DBSubnetGroupName : { Ref : 'DatabaseSubnets3C9252C9' } ,
117
118
VpcSecurityGroupIds : [ { 'Fn::GetAtt' : [ 'DatabaseSecurityGroup5C91FDCB' , 'GroupId' ] } ] ,
118
- } ) ) ;
119
+ } ) ;
119
120
} ) ;
120
121
121
122
test ( 'can create a cluster with imported vpc and security group' , ( ) => {
@@ -135,10 +136,10 @@ describe('DatabaseCluster', () => {
135
136
} ) ;
136
137
137
138
// THEN
138
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
139
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
139
140
DBSubnetGroupName : { Ref : 'DatabaseSubnets3C9252C9' } ,
140
141
VpcSecurityGroupIds : [ 'SecurityGroupId12345' ] ,
141
- } ) ) ;
142
+ } ) ;
142
143
} ) ;
143
144
144
145
test ( 'cluster with parameter group' , ( ) => {
@@ -160,9 +161,9 @@ describe('DatabaseCluster', () => {
160
161
} ) ;
161
162
162
163
// THEN
163
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
164
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
164
165
DBClusterParameterGroupName : { Ref : 'ParamsA8366201' } ,
165
- } ) ) ;
166
+ } ) ;
166
167
} ) ;
167
168
168
169
test ( 'cluster with associated role' , ( ) => {
@@ -183,7 +184,7 @@ describe('DatabaseCluster', () => {
183
184
} ) ;
184
185
185
186
// THEN
186
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
187
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
187
188
AssociatedRoles : [
188
189
{
189
190
RoleArn : {
@@ -194,7 +195,7 @@ describe('DatabaseCluster', () => {
194
195
} ,
195
196
} ,
196
197
] ,
197
- } ) ) ;
198
+ } ) ;
198
199
} ) ;
199
200
200
201
test ( 'cluster with imported parameter group' , ( ) => {
@@ -212,9 +213,9 @@ describe('DatabaseCluster', () => {
212
213
} ) ;
213
214
214
215
// THEN
215
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
216
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
216
217
DBClusterParameterGroupName : 'ParamGroupName' ,
217
- } ) ) ;
218
+ } ) ;
218
219
} ) ;
219
220
220
221
test ( 'create an encrypted cluster with custom KMS key' , ( ) => {
@@ -230,15 +231,15 @@ describe('DatabaseCluster', () => {
230
231
} ) ;
231
232
232
233
// THEN
233
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
234
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
234
235
KmsKeyId : {
235
236
'Fn::GetAtt' : [
236
237
'Key961B73FD' ,
237
238
'Arn' ,
238
239
] ,
239
240
} ,
240
241
StorageEncrypted : true ,
241
- } ) ) ;
242
+ } ) ;
242
243
} ) ;
243
244
244
245
test ( 'creating a cluster defaults to using encryption' , ( ) => {
@@ -253,9 +254,9 @@ describe('DatabaseCluster', () => {
253
254
} ) ;
254
255
255
256
// THEN
256
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
257
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
257
258
StorageEncrypted : true ,
258
- } ) ) ;
259
+ } ) ;
259
260
} ) ;
260
261
261
262
test ( 'supplying a KMS key with storageEncryption false throws an error' , ( ) => {
@@ -306,9 +307,9 @@ describe('DatabaseCluster', () => {
306
307
} ) ;
307
308
308
309
// THEN
309
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBInstance' , {
310
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBInstance' , {
310
311
DBInstanceIdentifier : `${ instanceIdentifierBase } 1` ,
311
- } ) ) ;
312
+ } ) ;
312
313
} ) ;
313
314
314
315
test ( 'cluster identifier used' , ( ) => {
@@ -325,9 +326,9 @@ describe('DatabaseCluster', () => {
325
326
} ) ;
326
327
327
328
// THEN
328
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBInstance' , {
329
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBInstance' , {
329
330
DBInstanceIdentifier : `${ clusterIdentifier } instance1` ,
330
- } ) ) ;
331
+ } ) ;
331
332
} ) ;
332
333
333
334
test ( 'imported cluster has supplied attributes' , ( ) => {
@@ -372,9 +373,9 @@ describe('DatabaseCluster', () => {
372
373
cluster . connections . allowToAnyIpv4 ( ec2 . Port . tcp ( 443 ) ) ;
373
374
374
375
// THEN
375
- expectCDK ( stack ) . to ( haveResource ( 'AWS::EC2::SecurityGroupEgress' , {
376
+ expect ( stack ) . toHaveResource ( 'AWS::EC2::SecurityGroupEgress' , {
376
377
GroupId : 'sg-123456789' ,
377
- } ) ) ;
378
+ } ) ;
378
379
} ) ;
379
380
380
381
test ( 'backup retention period respected' , ( ) => {
@@ -390,9 +391,9 @@ describe('DatabaseCluster', () => {
390
391
} ) ;
391
392
392
393
// THEN
393
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
394
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
394
395
BackupRetentionPeriod : 20 ,
395
- } ) ) ;
396
+ } ) ;
396
397
} ) ;
397
398
398
399
test ( 'backup maintenance window respected' , ( ) => {
@@ -409,10 +410,10 @@ describe('DatabaseCluster', () => {
409
410
} ) ;
410
411
411
412
// THEN
412
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
413
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
413
414
BackupRetentionPeriod : 20 ,
414
415
PreferredBackupWindow : '07:34-08:04' ,
415
- } ) ) ;
416
+ } ) ;
416
417
} ) ;
417
418
418
419
test ( 'regular maintenance window respected' , ( ) => {
@@ -428,9 +429,9 @@ describe('DatabaseCluster', () => {
428
429
} ) ;
429
430
430
431
// THEN
431
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
432
+ expect ( stack ) . toHaveResource ( 'AWS::Neptune::DBCluster' , {
432
433
PreferredMaintenanceWindow : '07:34-08:04' ,
433
- } ) ) ;
434
+ } ) ;
434
435
} ) ;
435
436
436
437
test ( 'iam authentication - off by default' , ( ) => {
@@ -445,9 +446,9 @@ describe('DatabaseCluster', () => {
445
446
} ) ;
446
447
447
448
// THEN
448
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
449
+ expect ( stack ) . toHaveResourceLike ( 'AWS::Neptune::DBCluster' , {
449
450
IamAuthEnabled : ABSENT ,
450
- } ) ) ;
451
+ } ) ;
451
452
} ) ;
452
453
453
454
test ( 'createGrant - creates IAM policy and enables IAM auth' , ( ) => {
@@ -466,10 +467,10 @@ describe('DatabaseCluster', () => {
466
467
cluster . grantConnect ( role ) ;
467
468
468
469
// THEN
469
- expectCDK ( stack ) . to ( haveResource ( 'AWS::Neptune::DBCluster' , {
470
+ expect ( stack ) . toHaveResourceLike ( 'AWS::Neptune::DBCluster' , {
470
471
IamAuthEnabled : true ,
471
- } ) ) ;
472
- expectCDK ( stack ) . to ( haveResource ( 'AWS::IAM::Policy' , {
472
+ } ) ;
473
+ expect ( stack ) . toHaveResource ( 'AWS::IAM::Policy' , {
473
474
PolicyDocument : {
474
475
Statement : [ {
475
476
Effect : 'Allow' ,
@@ -502,7 +503,7 @@ describe('DatabaseCluster', () => {
502
503
} ] ,
503
504
Version : '2012-10-17' ,
504
505
} ,
505
- } ) ) ;
506
+ } ) ;
506
507
} ) ;
507
508
508
509
test ( 'createGrant - throws if IAM auth disabled' , ( ) => {
0 commit comments