From 3c258fee98213a2ae51e41a7c0cfc2495949a0df Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Sat, 5 Mar 2022 13:41:22 +0000 Subject: [PATCH] test: add unit test --- pkg/nfs/controllerserver_test.go | 32 ++++++++++++++++++++++++++++---- pkg/nfs/nodeserver.go | 2 +- pkg/nfs/nodeserver_test.go | 21 +++++++++++++++++++-- 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/pkg/nfs/controllerserver_test.go b/pkg/nfs/controllerserver_test.go index d7fb6309..8b104101 100644 --- a/pkg/nfs/controllerserver_test.go +++ b/pkg/nfs/controllerserver_test.go @@ -100,16 +100,18 @@ func TestCreateVolume(t *testing.T) { }, }, Parameters: map[string]string{ - paramServer: testServer, - paramShare: testBaseDir, + paramServer: testServer, + paramShare: testBaseDir, + mountPermissionsField: "0750", }, }, resp: &csi.CreateVolumeResponse{ Volume: &csi.Volume{ VolumeId: newTestVolumeID, VolumeContext: map[string]string{ - paramServer: testServer, - paramShare: testShare, + paramServer: testServer, + paramShare: testShare, + mountPermissionsField: "0750", }, }, }, @@ -201,6 +203,28 @@ func TestCreateVolume(t *testing.T) { }, expectErr: true, }, + { + name: "[Error] invalid mountPermissions", + req: &csi.CreateVolumeRequest{ + Name: testCSIVolume, + VolumeCapabilities: []*csi.VolumeCapability{ + { + AccessType: &csi.VolumeCapability_Mount{ + Mount: &csi.VolumeCapability_MountVolume{}, + }, + AccessMode: &csi.VolumeCapability_AccessMode{ + Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER, + }, + }, + }, + Parameters: map[string]string{ + paramServer: testServer, + paramShare: testBaseDir, + mountPermissionsField: "07ab", + }, + }, + expectErr: true, + }, } for _, test := range cases { diff --git a/pkg/nfs/nodeserver.go b/pkg/nfs/nodeserver.go index f354d301..86f1dab8 100644 --- a/pkg/nfs/nodeserver.go +++ b/pkg/nfs/nodeserver.go @@ -72,7 +72,7 @@ func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis if v != "" { var err error if mountPermissions, err = strconv.ParseUint(v, 8, 32); err != nil { - return nil, status.Errorf(codes.InvalidArgument, fmt.Sprintf("invalid mountPermissions %s in storage class", v)) + return nil, status.Errorf(codes.InvalidArgument, fmt.Sprintf("invalid mountPermissions %s", v)) } } } diff --git a/pkg/nfs/nodeserver_test.go b/pkg/nfs/nodeserver_test.go index d417f098..a559c61e 100644 --- a/pkg/nfs/nodeserver_test.go +++ b/pkg/nfs/nodeserver_test.go @@ -41,8 +41,15 @@ func TestNodePublishVolume(t *testing.T) { } params := map[string]string{ - "server": "server", - "share": "share", + "server": "server", + "share": "share", + mountPermissionsField: "0755", + } + + invalidParams := map[string]string{ + "server": "server", + "share": "share", + mountPermissionsField: "07ab", } volumeCap := csi.VolumeCapability_AccessMode{Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER} @@ -112,6 +119,16 @@ func TestNodePublishVolume(t *testing.T) { Readonly: true}, expectedErr: nil, }, + { + desc: "[Error] invalid mountPermissions", + req: csi.NodePublishVolumeRequest{ + VolumeContext: invalidParams, + VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap}, + VolumeId: "vol_1", + TargetPath: targetTest, + Readonly: true}, + expectedErr: status.Error(codes.InvalidArgument, "invalid mountPermissions 07ab"), + }, } // setup