@@ -3722,7 +3722,7 @@ describe('#compileIamRole', () => {
3722
3722
] ) ;
3723
3723
} ) ;
3724
3724
3725
- it ( 'should give event bridge scheduler createSchedule permissions' , ( ) => {
3725
+ it ( 'should give event bridge scheduler createSchedule and passRole permissions' , ( ) => {
3726
3726
const genStateMachine = id => ( {
3727
3727
id,
3728
3728
definition : {
@@ -3765,14 +3765,17 @@ describe('#compileIamRole', () => {
3765
3765
. provider . compiledCloudFormationTemplate . Resources . StateMachine1Role
3766
3766
. Properties . Policies [ 0 ] . PolicyDocument . Statement ;
3767
3767
3768
- const eventPermissions = statements . filter ( s => _ . isEqual ( s . Action , [ 'scheduler:CreateSchedule' ] ) ) ;
3769
- expect ( eventPermissions [ 0 ] . Resource ) . to . has . lengthOf ( 1 ) ;
3770
- expect ( eventPermissions [ 0 ] . Resource ) . to . deep . eq ( [ {
3768
+ const schedulerPermissions = statements . filter ( s => _ . isEqual ( s . Action , [ 'scheduler:CreateSchedule' ] ) ) ;
3769
+ expect ( schedulerPermissions [ 0 ] . Resource ) . to . has . lengthOf ( 1 ) ;
3770
+ expect ( schedulerPermissions [ 0 ] . Resource ) . to . deep . eq ( [ {
3771
3771
'Fn::Sub' : [
3772
3772
'arn:${AWS::Partition}:scheduler:${AWS::Region}:${AWS::AccountId}:schedule/${scheduleGroupName}/*' ,
3773
3773
{ scheduleGroupName : 'MyScheduleGroup' } ,
3774
3774
] ,
3775
3775
} ] ) ;
3776
+ const rolePermissions = statements . filter ( s => _ . isEqual ( s . Action , [ 'iam:PassRole' ] ) ) ;
3777
+ expect ( rolePermissions [ 0 ] . Resource ) . to . has . lengthOf ( 1 ) ;
3778
+ expect ( rolePermissions [ 0 ] . Resource ) . to . deep . eq ( [ 'arn:aws:iam::${AWS::AccountId}:role/MyIAMRole' ] ) ;
3776
3779
} ) ;
3777
3780
3778
3781
it ( 'should handle permissionsBoundary' , ( ) => {
0 commit comments