kubelet/cloudresource: Improving test coverage

Signed-off-by: TommyStarK <thomasmilox@gmail.com>
This commit is contained in:
TommyStarK 2022-12-21 12:04:49 +01:00
parent 55181b72a2
commit 4ff1c86f7f

View File

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