fix: ValidateVolumeCapabilities
This commit is contained in:
parent
f9faadf9c2
commit
9b3e1cd174
2
.github/workflows/static.yaml
vendored
2
.github/workflows/static.yaml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
- name: Run linter
|
||||
uses: golangci/golangci-lint-action@v2
|
||||
with:
|
||||
version: v1.29
|
||||
version: v1.31
|
||||
args: -E=gofmt,deadcode,unused,varcheck,ineffassign,golint,misspell --timeout=30m0s
|
||||
verify-helm:
|
||||
name: Verify Helm
|
||||
|
||||
@ -178,8 +178,12 @@ func (cs *ControllerServer) ValidateVolumeCapabilities(ctx context.Context, req
|
||||
return nil, status.Error(codes.InvalidArgument, "Volume capabilities missing in request")
|
||||
}
|
||||
|
||||
// supports all AccessModes, no need to check capabilities here
|
||||
return &csi.ValidateVolumeCapabilitiesResponse{Message: ""}, nil
|
||||
return &csi.ValidateVolumeCapabilitiesResponse{
|
||||
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{
|
||||
VolumeCapabilities: req.GetVolumeCapabilities(),
|
||||
},
|
||||
Message: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (cs *ControllerServer) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error) {
|
||||
|
||||
@ -294,6 +294,17 @@ func TestDeleteVolume(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestValidateVolumeCapabilities(t *testing.T) {
|
||||
capabilities := []*csi.VolumeCapability{
|
||||
{
|
||||
AccessType: &csi.VolumeCapability_Mount{
|
||||
Mount: &csi.VolumeCapability_MountVolume{},
|
||||
},
|
||||
AccessMode: &csi.VolumeCapability_AccessMode{
|
||||
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cases := []struct {
|
||||
desc string
|
||||
req *csi.ValidateVolumeCapabilitiesRequest
|
||||
@ -315,37 +326,23 @@ func TestValidateVolumeCapabilities(t *testing.T) {
|
||||
{
|
||||
desc: "valid request",
|
||||
req: &csi.ValidateVolumeCapabilitiesRequest{
|
||||
VolumeId: testVolumeID,
|
||||
VolumeCapabilities: []*csi.VolumeCapability{
|
||||
{
|
||||
AccessType: &csi.VolumeCapability_Mount{
|
||||
Mount: &csi.VolumeCapability_MountVolume{},
|
||||
},
|
||||
AccessMode: &csi.VolumeCapability_AccessMode{
|
||||
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
|
||||
},
|
||||
},
|
||||
},
|
||||
VolumeId: testVolumeID,
|
||||
VolumeCapabilities: capabilities,
|
||||
},
|
||||
resp: &csi.ValidateVolumeCapabilitiesResponse{
|
||||
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{VolumeCapabilities: capabilities},
|
||||
},
|
||||
resp: &csi.ValidateVolumeCapabilitiesResponse{Message: ""},
|
||||
expectedErr: nil,
|
||||
},
|
||||
{
|
||||
desc: "valid request with newTestVolumeID",
|
||||
req: &csi.ValidateVolumeCapabilitiesRequest{
|
||||
VolumeId: newTestVolumeID,
|
||||
VolumeCapabilities: []*csi.VolumeCapability{
|
||||
{
|
||||
AccessType: &csi.VolumeCapability_Mount{
|
||||
Mount: &csi.VolumeCapability_MountVolume{},
|
||||
},
|
||||
AccessMode: &csi.VolumeCapability_AccessMode{
|
||||
Mode: csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
|
||||
},
|
||||
},
|
||||
},
|
||||
VolumeId: newTestVolumeID,
|
||||
VolumeCapabilities: capabilities,
|
||||
},
|
||||
resp: &csi.ValidateVolumeCapabilitiesResponse{
|
||||
Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{VolumeCapabilities: capabilities},
|
||||
},
|
||||
resp: &csi.ValidateVolumeCapabilitiesResponse{Message: ""},
|
||||
expectedErr: nil,
|
||||
},
|
||||
}
|
||||
@ -353,13 +350,8 @@ func TestValidateVolumeCapabilities(t *testing.T) {
|
||||
for _, test := range cases {
|
||||
test := test //pin
|
||||
t.Run(test.desc, func(t *testing.T) {
|
||||
// Setup
|
||||
cs := initTestController(t)
|
||||
|
||||
// Run
|
||||
resp, err := cs.ValidateVolumeCapabilities(context.TODO(), test.req)
|
||||
|
||||
// Verify
|
||||
if test.expectedErr == nil && err != nil {
|
||||
t.Errorf("test %q failed: %v", test.desc, err)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user