@@ -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