Merge pull request #114634 from TommyStarK/unit-tests/pkg-kubelet-cloudresource

kubelet/cloudresource: Improving test coverage
This commit is contained in:
Kubernetes Prow Robot 2023-03-14 09:38:45 -07:00 committed by GitHub
commit b623fcc181
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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 {