@@ -47,9 +47,9 @@ import (
47
47
"github.com/aws/amazon-ecs-agent/ecs-agent/eventstream"
48
48
md "github.com/aws/amazon-ecs-agent/ecs-agent/manageddaemon"
49
49
50
- awsv2 "github.com/aws/aws-sdk-go-v2/aws"
51
50
"github.com/aws/aws-sdk-go/aws"
52
51
"github.com/aws/aws-sdk-go/aws/awserr"
52
+ "github.com/aws/aws-sdk-go/aws/credentials"
53
53
"github.com/golang/mock/gomock"
54
54
"github.com/stretchr/testify/assert"
55
55
)
@@ -74,7 +74,7 @@ func TestDoStartTaskENIHappyPath(t *testing.T) {
74
74
monitoShutdownEvents := make (chan bool )
75
75
76
76
cniClient := mock_ecscni .NewMockCNIClient (ctrl )
77
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
77
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
78
78
mockPauseLoader := mock_loader .NewMockLoader (ctrl )
79
79
mockUdevMonitor := mock_udev .NewMockUdev (ctrl )
80
80
mockMetadata := mock_ec2 .NewMockEC2MetadataClient (ctrl )
@@ -88,6 +88,7 @@ func TestDoStartTaskENIHappyPath(t *testing.T) {
88
88
89
89
// These calls are expected to happen, but cannot be ordered as they are
90
90
// invoked via go routines, which will lead to occasional test failues
91
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
91
92
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
92
93
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
93
94
dockerClient .EXPECT ().ListContainers (gomock .Any (), gomock .Any (), gomock .Any ()).Return (
@@ -134,7 +135,7 @@ func TestDoStartTaskENIHappyPath(t *testing.T) {
134
135
cniClient .EXPECT ().Capabilities (ecscni .ECSIPAMPluginName ).Return (cniCapabilities , nil ),
135
136
cniClient .EXPECT ().Capabilities (ecscni .ECSAppMeshPluginName ).Return (cniCapabilities , nil ),
136
137
cniClient .EXPECT ().Capabilities (ecscni .ECSBranchENIPluginName ).Return (cniCapabilities , nil ),
137
- mockCredentialsProvider .EXPECT ().Retrieve (gomock . Any ()) .Return (awsv2. Credentials {}, nil ),
138
+ mockCredentialsProvider .EXPECT ().Retrieve () .Return (credentials. Value {}, nil ),
138
139
cniClient .EXPECT ().Version (ecscni .VPCENIPluginName ).Return ("v1" , nil ),
139
140
cniClient .EXPECT ().Version (ecscni .ECSBranchENIPluginName ).Return ("v2" , nil ),
140
141
mockMobyPlugins .EXPECT ().Scan ().Return ([]string {}, nil ),
@@ -169,15 +170,15 @@ func TestDoStartTaskENIHappyPath(t *testing.T) {
169
170
ctx , cancel := context .WithCancel (context .TODO ())
170
171
// Cancel the context to cancel async routines
171
172
agent := & ecsAgent {
172
- ctx : ctx ,
173
- cfg : & cfg ,
174
- credentialsCache : mockCredentialsProvider ,
175
- dataClient : data .NewNoopClient (),
176
- dockerClient : dockerClient ,
177
- pauseLoader : mockPauseLoader ,
178
- eniWatcher : eniWatcher ,
179
- cniClient : cniClient ,
180
- ec2MetadataClient : mockMetadata ,
173
+ ctx : ctx ,
174
+ cfg : & cfg ,
175
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
176
+ dataClient : data .NewNoopClient (),
177
+ dockerClient : dockerClient ,
178
+ pauseLoader : mockPauseLoader ,
179
+ eniWatcher : eniWatcher ,
180
+ cniClient : cniClient ,
181
+ ec2MetadataClient : mockMetadata ,
181
182
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
182
183
},
183
184
mobyPlugins : mockMobyPlugins ,
@@ -440,7 +441,7 @@ func TestDoStartCgroupInitHappyPath(t *testing.T) {
440
441
ctrl , credentialsManager , state , imageManager , client ,
441
442
dockerClient , _ , _ , execCmdMgr , _ := setup (t )
442
443
defer ctrl .Finish ()
443
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
444
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
444
445
mockControl := mock_control .NewMockControl (ctrl )
445
446
mockMobyPlugins := mock_mobypkgwrapper .NewMockPlugins (ctrl )
446
447
mockPauseLoader := mock_loader .NewMockLoader (ctrl )
@@ -452,6 +453,7 @@ func TestDoStartCgroupInitHappyPath(t *testing.T) {
452
453
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
453
454
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
454
455
imageManager .EXPECT ().StartImageCleanupProcess (gomock .Any ()).MaxTimes (1 )
456
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
455
457
ec2MetadataClient .EXPECT ().PrimaryENIMAC ().Return ("mac" , nil )
456
458
ec2MetadataClient .EXPECT ().VPCID (gomock .Eq ("mac" )).Return ("vpc-id" , nil )
457
459
ec2MetadataClient .EXPECT ().SubnetID (gomock .Eq ("mac" )).Return ("subnet-id" , nil )
@@ -477,7 +479,7 @@ func TestDoStartCgroupInitHappyPath(t *testing.T) {
477
479
478
480
gomock .InOrder (
479
481
mockControl .EXPECT ().Init ().Return (nil ),
480
- mockCredentialsProvider .EXPECT ().Retrieve (gomock . Any ()) .Return (awsv2. Credentials {}, nil ),
482
+ mockCredentialsProvider .EXPECT ().Retrieve () .Return (credentials. Value {}, nil ),
481
483
mockMobyPlugins .EXPECT ().Scan ().Return ([]string {}, nil ),
482
484
dockerClient .EXPECT ().ListPluginsWithFilters (gomock .Any (), gomock .Any (), gomock .Any (),
483
485
gomock .Any ()).Return ([]string {}, nil ),
@@ -508,11 +510,11 @@ func TestDoStartCgroupInitHappyPath(t *testing.T) {
508
510
ctx , cancel := context .WithCancel (context .TODO ())
509
511
// Cancel the context to cancel async routines
510
512
agent := & ecsAgent {
511
- ctx : ctx ,
512
- cfg : & cfg ,
513
- credentialsCache : mockCredentialsProvider ,
514
- pauseLoader : mockPauseLoader ,
515
- dockerClient : dockerClient ,
513
+ ctx : ctx ,
514
+ cfg : & cfg ,
515
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
516
+ pauseLoader : mockPauseLoader ,
517
+ dockerClient : dockerClient ,
516
518
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
517
519
},
518
520
mobyPlugins : mockMobyPlugins ,
@@ -545,7 +547,7 @@ func TestDoStartCgroupInitErrorPath(t *testing.T) {
545
547
dockerClient , _ , _ , execCmdMgr , _ := setup (t )
546
548
defer ctrl .Finish ()
547
549
548
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
550
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
549
551
mockControl := mock_control .NewMockControl (ctrl )
550
552
mockPauseLoader := mock_loader .NewMockLoader (ctrl )
551
553
var discoverEndpointsInvoked sync.WaitGroup
@@ -554,6 +556,7 @@ func TestDoStartCgroupInitErrorPath(t *testing.T) {
554
556
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
555
557
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
556
558
imageManager .EXPECT ().StartImageCleanupProcess (gomock .Any ()).MaxTimes (1 )
559
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
557
560
mockPauseLoader .EXPECT ().LoadImage (gomock .Any (), gomock .Any (), gomock .Any ()).Return (nil , nil ).AnyTimes ()
558
561
mockPauseLoader .EXPECT ().IsLoaded (gomock .Any ()).Return (true , nil ).AnyTimes ()
559
562
mockServiceConnectManager := mock_serviceconnect .NewMockManager (ctrl )
@@ -577,11 +580,11 @@ func TestDoStartCgroupInitErrorPath(t *testing.T) {
577
580
// Cancel the context to cancel async routines
578
581
defer cancel ()
579
582
agent := & ecsAgent {
580
- ctx : ctx ,
581
- cfg : & cfg ,
582
- credentialsCache : mockCredentialsProvider ,
583
- dockerClient : dockerClient ,
584
- pauseLoader : mockPauseLoader ,
583
+ ctx : ctx ,
584
+ cfg : & cfg ,
585
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
586
+ dockerClient : dockerClient ,
587
+ pauseLoader : mockPauseLoader ,
585
588
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
586
589
},
587
590
resourceFields : & taskresource.ResourceFields {
@@ -600,7 +603,7 @@ func TestDoStartGPUManagerHappyPath(t *testing.T) {
600
603
ctrl , credentialsManager , state , imageManager , client ,
601
604
dockerClient , _ , _ , execCmdMgr , _ := setup (t )
602
605
defer ctrl .Finish ()
603
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
606
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
604
607
mockGPUManager := mock_gpu .NewMockGPUManager (ctrl )
605
608
mockMobyPlugins := mock_mobypkgwrapper .NewMockPlugins (ctrl )
606
609
ec2MetadataClient := mock_ec2 .NewMockEC2MetadataClient (ctrl )
@@ -627,6 +630,7 @@ func TestDoStartGPUManagerHappyPath(t *testing.T) {
627
630
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
628
631
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
629
632
imageManager .EXPECT ().StartImageCleanupProcess (gomock .Any ()).MaxTimes (1 )
633
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
630
634
ec2MetadataClient .EXPECT ().PrimaryENIMAC ().Return ("mac" , nil )
631
635
ec2MetadataClient .EXPECT ().VPCID (gomock .Eq ("mac" )).Return ("vpc-id" , nil )
632
636
ec2MetadataClient .EXPECT ().SubnetID (gomock .Eq ("mac" )).Return ("subnet-id" , nil )
@@ -653,7 +657,7 @@ func TestDoStartGPUManagerHappyPath(t *testing.T) {
653
657
654
658
gomock .InOrder (
655
659
mockGPUManager .EXPECT ().Initialize ().Return (nil ),
656
- mockCredentialsProvider .EXPECT ().Retrieve (gomock . Any ()) .Return (awsv2. Credentials {}, nil ),
660
+ mockCredentialsProvider .EXPECT ().Retrieve () .Return (credentials. Value {}, nil ),
657
661
mockMobyPlugins .EXPECT ().Scan ().Return ([]string {}, nil ),
658
662
dockerClient .EXPECT ().ListPluginsWithFilters (gomock .Any (), gomock .Any (), gomock .Any (),
659
663
gomock .Any ()).Return ([]string {}, nil ),
@@ -687,11 +691,11 @@ func TestDoStartGPUManagerHappyPath(t *testing.T) {
687
691
ctx , cancel := context .WithCancel (context .TODO ())
688
692
// Cancel the context to cancel async routines
689
693
agent := & ecsAgent {
690
- ctx : ctx ,
691
- cfg : & cfg ,
692
- credentialsCache : mockCredentialsProvider ,
693
- dockerClient : dockerClient ,
694
- pauseLoader : mockPauseLoader ,
694
+ ctx : ctx ,
695
+ cfg : & cfg ,
696
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
697
+ dockerClient : dockerClient ,
698
+ pauseLoader : mockPauseLoader ,
695
699
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
696
700
},
697
701
mobyPlugins : mockMobyPlugins ,
@@ -724,7 +728,7 @@ func TestDoStartGPUManagerInitError(t *testing.T) {
724
728
dockerClient , _ , _ , execCmdMgr , _ := setup (t )
725
729
defer ctrl .Finish ()
726
730
727
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
731
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
728
732
mockGPUManager := mock_gpu .NewMockGPUManager (ctrl )
729
733
mockPauseLoader := mock_loader .NewMockLoader (ctrl )
730
734
var discoverEndpointsInvoked sync.WaitGroup
@@ -733,6 +737,7 @@ func TestDoStartGPUManagerInitError(t *testing.T) {
733
737
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
734
738
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
735
739
imageManager .EXPECT ().StartImageCleanupProcess (gomock .Any ()).MaxTimes (1 )
740
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
736
741
mockGPUManager .EXPECT ().Initialize ().Return (errors .New ("init error" ))
737
742
mockPauseLoader .EXPECT ().LoadImage (gomock .Any (), gomock .Any (), gomock .Any ()).Return (nil , nil ).AnyTimes ()
738
743
mockPauseLoader .EXPECT ().IsLoaded (gomock .Any ()).Return (true , nil ).AnyTimes ()
@@ -749,11 +754,11 @@ func TestDoStartGPUManagerInitError(t *testing.T) {
749
754
// Cancel the context to cancel async routines
750
755
defer cancel ()
751
756
agent := & ecsAgent {
752
- ctx : ctx ,
753
- cfg : & cfg ,
754
- credentialsCache : mockCredentialsProvider ,
755
- dockerClient : dockerClient ,
756
- pauseLoader : mockPauseLoader ,
757
+ ctx : ctx ,
758
+ cfg : & cfg ,
759
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
760
+ dockerClient : dockerClient ,
761
+ pauseLoader : mockPauseLoader ,
757
762
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
758
763
},
759
764
resourceFields : & taskresource.ResourceFields {
@@ -774,7 +779,7 @@ func TestDoStartTaskENIPauseError(t *testing.T) {
774
779
defer ctrl .Finish ()
775
780
776
781
cniClient := mock_ecscni .NewMockCNIClient (ctrl )
777
- mockCredentialsProvider := app_mocks .NewMockCredentialsProvider (ctrl )
782
+ mockCredentialsProvider := app_mocks .NewMockProvider (ctrl )
778
783
mockPauseLoader := mock_loader .NewMockLoader (ctrl )
779
784
mockMetadata := mock_ec2 .NewMockEC2MetadataClient (ctrl )
780
785
mockMobyPlugins := mock_mobypkgwrapper .NewMockPlugins (ctrl )
@@ -784,6 +789,7 @@ func TestDoStartTaskENIPauseError(t *testing.T) {
784
789
785
790
// These calls are expected to happen, but cannot be ordered as they are
786
791
// invoked via go routines, which will lead to occasional test failures
792
+ mockCredentialsProvider .EXPECT ().IsExpired ().Return (false ).AnyTimes ()
787
793
dockerClient .EXPECT ().Version (gomock .Any (), gomock .Any ()).AnyTimes ()
788
794
dockerClient .EXPECT ().SupportedVersions ().Return (apiVersions ).AnyTimes ()
789
795
dockerClient .EXPECT ().ListContainers (gomock .Any (), gomock .Any (), gomock .Any ()).Return (
@@ -797,13 +803,13 @@ func TestDoStartTaskENIPauseError(t *testing.T) {
797
803
cfg .ENITrunkingEnabled = config.BooleanDefaultTrue {Value : config .ExplicitlyEnabled }
798
804
ctx , _ := context .WithCancel (context .TODO ())
799
805
agent := & ecsAgent {
800
- ctx : ctx ,
801
- cfg : & cfg ,
802
- credentialsCache : mockCredentialsProvider ,
803
- dockerClient : dockerClient ,
804
- pauseLoader : mockPauseLoader ,
805
- cniClient : cniClient ,
806
- ec2MetadataClient : mockMetadata ,
806
+ ctx : ctx ,
807
+ cfg : & cfg ,
808
+ credentialProvider : credentials . NewCredentials ( mockCredentialsProvider ) ,
809
+ dockerClient : dockerClient ,
810
+ pauseLoader : mockPauseLoader ,
811
+ cniClient : cniClient ,
812
+ ec2MetadataClient : mockMetadata ,
807
813
terminationHandler : func (state dockerstate.TaskEngineState , dataClient data.Client , taskEngine engine.TaskEngine , cancel context.CancelFunc ) {
808
814
},
809
815
mobyPlugins : mockMobyPlugins ,
0 commit comments