added tests

This commit is contained in:
Lukas Wöhrl 2023-03-20 22:03:45 +01:00
parent c6392e630c
commit 9607c61390

View File

@ -40,10 +40,13 @@ const (
testBaseDirNested = "test/base/dir"
testCSIVolume = "volume-name"
testVolumeID = "test-server/test-base-dir/volume-name"
newTestVolumeID = "test-server#test-base-dir#volume-name#"
newTestVolumeID = "test-server#test-base-dir#volume-name##delete"
newTestVolumeWithVolumeID = "test-server#test-base-dir#volume-name#volume-name#delete"
testVolumeIDNested = "test-server/test/base/dir/volume-name"
newTestVolumeIDNested = "test-server#test/base/dir#volume-name#"
newTestVolumeIDUUID = "test-server#test-base-dir#volume-name#uuid"
newTestVolumeOnDeleteRetain = "test-server#test-base-dir#volume-name#uuid#retain"
newTestVolumeOnDeleteDelete = "test-server#test-base-dir#volume-name#uuid#delete"
)
func initTestController(t *testing.T) *ControllerServer {
@ -136,7 +139,7 @@ func TestCreateVolume(t *testing.T) {
},
resp: &csi.CreateVolumeResponse{
Volume: &csi.Volume{
VolumeId: newTestVolumeID + testCSIVolume,
VolumeId: newTestVolumeWithVolumeID,
VolumeContext: map[string]string{
paramServer: testServer,
paramShare: testBaseDir,
@ -246,6 +249,7 @@ func TestDeleteVolume(t *testing.T) {
testOnWindows bool
req *csi.DeleteVolumeRequest
resp *csi.DeleteVolumeResponse
expectedDeleteSubDir bool
expectedErr error
}{
{
@ -254,6 +258,7 @@ func TestDeleteVolume(t *testing.T) {
req: &csi.DeleteVolumeRequest{},
resp: nil,
expectedErr: status.Error(codes.InvalidArgument, "Volume ID missing in request"),
expectedDeleteSubDir: false,
},
{
desc: "Valid request",
@ -261,6 +266,7 @@ func TestDeleteVolume(t *testing.T) {
req: &csi.DeleteVolumeRequest{VolumeId: testVolumeID},
resp: &csi.DeleteVolumeResponse{},
expectedErr: nil,
expectedDeleteSubDir: true,
},
{
desc: "Valid request with newTestVolumeID",
@ -268,6 +274,15 @@ func TestDeleteVolume(t *testing.T) {
req: &csi.DeleteVolumeRequest{VolumeId: newTestVolumeID},
resp: &csi.DeleteVolumeResponse{},
expectedErr: nil,
expectedDeleteSubDir: true,
},
{
desc: "Valid request with onDelete:retain",
testOnWindows: true,
req: &csi.DeleteVolumeRequest{VolumeId: newTestVolumeOnDeleteRetain},
resp: &csi.DeleteVolumeResponse{},
expectedErr: nil,
expectedDeleteSubDir: false,
},
}
@ -292,8 +307,13 @@ func TestDeleteVolume(t *testing.T) {
if !reflect.DeepEqual(resp, test.resp) {
t.Errorf("test %q failed: got resp %+v, expected %+v", test.desc, resp, test.resp)
}
if _, err := os.Stat(filepath.Join(cs.Driver.workingMountDir, testCSIVolume, testCSIVolume)); test.expectedErr == nil && !os.IsNotExist(err) {
if _, err := os.Stat(filepath.Join(cs.Driver.workingMountDir, testCSIVolume, testCSIVolume)); test.expectedErr == nil {
if !os.IsNotExist(err) && test.expectedDeleteSubDir {
t.Errorf("test %q failed: expected volume subdirectory deleted, it still exists", test.desc)
} else if os.IsNotExist(err) && !test.expectedDeleteSubDir {
t.Errorf("test %q failed: expected volume subdirectory not deleted, it was deleted", test.desc)
}
}
})
}
@ -399,6 +419,7 @@ func TestNfsVolFromId(t *testing.T) {
server: testServer,
baseDir: testBaseDir,
subDir: testCSIVolume,
onDelete: "delete",
},
expectErr: false,
},
@ -436,6 +457,32 @@ func TestNfsVolFromId(t *testing.T) {
},
expectErr: false,
},
{
name: "valid request nested ondelete retain",
volumeID: newTestVolumeOnDeleteRetain,
resp: &nfsVolume{
id: newTestVolumeOnDeleteRetain,
server: testServer,
baseDir: testBaseDir,
subDir: testCSIVolume,
uuid: "uuid",
onDelete: "retain",
},
expectErr: false,
},
{
name: "valid request nested ondelete delete",
volumeID: newTestVolumeOnDeleteDelete,
resp: &nfsVolume{
id: newTestVolumeOnDeleteDelete,
server: testServer,
baseDir: testBaseDir,
subDir: testCSIVolume,
uuid: "uuid",
onDelete: "delete",
},
expectErr: false,
},
}
for _, test := range cases {
@ -556,12 +603,13 @@ func TestNewNFSVolume(t *testing.T) {
paramSubDir: "subdir",
},
expectVol: &nfsVolume{
id: "nfs-server.default.svc.cluster.local#share#subdir#pv-name",
id: "nfs-server.default.svc.cluster.local#share#subdir#pv-name#delete",
server: "//nfs-server.default.svc.cluster.local",
baseDir: "share",
subDir: "subdir",
size: 100,
uuid: "pv-name",
onDelete: "delete",
},
},
{
@ -577,12 +625,13 @@ func TestNewNFSVolume(t *testing.T) {
pvNameKey: "pvname",
},
expectVol: &nfsVolume{
id: "nfs-server.default.svc.cluster.local#share#subdir-pvcname-pvcnamespace-pvname#pv-name",
id: "nfs-server.default.svc.cluster.local#share#subdir-pvcname-pvcnamespace-pvname#pv-name#delete",
server: "//nfs-server.default.svc.cluster.local",
baseDir: "share",
subDir: "subdir-pvcname-pvcnamespace-pvname",
size: 100,
uuid: "pv-name",
onDelete: "delete",
},
},
{
@ -594,12 +643,13 @@ func TestNewNFSVolume(t *testing.T) {
paramShare: "share",
},
expectVol: &nfsVolume{
id: "nfs-server.default.svc.cluster.local#share#pv-name#",
id: "nfs-server.default.svc.cluster.local#share#pv-name##delete",
server: "//nfs-server.default.svc.cluster.local",
baseDir: "share",
subDir: "pv-name",
size: 200,
uuid: "",
onDelete: "delete",
},
},
{