@@ -66,16 +66,18 @@ var _ = Describe("Create", func() {
66
66
genericErr = fmt .Errorf ("ERR" )
67
67
)
68
68
69
- mockDescribeAddon := func (provider * mockprovider.MockProvider , err error , autoMode bool ) {
69
+ mockDescribeAddon := func (provider * mockprovider.MockProvider , err error , autoMode bool , nilComputeConfig bool ) {
70
+ describeClusterOutput := & awseks.DescribeClusterOutput {
71
+ Cluster : & ekstypes.Cluster {},
72
+ }
73
+ if ! nilComputeConfig {
74
+ describeClusterOutput .Cluster .ComputeConfig = & ekstypes.ComputeConfigResponse {
75
+ Enabled : aws .Bool (autoMode ),
76
+ }
77
+ }
70
78
mockProvider .MockEKS ().
71
79
On ("DescribeCluster" , mock .Anything , mock .Anything ).
72
- Return (& awseks.DescribeClusterOutput {
73
- Cluster : & ekstypes.Cluster {
74
- ComputeConfig : & ekstypes.ComputeConfigResponse {
75
- Enabled : aws .Bool (autoMode ),
76
- },
77
- },
78
- }, nil ).
80
+ Return (describeClusterOutput , nil ).
79
81
Once ()
80
82
if ! autoMode {
81
83
mockProvider .MockEKS ().
@@ -152,14 +154,14 @@ var _ = Describe("Create", func() {
152
154
},
153
155
Entry ("[API errors] describing pod identity agent addon fails" , migrateToPodIdentityAssociationEntry {
154
156
mockEKS : func (provider * mockprovider.MockProvider ) {
155
- mockDescribeAddon (provider , genericErr , false )
157
+ mockDescribeAddon (provider , genericErr , false , false )
156
158
},
157
159
expectedErr : fmt .Sprintf ("calling %q" , fmt .Sprintf ("EKS::DescribeAddon::%s" , api .PodIdentityAgentAddon )),
158
160
}),
159
161
160
162
Entry ("[API errors] fetching iamserviceaccounts fails" , migrateToPodIdentityAssociationEntry {
161
163
mockEKS : func (provider * mockprovider.MockProvider ) {
162
- mockDescribeAddon (provider , nil , false )
164
+ mockDescribeAddon (provider , nil , false , false )
163
165
},
164
166
mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
165
167
stackUpdater .GetIAMServiceAccountsReturns (nil , genericErr )
@@ -171,7 +173,24 @@ var _ = Describe("Create", func() {
171
173
mockEKS : func (provider * mockprovider.MockProvider ) {
172
174
mockDescribeAddon (provider , & ekstypes.ResourceNotFoundException {
173
175
Message : aws .String (genericErr .Error ()),
174
- }, false )
176
+ }, false , false )
177
+ },
178
+ mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
179
+ stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {}, nil )
180
+ },
181
+ mockK8s : func (clientSet * fake.Clientset ) {
182
+ createFakeServiceAccount (clientSet , nsDefault , sa1 , roleARN1 )
183
+ },
184
+ validateCustomLoggerOutput : func (output string ) {
185
+ Expect (output ).To (ContainSubstring (fmt .Sprintf ("install %s addon" , api .PodIdentityAgentAddon )))
186
+ },
187
+ }),
188
+
189
+ Entry ("[taskTree] assumes auto mode is disabled and contains a task to create pod identity agent addon if DescribeCluster returns nil computeConfig field" , migrateToPodIdentityAssociationEntry {
190
+ mockEKS : func (provider * mockprovider.MockProvider ) {
191
+ mockDescribeAddon (provider , & ekstypes.ResourceNotFoundException {
192
+ Message : aws .String (genericErr .Error ()),
193
+ }, false , true )
175
194
},
176
195
mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
177
196
stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {}, nil )
@@ -186,7 +205,7 @@ var _ = Describe("Create", func() {
186
205
187
206
Entry ("[taskTree] contains tasks to remove IRSAv1 EKS Role annotation if remove trust option is specified" , migrateToPodIdentityAssociationEntry {
188
207
mockEKS : func (provider * mockprovider.MockProvider ) {
189
- mockDescribeAddon (provider , nil , false )
208
+ mockDescribeAddon (provider , nil , false , false )
190
209
},
191
210
mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
192
211
stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {}, nil )
@@ -204,7 +223,7 @@ var _ = Describe("Create", func() {
204
223
205
224
Entry ("[taskTree] contains all other expected tasks" , migrateToPodIdentityAssociationEntry {
206
225
mockEKS : func (provider * mockprovider.MockProvider ) {
207
- mockDescribeAddon (provider , nil , false )
226
+ mockDescribeAddon (provider , nil , false , false )
208
227
},
209
228
mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
210
229
stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {
@@ -233,7 +252,7 @@ var _ = Describe("Create", func() {
233
252
234
253
Entry ("completes all tasks successfully" , migrateToPodIdentityAssociationEntry {
235
254
mockEKS : func (provider * mockprovider.MockProvider ) {
236
- mockDescribeAddon (provider , nil , false )
255
+ mockDescribeAddon (provider , nil , false , false )
237
256
238
257
mockProvider .MockEKS ().
239
258
On ("CreatePodIdentityAssociation" , mock .Anything , mock .Anything ).
@@ -314,7 +333,7 @@ var _ = Describe("Create", func() {
314
333
315
334
Entry ("completes all tasks successfully for auto-mode" , migrateToPodIdentityAssociationEntry {
316
335
mockEKS : func (provider * mockprovider.MockProvider ) {
317
- mockDescribeAddon (provider , nil , true )
336
+ mockDescribeAddon (provider , nil , true , false )
318
337
319
338
mockProvider .MockEKS ().
320
339
On ("CreatePodIdentityAssociation" , mock .Anything , mock .Anything ).
0 commit comments