Skip to content

Commit f1ece4d

Browse files
committed
Update the disk tests to run with multiple types of disks attached
1 parent a646fd4 commit f1ece4d

File tree

7 files changed

+34
-58
lines changed

7 files changed

+34
-58
lines changed

integrationtests/disk_v1_test.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"testing"
1010
"time"
1111

12-
"github.com/kubernetes-csi/csi-proxy/client/api/disk/v1"
12+
v1 "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1"
1313
diskv1client "github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1"
1414
"github.com/stretchr/testify/assert"
1515
"github.com/stretchr/testify/require"
@@ -51,19 +51,20 @@ func v1DiskTests(t *testing.T) {
5151
t.Errorf("Expected to get at least one diskIDs, instead got diskIDsResponse.DiskIDs=%+v", diskIDsMap)
5252
}
5353

54+
// some disks may have the field Page83, if it's a GCE Persistent disk
55+
// it'll have a nonempty SerialNumber
5456
// first disk is the VM disk (other disks might be VHD)
55-
diskNumber := 0
56-
diskIDs, found := diskIDsMap[uint32(diskNumber)]
57-
if !found {
58-
t.Errorf("Cannot find Disk %d", diskNumber)
59-
}
60-
page83 := diskIDs.Page83
61-
if page83 == "" {
62-
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
63-
}
64-
serialNumber := diskIDs.SerialNumber
65-
if serialNumber == "" {
66-
t.Errorf("serialNumber field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
57+
for diskNumber, diskIDs := range diskIDsMap {
58+
if len(diskIDs.SerialNumber) > 0 {
59+
// the nvme disks don't have a Page83 number
60+
if strings.HasPrefix(diskIDs.SerialNumber, "nvme") {
61+
continue
62+
}
63+
page83 := diskIDs.Page83
64+
if page83 == "" {
65+
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
66+
}
67+
}
6768
}
6869

6970
listDiskLocationsRequest := &v1.ListDiskLocationsRequest{}

integrationtests/disk_v1beta1_test.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,6 @@ func v1beta1DiskTests(t *testing.T) {
4747
t.Errorf("Expected to get at least one diskIDs, instead got diskIDsResponse.DiskIDs=%+v", diskIDsMap)
4848
}
4949

50-
// first disk is the VM disk (other disks might be VHD)
51-
diskNumber := 0
52-
diskIDs, found := diskIDsMap[strconv.FormatUint(uint64(diskNumber), 10)]
53-
if !found {
54-
t.Errorf("Cannot find Disk %d", diskNumber)
55-
}
56-
page83 := diskIDs.Identifiers["page83"]
57-
if page83 == "" {
58-
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
59-
}
60-
serialNumber := diskIDs.Identifiers["serialNumber"]
61-
if serialNumber == "" {
62-
t.Errorf("serialNumber field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
63-
}
64-
6550
listDiskLocationsRequest := &v1beta1.ListDiskLocationsRequest{}
6651
listDiskLocationsResponse, err := client.ListDiskLocations(context.TODO(), listDiskLocationsRequest)
6752
require.Nil(t, err)

integrationtests/disk_v1beta2_test.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,6 @@ func v1beta2DiskTests(t *testing.T) {
4848
t.Errorf("Expected to get at least one diskIDs, instead got diskIDsResponse.DiskIDs=%+v", diskIDsMap)
4949
}
5050

51-
// first disk is the VM disk (other disks might be VHD)
52-
diskNumber := 0
53-
diskIDs, found := diskIDsMap[strconv.FormatUint(uint64(diskNumber), 10)]
54-
if !found {
55-
t.Errorf("Cannot find Disk %d", diskNumber)
56-
}
57-
page83 := diskIDs.Identifiers["page83"]
58-
if page83 == "" {
59-
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
60-
}
61-
serialNumber := diskIDs.Identifiers["serialNumber"]
62-
if serialNumber == "" {
63-
t.Errorf("serialNumber field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
64-
}
65-
6651
listDiskLocationsRequest := &v1beta2.ListDiskLocationsRequest{}
6752
listDiskLocationsResponse, err := client.ListDiskLocations(context.TODO(), listDiskLocationsRequest)
6853
require.Nil(t, err)

integrationtests/disk_v1beta3_test.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,20 @@ func v1beta3DiskTests(t *testing.T) {
5151
t.Errorf("Expected to get at least one diskIDs, instead got diskIDsResponse.DiskIDs=%+v", diskIDsMap)
5252
}
5353

54+
// some disks may have the field Page83, if it's a GCE Persistent disk
55+
// it'll have a nonempty SerialNumber
5456
// first disk is the VM disk (other disks might be VHD)
55-
diskNumber := 0
56-
diskIDs, found := diskIDsMap[uint32(diskNumber)]
57-
if !found {
58-
t.Errorf("Cannot find Disk %d", diskNumber)
59-
}
60-
page83 := diskIDs.Page83
61-
if page83 == "" {
62-
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
63-
}
64-
serialNumber := diskIDs.SerialNumber
65-
if serialNumber == "" {
66-
t.Errorf("serialNumber field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
57+
for diskNumber, diskIDs := range diskIDsMap {
58+
if len(diskIDs.SerialNumber) > 0 {
59+
// the nvme disks don't have a Page83 number
60+
if strings.HasPrefix(diskIDs.SerialNumber, "nvme") {
61+
continue
62+
}
63+
page83 := diskIDs.Page83
64+
if page83 == "" {
65+
t.Errorf("page83 field of diskNumber=%d should be defined, instead got diskIDs=%v", diskNumber, diskIDs)
66+
}
67+
}
6768
}
6869

6970
listDiskLocationsRequest := &v1beta3.ListDiskLocationsRequest{}

integrationtests/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func shouldRunIscsiTests() bool {
156156
}
157157

158158
func runPowershellCmd(t *testing.T, command string) (string, error) {
159-
cmd := exec.Command("powershell", "/c", command)
159+
cmd := exec.Command("powershell", "/c", fmt.Sprintf("& { $global:ProgressPreference = 'SilentlyContinue'; %s }", command))
160160
t.Logf("Executing command: %q", cmd.String())
161161
result, err := cmd.CombinedOutput()
162162
return string(result), err

scripts/utils.psm1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,9 @@ function Restart-CSIProxy {
2626

2727
function Run-CSIProxyIntegrationTests {
2828
Write-Output "Running integration tests"
29-
powershell -c "C:\Users\$env:UserName\integrationtests.test.exe --test.v"
29+
.\integrationtests.test.exe --test.v --test.run TestAPIGroups
30+
.\integrationtests.test.exe --test.v --test.run TestDiskAPIGroup
31+
.\integrationtests.test.exe --test.v --test.run TestVolumeAPIs
32+
.\integrationtests.test.exe --test.v --test.run TestSmbAPIGroup
33+
.\integrationtests.test.exe --test.v --test.run TestFilesystemAPIGroup
3034
}

scripts/utils.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,5 @@ restart_csi_proxy() {
5050

5151
run_csi_proxy_integration_tests() {
5252
echo "Run integration tests"
53-
gcloud compute ssh $windows_node --command='powershell -c "& { Import-Module .\utils.psm1; Run-CSIProxyIntegrationTests }"'
53+
gcloud compute ssh $windows_node --command="powershell -c \"& { Import-Module .\utils.psm1; Run-CSIProxyIntegrationTests }\""
5454
}

0 commit comments

Comments
 (0)