test: add unit test

This commit is contained in:
andyzhangx 2022-03-05 13:41:22 +00:00
parent 14275e0be0
commit 3c258fee98
3 changed files with 48 additions and 7 deletions

View File

@ -100,16 +100,18 @@ func TestCreateVolume(t *testing.T) {
}, },
}, },
Parameters: map[string]string{ Parameters: map[string]string{
paramServer: testServer, paramServer: testServer,
paramShare: testBaseDir, paramShare: testBaseDir,
mountPermissionsField: "0750",
}, },
}, },
resp: &csi.CreateVolumeResponse{ resp: &csi.CreateVolumeResponse{
Volume: &csi.Volume{ Volume: &csi.Volume{
VolumeId: newTestVolumeID, VolumeId: newTestVolumeID,
VolumeContext: map[string]string{ VolumeContext: map[string]string{
paramServer: testServer, paramServer: testServer,
paramShare: testShare, paramShare: testShare,
mountPermissionsField: "0750",
}, },
}, },
}, },
@ -201,6 +203,28 @@ func TestCreateVolume(t *testing.T) {
}, },
expectErr: true, 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 { for _, test := range cases {

View File

@ -72,7 +72,7 @@ func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis
if v != "" { if v != "" {
var err error var err error
if mountPermissions, err = strconv.ParseUint(v, 8, 32); err != nil { 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))
} }
} }
} }

View File

@ -41,8 +41,15 @@ func TestNodePublishVolume(t *testing.T) {
} }
params := map[string]string{ params := map[string]string{
"server": "server", "server": "server",
"share": "share", "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} volumeCap := csi.VolumeCapability_AccessMode{Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER}
@ -112,6 +119,16 @@ func TestNodePublishVolume(t *testing.T) {
Readonly: true}, Readonly: true},
expectedErr: nil, 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 // setup