From 4ff1c86f7f422a6e3b60c9cd50a4163fc5097a49 Mon Sep 17 00:00:00 2001 From: TommyStarK Date: Wed, 21 Dec 2022 12:04:49 +0100 Subject: [PATCH] kubelet/cloudresource: Improving test coverage Signed-off-by: TommyStarK --- .../cloud_request_manager_test.go | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/pkg/kubelet/cloudresource/cloud_request_manager_test.go b/pkg/kubelet/cloudresource/cloud_request_manager_test.go index 7bf186c1328..45cbbad8f5d 100644 --- a/pkg/kubelet/cloudresource/cloud_request_manager_test.go +++ b/pkg/kubelet/cloudresource/cloud_request_manager_test.go @@ -87,17 +87,24 @@ func TestNodeAddressesUsesLastSuccess(t *testing.T) { // These tests are stateful and order dependent. tests := []struct { - name string - addrs []v1.NodeAddress - err error - wantAddrs []v1.NodeAddress - wantErr bool + name string + addrs []v1.NodeAddress + err error + wantAddrs []v1.NodeAddress + wantErr bool + shouldDisableInstances bool }{ { name: "first sync loop encounters an error", err: errors.New("bad"), wantErr: true, }, + { + name: "failed to get instances from cloud provider", + err: errors.New("failed to get instances from cloud provider"), + wantErr: true, + shouldDisableInstances: true, + }, { name: "subsequent sync loop succeeds", addrs: createNodeInternalIPAddress("10.0.1.12"), @@ -120,6 +127,13 @@ func TestNodeAddressesUsesLastSuccess(t *testing.T) { cloud.Addresses = test.addrs cloud.Err = test.err + if test.shouldDisableInstances { + cloud.DisableInstances = true + defer func() { + cloud.DisableInstances = false + }() + } + manager.syncNodeAddresses() nodeAddresses, err := manager.NodeAddresses() if (err != nil) != test.wantErr {