diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient.go b/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient.go index c595e9d068a..70d81d87bb8 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient.go @@ -64,10 +64,11 @@ func New(authorizer autorest.Authorizer, baseURI, userAgent, apiVersion, clientR backoff := clientBackoff if backoff == nil { + backoff = &retry.Backoff{} + } + if backoff.Steps == 0 { // 1 steps means no retry. - backoff = &retry.Backoff{ - Steps: 1, - } + backoff.Steps = 1 } return &Client{ diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient_test.go index 19645847236..700b43eaaaf 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/azure_armclient_test.go @@ -36,6 +36,22 @@ const ( testResourceID = "/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/publicIPAddresses/testPIP" ) +func TestNew(t *testing.T) { + backoff := &retry.Backoff{Steps: 3} + armClient := New(nil, "", "test", "2019-01-01", "eastus", backoff) + assert.NotNil(t, armClient.backoff) + assert.Equal(t, 3, armClient.backoff.Steps, "Backoff steps should be same as the value passed in") + + backoff = &retry.Backoff{Steps: 0} + armClient = New(nil, "", "test", "2019-01-01", "eastus", backoff) + assert.NotNil(t, armClient.backoff) + assert.Equal(t, 1, armClient.backoff.Steps, "Backoff steps should be default to 1 if it is 0") + + armClient = New(nil, "", "test", "2019-01-01", "eastus", nil) + assert.NotNil(t, armClient.backoff) + assert.Equal(t, 1, armClient.backoff.Steps, "Backoff steps should be default to 1 if it is not set") +} + func TestSend(t *testing.T) { count := 0 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {