@@ -174,12 +174,16 @@ func executeVaultSecretsCreateTest(t *testing.T, encryptedSecret, secretID, owne
174174 framework .L .Info ().Msgf ("CreateSecretsResponse decoded as: %s" , createSecretsResponse .String ())
175175
176176 require .Len (t , createSecretsResponse .Responses , len (namespaces ), "Expected one item in the response per namespace" )
177- for i , namespace := range namespaces {
178- result := createSecretsResponse .GetResponses ()[i ]
177+ respByNs := make (map [string ]* vault_helpers.CreateSecretResponse , len (namespaces ))
178+ for _ , r := range createSecretsResponse .GetResponses () {
179+ respByNs [r .GetId ().GetNamespace ()] = r
180+ }
181+ for _ , namespace := range namespaces {
182+ result , ok := respByNs [namespace ]
183+ require .True (t , ok , "missing response for namespace %s" , namespace )
179184 require .Empty (t , result .GetError ())
180185 require .Equal (t , secretID , result .GetId ().Key )
181186 require .Equal (t , owner , result .GetId ().Owner )
182- require .Equal (t , namespace , result .GetId ().Namespace )
183187 }
184188
185189 framework .L .Info ().Msgf ("Secrets created successfully (namespaces=%v)" , namespaces )
@@ -297,17 +301,25 @@ func executeVaultSecretsUpdateTest(t *testing.T, encryptedSecret, secretID, owne
297301 framework .L .Info ().Msgf ("UpdateSecretsResponse decoded as: %s" , updateSecretsResponse .String ())
298302
299303 require .Len (t , updateSecretsResponse .Responses , len (namespaces )+ 1 , "Expected one updated item per namespace plus one invalid item" )
300- for i , namespace := range namespaces {
301- result := updateSecretsResponse .GetResponses ()[i ]
304+ var foundInvalid bool
305+ updateRespByNs := make (map [string ]* vault_helpers.UpdateSecretResponse , len (namespaces ))
306+ for _ , r := range updateSecretsResponse .GetResponses () {
307+ if r .GetId ().GetKey () == "invalid" {
308+ require .Contains (t , r .Error , "key does not exist" )
309+ foundInvalid = true
310+ continue
311+ }
312+ updateRespByNs [r .GetId ().GetNamespace ()] = r
313+ }
314+ require .True (t , foundInvalid , "expected an error response for the 'invalid' key" )
315+ for _ , namespace := range namespaces {
316+ result , ok := updateRespByNs [namespace ]
317+ require .True (t , ok , "missing update response for namespace %s" , namespace )
302318 require .Empty (t , result .GetError ())
303319 require .Equal (t , secretID , result .GetId ().Key )
304320 require .Equal (t , owner , result .GetId ().Owner )
305- require .Equal (t , namespace , result .GetId ().Namespace )
306321 }
307322
308- resultInvalid := updateSecretsResponse .GetResponses ()[len (namespaces )]
309- require .Contains (t , resultInvalid .Error , "key does not exist" )
310-
311323 framework .L .Info ().Msgf ("Secrets updated successfully (namespaces=%v)" , namespaces )
312324}
313325
@@ -468,17 +480,25 @@ func executeVaultSecretsDeleteTest(t *testing.T, secretID, owner, gatewayURL str
468480 framework .L .Info ().Msgf ("DeleteSecretResponse decoded as: %s" , deleteSecretsResponse .String ())
469481
470482 require .Len (t , deleteSecretsResponse .Responses , len (namespaces )+ 1 , "Expected one deleted item per namespace plus one invalid item" )
471- for i , namespace := range namespaces {
472- result := deleteSecretsResponse .GetResponses ()[i ]
483+ var foundDeleteInvalid bool
484+ deleteRespByNs := make (map [string ]* vault_helpers.DeleteSecretResponse , len (namespaces ))
485+ for _ , r := range deleteSecretsResponse .GetResponses () {
486+ if r .GetId ().GetKey () == "invalid" {
487+ require .Contains (t , r .Error , "key does not exist" )
488+ foundDeleteInvalid = true
489+ continue
490+ }
491+ deleteRespByNs [r .GetId ().GetNamespace ()] = r
492+ }
493+ require .True (t , foundDeleteInvalid , "expected an error response for the 'invalid' key" )
494+ for _ , namespace := range namespaces {
495+ result , ok := deleteRespByNs [namespace ]
496+ require .True (t , ok , "missing delete response for namespace %s" , namespace )
473497 require .True (t , result .Success , result .Error )
474- require .Equal (t , result .Id .Owner , owner )
475- require .Equal (t , result .Id .Key , secretID )
476- require .Equal (t , result .Id .Namespace , namespace )
498+ require .Equal (t , owner , result .Id .Owner )
499+ require .Equal (t , secretID , result .Id .Key )
477500 }
478501
479- resultInvalid := deleteSecretsResponse .GetResponses ()[len (namespaces )]
480- require .Contains (t , resultInvalid .Error , "key does not exist" )
481-
482502 framework .L .Info ().Msgf ("Secrets deleted successfully (namespaces=%v)" , namespaces )
483503}
484504
0 commit comments