diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/BUILD b/staging/src/k8s.io/legacy-cloud-providers/azure/BUILD index d410cf087c2..2b3f5dca616 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/BUILD +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/BUILD @@ -121,6 +121,7 @@ go_test( "//vendor/github.com/Azure/go-autorest/autorest:go_default_library", "//vendor/github.com/Azure/go-autorest/autorest/to:go_default_library", "//vendor/github.com/stretchr/testify/assert:go_default_library", + "//vendor/k8s.io/utils/pointer:go_default_library", "//vendor/sigs.k8s.io/yaml:go_default_library", ], ) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_common_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_common_test.go index 905b95753c5..1e5168c4644 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_common_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_common_test.go @@ -26,6 +26,7 @@ import ( "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/types" + "k8s.io/utils/pointer" ) func TestCommonAttachDisk(t *testing.T) { @@ -243,3 +244,38 @@ func TestDisksAreAttached(t *testing.T) { assert.Equal(t, test.expectedErr, err != nil, "TestCase[%d]: %s", i, test.desc) } } + +func TestFilteredDetatchingDisks(t *testing.T) { + + disks := []compute.DataDisk{ + { + Name: pointer.StringPtr("DiskName1"), + ToBeDetached: pointer.BoolPtr(false), + ManagedDisk: &compute.ManagedDiskParameters{ + ID: pointer.StringPtr("ManagedID"), + }, + }, + { + Name: pointer.StringPtr("DiskName2"), + ToBeDetached: pointer.BoolPtr(true), + }, + { + Name: pointer.StringPtr("DiskName3"), + ToBeDetached: nil, + }, + { + Name: pointer.StringPtr("DiskName4"), + ToBeDetached: nil, + }, + } + + filteredDisks := filterDetachingDisks(disks) + assert.Equal(t, 3, len(filteredDisks)) + assert.Equal(t, "DiskName1", *filteredDisks[0].Name) + assert.Equal(t, "ManagedID", *filteredDisks[0].ManagedDisk.ID) + assert.Equal(t, "DiskName3", *filteredDisks[1].Name) + + disks = []compute.DataDisk{} + filteredDisks = filterDetachingDisks(disks) + assert.Equal(t, 0, len(filteredDisks)) +}