Skip to content

Commit 86f7309

Browse files
committed
chore: fix ut
1 parent a9c4f7f commit 86f7309

File tree

4 files changed

+35
-28
lines changed

4 files changed

+35
-28
lines changed

pkg/nfs/controllerserver.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
// ControllerServer controller server setting
4141
type ControllerServer struct {
4242
Driver *Driver
43+
csi.UnimplementedControllerServer
4344
}
4445

4546
// nfsVolume is an internal representation of a volume
@@ -347,6 +348,10 @@ func (cs *ControllerServer) GetCapacity(_ context.Context, _ *csi.GetCapacityReq
347348
return nil, status.Error(codes.Unimplemented, "")
348349
}
349350

351+
func (d *Driver) ControllerModifyVolume(_ context.Context, _ *csi.ControllerModifyVolumeRequest) (*csi.ControllerModifyVolumeResponse, error) {
352+
return nil, status.Error(codes.Unimplemented, "")
353+
}
354+
350355
// ControllerGetCapabilities implements the default GRPC callout.
351356
// Default supports all capabilities
352357
func (cs *ControllerServer) ControllerGetCapabilities(_ context.Context, _ *csi.ControllerGetCapabilitiesRequest) (*csi.ControllerGetCapabilitiesResponse, error) {

pkg/nfs/identityserver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626

2727
type IdentityServer struct {
2828
Driver *Driver
29+
csi.UnimplementedIdentityServer
2930
}
3031

3132
func (ids *IdentityServer) GetPluginInfo(_ context.Context, _ *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error) {

pkg/nfs/nodeserver.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
type NodeServer struct {
3939
Driver *Driver
4040
mounter mount.Interface
41+
csi.UnimplementedNodeServer
4142
}
4243

4344
// NodePublishVolume mount the volume
@@ -223,9 +224,9 @@ func (ns *NodeServer) NodeGetVolumeStats(_ context.Context, req *csi.NodeGetVolu
223224
return nil, status.Errorf(codes.Internal, "%v", err)
224225
}
225226
if cache != nil {
226-
resp := cache.(csi.NodeGetVolumeStatsResponse)
227+
resp := cache.(*csi.NodeGetVolumeStatsResponse)
227228
klog.V(6).Infof("NodeGetVolumeStats: volume stats for volume %s path %s is cached", req.VolumeId, req.VolumePath)
228-
return &resp, nil
229+
return resp, nil
229230
}
230231

231232
if _, err := os.Lstat(req.VolumePath); err != nil {
@@ -284,7 +285,7 @@ func (ns *NodeServer) NodeGetVolumeStats(_ context.Context, req *csi.NodeGetVolu
284285
}
285286

286287
// cache the volume stats per volume
287-
ns.Driver.volStatsCache.Set(req.VolumeId, resp)
288+
ns.Driver.volStatsCache.Set(req.VolumeId, &resp)
288289
return &resp, err
289290
}
290291

pkg/nfs/nodeserver_test.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -74,24 +74,24 @@ func TestNodePublishVolume(t *testing.T) {
7474
tests := []struct {
7575
desc string
7676
setup func()
77-
req csi.NodePublishVolumeRequest
77+
req *csi.NodePublishVolumeRequest
7878
skipOnWindows bool
7979
expectedErr error
8080
cleanup func()
8181
}{
8282
{
8383
desc: "[Error] Volume capabilities missing",
84-
req: csi.NodePublishVolumeRequest{},
84+
req: &csi.NodePublishVolumeRequest{},
8585
expectedErr: status.Error(codes.InvalidArgument, "Volume capability missing in request"),
8686
},
8787
{
8888
desc: "[Error] Volume ID missing",
89-
req: csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap}},
89+
req: &csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap}},
9090
expectedErr: status.Error(codes.InvalidArgument, "Volume ID missing in request"),
9191
},
9292
{
9393
desc: "[Error] Target path missing",
94-
req: csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
94+
req: &csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
9595
VolumeId: "vol_1"},
9696
expectedErr: status.Error(codes.InvalidArgument, "Target path not provided"),
9797
},
@@ -100,7 +100,7 @@ func TestNodePublishVolume(t *testing.T) {
100100
setup: func() {
101101
ns.Driver.volumeLocks.TryAcquire(lockKey)
102102
},
103-
req: csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
103+
req: &csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
104104
VolumeId: "vol_1",
105105
VolumeContext: params,
106106
TargetPath: targetTest},
@@ -111,7 +111,7 @@ func TestNodePublishVolume(t *testing.T) {
111111
},
112112
{
113113
desc: "[Success] Stage target path missing",
114-
req: csi.NodePublishVolumeRequest{
114+
req: &csi.NodePublishVolumeRequest{
115115
VolumeContext: params,
116116
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
117117
VolumeId: "vol_1",
@@ -120,7 +120,7 @@ func TestNodePublishVolume(t *testing.T) {
120120
},
121121
{
122122
desc: "[Success] Valid request read only",
123-
req: csi.NodePublishVolumeRequest{
123+
req: &csi.NodePublishVolumeRequest{
124124
VolumeContext: params,
125125
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
126126
VolumeId: "vol_1",
@@ -130,7 +130,7 @@ func TestNodePublishVolume(t *testing.T) {
130130
},
131131
{
132132
desc: "[Success] Valid request already mounted",
133-
req: csi.NodePublishVolumeRequest{
133+
req: &csi.NodePublishVolumeRequest{
134134
VolumeContext: params,
135135
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
136136
VolumeId: "vol_1",
@@ -140,7 +140,7 @@ func TestNodePublishVolume(t *testing.T) {
140140
},
141141
{
142142
desc: "[Success] Valid request",
143-
req: csi.NodePublishVolumeRequest{
143+
req: &csi.NodePublishVolumeRequest{
144144
VolumeContext: params,
145145
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
146146
VolumeId: "vol_1",
@@ -150,7 +150,7 @@ func TestNodePublishVolume(t *testing.T) {
150150
},
151151
{
152152
desc: "[Success] Valid request with pv/pvc metadata",
153-
req: csi.NodePublishVolumeRequest{
153+
req: &csi.NodePublishVolumeRequest{
154154
VolumeContext: paramsWithMetadata,
155155
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
156156
VolumeId: "vol_1",
@@ -160,7 +160,7 @@ func TestNodePublishVolume(t *testing.T) {
160160
},
161161
{
162162
desc: "[Success] Valid request with 0 mountPermissions",
163-
req: csi.NodePublishVolumeRequest{
163+
req: &csi.NodePublishVolumeRequest{
164164
VolumeContext: paramsWithZeroPermissions,
165165
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
166166
VolumeId: "vol_1",
@@ -170,7 +170,7 @@ func TestNodePublishVolume(t *testing.T) {
170170
},
171171
{
172172
desc: "[Error] invalid mountPermissions",
173-
req: csi.NodePublishVolumeRequest{
173+
req: &csi.NodePublishVolumeRequest{
174174
VolumeContext: invalidParams,
175175
VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
176176
VolumeId: "vol_1",
@@ -188,7 +188,7 @@ func TestNodePublishVolume(t *testing.T) {
188188
if tc.setup != nil {
189189
tc.setup()
190190
}
191-
_, err := ns.NodePublishVolume(context.Background(), &tc.req)
191+
_, err := ns.NodePublishVolume(context.Background(), tc.req)
192192
if !reflect.DeepEqual(err, tc.expectedErr) {
193193
t.Errorf("Desc:%v\nUnexpected error: %v\nExpected: %v", tc.desc, err, tc.expectedErr)
194194
}
@@ -219,30 +219,30 @@ func TestNodeUnpublishVolume(t *testing.T) {
219219
tests := []struct {
220220
desc string
221221
setup func()
222-
req csi.NodeUnpublishVolumeRequest
222+
req *csi.NodeUnpublishVolumeRequest
223223
expectedErr error
224224
cleanup func()
225225
}{
226226
{
227227
desc: "[Error] Volume ID missing",
228-
req: csi.NodeUnpublishVolumeRequest{TargetPath: targetTest},
228+
req: &csi.NodeUnpublishVolumeRequest{TargetPath: targetTest},
229229
expectedErr: status.Error(codes.InvalidArgument, "Volume ID missing in request"),
230230
},
231231
{
232232
desc: "[Error] Target missing",
233-
req: csi.NodeUnpublishVolumeRequest{VolumeId: "vol_1"},
233+
req: &csi.NodeUnpublishVolumeRequest{VolumeId: "vol_1"},
234234
expectedErr: status.Error(codes.InvalidArgument, "Target path missing in request"),
235235
},
236236
{
237237
desc: "[Success] Volume not mounted",
238-
req: csi.NodeUnpublishVolumeRequest{TargetPath: targetFile, VolumeId: "vol_1"},
238+
req: &csi.NodeUnpublishVolumeRequest{TargetPath: targetFile, VolumeId: "vol_1"},
239239
},
240240
{
241241
desc: "[Error] Volume operation in progress",
242242
setup: func() {
243243
ns.Driver.volumeLocks.TryAcquire(lockKey)
244244
},
245-
req: csi.NodeUnpublishVolumeRequest{TargetPath: targetTest, VolumeId: "vol_1"},
245+
req: &csi.NodeUnpublishVolumeRequest{TargetPath: targetTest, VolumeId: "vol_1"},
246246
expectedErr: status.Error(codes.Aborted, fmt.Sprintf(volumeOperationAlreadyExistsFmt, "vol_1")),
247247
cleanup: func() {
248248
ns.Driver.volumeLocks.Release(lockKey)
@@ -257,7 +257,7 @@ func TestNodeUnpublishVolume(t *testing.T) {
257257
if tc.setup != nil {
258258
tc.setup()
259259
}
260-
_, err := ns.NodeUnpublishVolume(context.Background(), &tc.req)
260+
_, err := ns.NodeUnpublishVolume(context.Background(), tc.req)
261261
if !reflect.DeepEqual(err, tc.expectedErr) {
262262
if err == nil || tc.expectedErr == nil || !strings.Contains(err.Error(), tc.expectedErr.Error()) {
263263
t.Errorf("Desc:%v\nUnexpected error: %v\nExpected: %v", tc.desc, err, tc.expectedErr)
@@ -329,27 +329,27 @@ func TestNodeGetVolumeStats(t *testing.T) {
329329

330330
tests := []struct {
331331
desc string
332-
req csi.NodeGetVolumeStatsRequest
332+
req *csi.NodeGetVolumeStatsRequest
333333
expectedErr error
334334
}{
335335
{
336336
desc: "[Error] Volume ID missing",
337-
req: csi.NodeGetVolumeStatsRequest{VolumePath: targetTest},
337+
req: &csi.NodeGetVolumeStatsRequest{VolumePath: targetTest},
338338
expectedErr: status.Error(codes.InvalidArgument, "NodeGetVolumeStats volume ID was empty"),
339339
},
340340
{
341341
desc: "[Error] VolumePath missing",
342-
req: csi.NodeGetVolumeStatsRequest{VolumeId: "vol_1"},
342+
req: &csi.NodeGetVolumeStatsRequest{VolumeId: "vol_1"},
343343
expectedErr: status.Error(codes.InvalidArgument, "NodeGetVolumeStats volume path was empty"),
344344
},
345345
{
346346
desc: "[Error] Incorrect volume path",
347-
req: csi.NodeGetVolumeStatsRequest{VolumePath: nonexistedPath, VolumeId: "vol_1"},
347+
req: &csi.NodeGetVolumeStatsRequest{VolumePath: nonexistedPath, VolumeId: "vol_1"},
348348
expectedErr: status.Errorf(codes.NotFound, "path /not/a/real/directory does not exist"),
349349
},
350350
{
351351
desc: "[Success] Standard success",
352-
req: csi.NodeGetVolumeStatsRequest{VolumePath: fakePath, VolumeId: "vol_1"},
352+
req: &csi.NodeGetVolumeStatsRequest{VolumePath: fakePath, VolumeId: "vol_1"},
353353
expectedErr: nil,
354354
},
355355
}
@@ -362,7 +362,7 @@ func TestNodeGetVolumeStats(t *testing.T) {
362362
}
363363

364364
for _, test := range tests {
365-
_, err := ns.NodeGetVolumeStats(context.Background(), &test.req)
365+
_, err := ns.NodeGetVolumeStats(context.Background(), test.req)
366366
if !reflect.DeepEqual(err, test.expectedErr) {
367367
t.Errorf("desc: %v, expected error: %v, actual error: %v", test.desc, test.expectedErr, err)
368368
}

0 commit comments

Comments
 (0)