1
1
helpers = require (' ./helpers' )
2
2
AWS = helpers .AWS
3
+ STS = require (' ../clients/sts' )
3
4
4
5
validateCredentials = (creds , key , secret , session ) ->
5
6
expect (creds .accessKeyId ).to .equal (key || ' akid' )
@@ -272,12 +273,6 @@ if AWS.util.isNode()
272
273
273
274
it ' prefers credentials from ~/.aws/credentials if AWS_SDK_LOAD_CONFIG is set' , ->
274
275
process .env .AWS_SDK_LOAD_CONFIG = ' 1'
275
- mock = '''
276
- [default]
277
- aws_access_key_id = akid
278
- aws_secret_access_key = secret
279
- aws_session_token = session
280
- '''
281
276
helpers .spyOn (AWS .util , ' readFileSync' ).andCallFake (path) ->
282
277
if path .match (/ [\/\\ ] home[\/\\ ] user[\/\\ ] . aws[\/\\ ] credentials/ )
283
278
'''
@@ -497,16 +492,14 @@ if AWS.util.isNode()
497
492
if (path .match (/ [\/\\ ] home[\/\\ ] user[\/\\ ] . aws[\/\\ ] credentials/ ))
498
493
'''
499
494
[default]
500
- aws_access_key_id = akid
501
- aws_secret_access_key = secret
502
495
role_arn = arn
503
496
source_profile = foo
504
497
'''
505
498
else
506
499
'''
507
500
[profile foo]
508
- aws_access_key_id = akid2
509
- aws_secret_access_key = secret2
501
+ aws_access_key_id = akid
502
+ aws_secret_access_key = secret
510
503
'''
511
504
helpers .mockHttpResponse 200 , {}, '''
512
505
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
@@ -520,10 +513,15 @@ if AWS.util.isNode()
520
513
</AssumeRoleResult>
521
514
</AssumeRoleResponse>
522
515
'''
523
- debugger ;
524
516
creds = new AWS.SharedIniFileCredentials ()
517
+ stsCtorSpy = helpers .spyOn (AWS, ' STS' ).andCallThrough ()
525
518
expect (creds .roleArn ).to .equal (' arn' )
526
519
creds .refresh (err) ->
520
+ expect (stsCtorSpy .calls .length ).to .equal (1 )
521
+ sourceCreds = stsCtorSpy .calls [0 ].arguments [0 ].credentials
522
+ expect (sourceCreds .accessKeyId ).to .equal (' akid' )
523
+ expect (sourceCreds .secretAccessKey ).to .equal (' secret' )
524
+
527
525
expect (creds .accessKeyId ).to .equal (' KEY' )
528
526
expect (creds .secretAccessKey ).to .equal (' SECRET' )
529
527
expect (creds .sessionToken ).to .equal (' TOKEN' )
@@ -536,16 +534,14 @@ if AWS.util.isNode()
536
534
if (path .match (/ [\/\\ ] home[\/\\ ] user[\/\\ ] . aws[\/\\ ] config/ ))
537
535
'''
538
536
[default]
539
- aws_access_key_id = akid
540
- aws_secret_access_key = secret
541
537
role_arn = arn
542
538
source_profile = foo
543
539
'''
544
540
else
545
541
'''
546
542
[foo]
547
- aws_access_key_id = akid2
548
- aws_secret_access_key = secret2
543
+ aws_access_key_id = akid
544
+ aws_secret_access_key = secret
549
545
'''
550
546
helpers .mockHttpResponse 200 , {}, '''
551
547
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
@@ -559,10 +555,15 @@ if AWS.util.isNode()
559
555
</AssumeRoleResult>
560
556
</AssumeRoleResponse>
561
557
'''
562
- debugger ;
563
558
creds = new AWS.SharedIniFileCredentials ()
559
+ stsCtorSpy = helpers .spyOn (AWS, ' STS' ).andCallThrough ()
564
560
expect (creds .roleArn ).to .equal (' arn' )
565
561
creds .refresh (err) ->
562
+ expect (stsCtorSpy .calls .length ).to .equal (1 )
563
+ sourceCreds = stsCtorSpy .calls [0 ].arguments [0 ].credentials
564
+ expect (sourceCreds .accessKeyId ).to .equal (' akid' )
565
+ expect (sourceCreds .secretAccessKey ).to .equal (' secret' )
566
+
566
567
expect (creds .accessKeyId ).to .equal (' KEY' )
567
568
expect (creds .secretAccessKey ).to .equal (' SECRET' )
568
569
expect (creds .sessionToken ).to .equal (' TOKEN' )
0 commit comments