@@ -55,14 +55,6 @@ describe('ServerlessStepFunctions', () => {
5555 it ( 'should set the stage variable' , ( ) =>
5656 expect ( serverlessStepFunctions . stage ) . to . be . equal ( provider . getStage ( ) ) ) ;
5757
58- it ( 'should set the iamRoleName variable' , ( ) =>
59- expect ( serverlessStepFunctions . iamRoleName ) . to . be
60- . equal ( 'serverless-step-functions-executerole-us-east-1' ) ) ;
61-
62- it ( 'should set the iamPolicyName variable' , ( ) =>
63- expect ( serverlessStepFunctions . iamPolicyName ) . to . be
64- . equal ( 'serverless-step-functions-executepolicy-us-east-1' ) ) ;
65-
6658 it ( 'should set the assumeRolePolicyDocument variable' , ( ) =>
6759 expect ( serverlessStepFunctions . assumeRolePolicyDocument ) . to . be
6860 . equal ( `{
@@ -155,14 +147,17 @@ describe('ServerlessStepFunctions', () => {
155147
156148 describe ( '#remove()' , ( ) => {
157149 it ( 'should run promise chain in order' , ( ) => {
150+ const deleteIamRoleStub = sinon
151+ . stub ( serverlessStepFunctions , 'deleteIamRole' ) . returns ( BbPromise . resolve ( ) ) ;
158152 const getStateMachineArnStub = sinon
159153 . stub ( serverlessStepFunctions , 'getStateMachineArn' ) . returns ( BbPromise . resolve ( ) ) ;
160154 const deleteStateMachineStub = sinon
161155 . stub ( serverlessStepFunctions , 'deleteStateMachine' ) . returns ( BbPromise . resolve ( ) ) ;
162156
163157 return serverlessStepFunctions . remove ( )
164158 . then ( ( ) => {
165- expect ( getStateMachineArnStub . calledOnce ) . to . be . equal ( true ) ;
159+ expect ( deleteIamRoleStub . calledOnce ) . to . be . equal ( true ) ;
160+ expect ( getStateMachineArnStub . calledAfter ( deleteIamRoleStub ) ) . to . be . equal ( true ) ;
166161 expect ( deleteStateMachineStub . calledAfter ( getStateMachineArnStub ) ) . to . be . equal ( true ) ;
167162
168163 serverlessStepFunctions . getStateMachineArn . restore ( ) ;
@@ -193,10 +188,17 @@ describe('ServerlessStepFunctions', () => {
193188 } ) ;
194189 } ) ;
195190
196- describe ( '#getStateMachineName' , ( ) => {
197- it ( 'should return stateMachineName' , ( ) => {
198- expect ( serverlessStepFunctions . getStateMachineName ( ) )
199- . to . be . equal ( 'step-functions-dev-stateMachine' ) ;
191+ describe ( '#getIamRoleName' , ( ) => {
192+ it ( 'should return IamRoleName' , ( ) => {
193+ expect ( serverlessStepFunctions . getIamRoleName ( ) )
194+ . to . be . equal ( 'step-functions-us-east-1-dev-stateMachine-ssf-exerole' ) ;
195+ } ) ;
196+ } ) ;
197+
198+ describe ( '#getIamPolicyName' , ( ) => {
199+ it ( 'should return IamPolicyName' , ( ) => {
200+ expect ( serverlessStepFunctions . getIamPolicyName ( ) )
201+ . to . be . equal ( 'step-functions-us-east-1-dev-stateMachine-ssf-exepolicy' ) ;
200202 } ) ;
201203 } ) ;
202204
@@ -214,7 +216,7 @@ describe('ServerlessStepFunctions', () => {
214216 'IAM' ,
215217 'getRole' ,
216218 {
217- RoleName : 'serverless- step-functions-executerole- us-east-1' ,
219+ RoleName : 'step-functions-us-east-1-dev-stateMachine-ssf-exerole ' ,
218220 } ,
219221 serverlessStepFunctions . options . stage ,
220222 serverlessStepFunctions . options . region
@@ -299,6 +301,32 @@ describe('ServerlessStepFunctions', () => {
299301 ) ;
300302 } ) ;
301303
304+ describe ( '#deleteIamRole()' , ( ) => {
305+ let deleteIamRoleStub ;
306+ beforeEach ( ( ) => {
307+ deleteIamRoleStub = sinon . stub ( serverlessStepFunctions . provider , 'request' ) ;
308+ deleteIamRoleStub . onFirstCall ( ) . returns ( BbPromise . resolve ( { Account : 1234 } ) ) ;
309+ deleteIamRoleStub . onSecondCall ( ) . returns ( BbPromise . resolve ( ) ) ;
310+ deleteIamRoleStub . onThirdCall ( ) . returns ( BbPromise . resolve ( ) ) ;
311+ deleteIamRoleStub . onCall ( 4 ) . returns ( BbPromise . resolve ( ) ) ;
312+ } ) ;
313+
314+ it ( 'should deleteIamRole with correct params' , ( ) => serverlessStepFunctions . deleteIamRole ( )
315+ . then ( ( ) => {
316+ expect ( deleteIamRoleStub . callCount ) . to . be . equal ( 4 ) ;
317+ expect ( deleteIamRoleStub . args [ 0 ] [ 0 ] ) . to . be . equal ( 'STS' ) ;
318+ expect ( deleteIamRoleStub . args [ 0 ] [ 1 ] ) . to . be . equal ( 'getCallerIdentity' ) ;
319+ expect ( deleteIamRoleStub . args [ 1 ] [ 0 ] ) . to . be . equal ( 'IAM' ) ;
320+ expect ( deleteIamRoleStub . args [ 1 ] [ 1 ] ) . to . be . equal ( 'detachRolePolicy' ) ;
321+ expect ( deleteIamRoleStub . args [ 2 ] [ 0 ] ) . to . be . equal ( 'IAM' ) ;
322+ expect ( deleteIamRoleStub . args [ 2 ] [ 1 ] ) . to . be . equal ( 'deletePolicy' ) ;
323+ expect ( deleteIamRoleStub . args [ 3 ] [ 0 ] ) . to . be . equal ( 'IAM' ) ;
324+ expect ( deleteIamRoleStub . args [ 3 ] [ 1 ] ) . to . be . equal ( 'deleteRole' ) ;
325+ serverlessStepFunctions . provider . request . restore ( ) ;
326+ } )
327+ ) ;
328+ } ) ;
329+
302330 describe ( '#getStateMachineArn()' , ( ) => {
303331 let getStateMachineStub ;
304332 beforeEach ( ( ) => {
0 commit comments