@@ -66,16 +66,18 @@ var _ = Describe("Create", func() {
6666 genericErr = fmt .Errorf ("ERR" )
6767 )
6868
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+ }
7078 mockProvider .MockEKS ().
7179 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 ).
7981 Once ()
8082 if ! autoMode {
8183 mockProvider .MockEKS ().
@@ -152,14 +154,14 @@ var _ = Describe("Create", func() {
152154 },
153155 Entry ("[API errors] describing pod identity agent addon fails" , migrateToPodIdentityAssociationEntry {
154156 mockEKS : func (provider * mockprovider.MockProvider ) {
155- mockDescribeAddon (provider , genericErr , false )
157+ mockDescribeAddon (provider , genericErr , false , false )
156158 },
157159 expectedErr : fmt .Sprintf ("calling %q" , fmt .Sprintf ("EKS::DescribeAddon::%s" , api .PodIdentityAgentAddon )),
158160 }),
159161
160162 Entry ("[API errors] fetching iamserviceaccounts fails" , migrateToPodIdentityAssociationEntry {
161163 mockEKS : func (provider * mockprovider.MockProvider ) {
162- mockDescribeAddon (provider , nil , false )
164+ mockDescribeAddon (provider , nil , false , false )
163165 },
164166 mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
165167 stackUpdater .GetIAMServiceAccountsReturns (nil , genericErr )
@@ -171,7 +173,24 @@ var _ = Describe("Create", func() {
171173 mockEKS : func (provider * mockprovider.MockProvider ) {
172174 mockDescribeAddon (provider , & ekstypes.ResourceNotFoundException {
173175 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 )
175194 },
176195 mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
177196 stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {}, nil )
@@ -186,7 +205,7 @@ var _ = Describe("Create", func() {
186205
187206 Entry ("[taskTree] contains tasks to remove IRSAv1 EKS Role annotation if remove trust option is specified" , migrateToPodIdentityAssociationEntry {
188207 mockEKS : func (provider * mockprovider.MockProvider ) {
189- mockDescribeAddon (provider , nil , false )
208+ mockDescribeAddon (provider , nil , false , false )
190209 },
191210 mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
192211 stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {}, nil )
@@ -204,7 +223,7 @@ var _ = Describe("Create", func() {
204223
205224 Entry ("[taskTree] contains all other expected tasks" , migrateToPodIdentityAssociationEntry {
206225 mockEKS : func (provider * mockprovider.MockProvider ) {
207- mockDescribeAddon (provider , nil , false )
226+ mockDescribeAddon (provider , nil , false , false )
208227 },
209228 mockCFN : func (stackUpdater * fakes.FakeStackUpdater ) {
210229 stackUpdater .GetIAMServiceAccountsReturns ([]* api.ClusterIAMServiceAccount {
@@ -233,7 +252,7 @@ var _ = Describe("Create", func() {
233252
234253 Entry ("completes all tasks successfully" , migrateToPodIdentityAssociationEntry {
235254 mockEKS : func (provider * mockprovider.MockProvider ) {
236- mockDescribeAddon (provider , nil , false )
255+ mockDescribeAddon (provider , nil , false , false )
237256
238257 mockProvider .MockEKS ().
239258 On ("CreatePodIdentityAssociation" , mock .Anything , mock .Anything ).
@@ -314,7 +333,7 @@ var _ = Describe("Create", func() {
314333
315334 Entry ("completes all tasks successfully for auto-mode" , migrateToPodIdentityAssociationEntry {
316335 mockEKS : func (provider * mockprovider.MockProvider ) {
317- mockDescribeAddon (provider , nil , true )
336+ mockDescribeAddon (provider , nil , true , false )
318337
319338 mockProvider .MockEKS ().
320339 On ("CreatePodIdentityAssociation" , mock .Anything , mock .Anything ).
0 commit comments