mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Add unit tests for GetNodeResourceGroup and GetResourceGroups
This commit is contained in:
parent
5fdc7154f2
commit
5b5101b563
@ -1067,7 +1067,7 @@ func getClusterResources(az *Cloud, vmCount int, availabilitySetCount int) (clus
|
|||||||
az.InterfacesClient.CreateOrUpdate(ctx, az.Config.ResourceGroup, nicName, newNIC)
|
az.InterfacesClient.CreateOrUpdate(ctx, az.Config.ResourceGroup, nicName, newNIC)
|
||||||
|
|
||||||
// create vm
|
// create vm
|
||||||
asID := az.getAvailabilitySetID(asName)
|
asID := az.getAvailabilitySetID(az.Config.ResourceGroup, asName)
|
||||||
newVM := compute.VirtualMachine{
|
newVM := compute.VirtualMachine{
|
||||||
Name: &vmName,
|
Name: &vmName,
|
||||||
Location: &az.Config.Location,
|
Location: &az.Config.Location,
|
||||||
@ -2773,3 +2773,100 @@ func TestGetResourceGroupFromDiskURI(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetResourceGroups(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
nodeResourceGroups map[string]string
|
||||||
|
expected sets.String
|
||||||
|
informerSynced bool
|
||||||
|
expectError bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "cloud provider configured RG should be returned by default",
|
||||||
|
nodeResourceGroups: map[string]string{},
|
||||||
|
informerSynced: true,
|
||||||
|
expected: sets.NewString("rg"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "cloud provider configured RG and node RGs should be returned",
|
||||||
|
nodeResourceGroups: map[string]string{"node1": "rg1", "node2": "rg2"},
|
||||||
|
informerSynced: true,
|
||||||
|
expected: sets.NewString("rg", "rg1", "rg2"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "error should be returned if informer hasn't synced yet",
|
||||||
|
nodeResourceGroups: map[string]string{"node1": "rg1", "node2": "rg2"},
|
||||||
|
informerSynced: false,
|
||||||
|
expectError: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
az := getTestCloud()
|
||||||
|
for _, test := range tests {
|
||||||
|
az.nodeResourceGroups = test.nodeResourceGroups
|
||||||
|
if test.informerSynced {
|
||||||
|
az.nodeInformerSynced = func() bool { return true }
|
||||||
|
} else {
|
||||||
|
az.nodeInformerSynced = func() bool { return false }
|
||||||
|
}
|
||||||
|
actual, err := az.GetResourceGroups()
|
||||||
|
if test.expectError {
|
||||||
|
assert.NotNil(t, err, test.name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.Nil(t, err, test.name)
|
||||||
|
assert.Equal(t, test.expected, actual, test.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetNodeResourceGroup(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
nodeResourceGroups map[string]string
|
||||||
|
node string
|
||||||
|
expected string
|
||||||
|
informerSynced bool
|
||||||
|
expectError bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "cloud provider configured RG should be returned by default",
|
||||||
|
nodeResourceGroups: map[string]string{},
|
||||||
|
informerSynced: true,
|
||||||
|
node: "node1",
|
||||||
|
expected: "rg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "node RGs should be returned",
|
||||||
|
nodeResourceGroups: map[string]string{"node1": "rg1", "node2": "rg2"},
|
||||||
|
informerSynced: true,
|
||||||
|
node: "node1",
|
||||||
|
expected: "rg1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "error should be returned if informer hasn't synced yet",
|
||||||
|
nodeResourceGroups: map[string]string{"node1": "rg1", "node2": "rg2"},
|
||||||
|
informerSynced: false,
|
||||||
|
expectError: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
az := getTestCloud()
|
||||||
|
for _, test := range tests {
|
||||||
|
az.nodeResourceGroups = test.nodeResourceGroups
|
||||||
|
if test.informerSynced {
|
||||||
|
az.nodeInformerSynced = func() bool { return true }
|
||||||
|
} else {
|
||||||
|
az.nodeInformerSynced = func() bool { return false }
|
||||||
|
}
|
||||||
|
actual, err := az.GetNodeResourceGroup(test.node)
|
||||||
|
if test.expectError {
|
||||||
|
assert.NotNil(t, err, test.name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.Nil(t, err, test.name)
|
||||||
|
assert.Equal(t, test.expected, actual, test.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user