Skip to content

Commit 87a0f16

Browse files
authored
Add retry logic to flaky azkeys test (Azure#17890)
1 parent 9b22ee2 commit 87a0f16

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

sdk/keyvault/azkeys/client_test.go

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -500,17 +500,28 @@ func TestUpdateKeyPropertiesImmutable(t *testing.T) {
500500
})
501501
require.NoError(t, err)
502502

503-
createResp, err := client.CreateRSAKey(ctx, key, &CreateRSAKeyOptions{
504-
HardwareProtected: to.Ptr(true),
505-
Properties: &Properties{
506-
Exportable: to.Ptr(true),
507-
},
508-
ReleasePolicy: &ReleasePolicy{
509-
Immutable: to.Ptr(true),
510-
EncodedPolicy: marshalledPolicy,
511-
},
512-
Operations: []*Operation{to.Ptr(OperationEncrypt), to.Ptr(OperationDecrypt)},
513-
})
503+
// retry creating the release policy because Key Vault sometimes can't reach
504+
// the fake attestation service we use in CI for several minutes after deployment
505+
var createResp CreateRSAKeyResponse
506+
for i := 0; i < 5; i++ {
507+
createResp, err = client.CreateRSAKey(ctx, key, &CreateRSAKeyOptions{
508+
HardwareProtected: to.Ptr(true),
509+
Properties: &Properties{
510+
Exportable: to.Ptr(true),
511+
},
512+
ReleasePolicy: &ReleasePolicy{
513+
Immutable: to.Ptr(true),
514+
EncodedPolicy: marshalledPolicy,
515+
},
516+
Operations: []*Operation{to.Ptr(OperationEncrypt), to.Ptr(OperationDecrypt)},
517+
})
518+
if err == nil {
519+
break
520+
}
521+
if recording.GetRecordMode() != recording.PlaybackMode {
522+
time.Sleep(time.Minute)
523+
}
524+
}
514525
require.NoError(t, err)
515526
defer cleanUpKey(t, client, key)
516527

0 commit comments

Comments
 (0)