Skip to content

Commit 36cae78

Browse files
authored
Merge pull request #59 from wackxu/testgetdrivename
add UT for getDriverName
2 parents f3c041b + cf2335f commit 36cae78

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

pkg/controller/controller_test.go

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,3 +318,69 @@ func TestSupportsPluginControllerService(t *testing.T) {
318318
}
319319
}
320320
}
321+
322+
func TestGetDriverName(t *testing.T) {
323+
tests := []struct {
324+
name string
325+
output *csi.GetPluginInfoResponse
326+
injectError bool
327+
expectError bool
328+
}{
329+
{
330+
name: "success",
331+
output: &csi.GetPluginInfoResponse{
332+
Name: "csi/example",
333+
VendorVersion: "0.2.0",
334+
Manifest: map[string]string{
335+
"hello": "world",
336+
},
337+
},
338+
expectError: false,
339+
},
340+
{
341+
name: "gRPC error",
342+
output: nil,
343+
injectError: true,
344+
expectError: true,
345+
},
346+
{
347+
name: "empty name",
348+
output: &csi.GetPluginInfoResponse{
349+
Name: "",
350+
},
351+
expectError: true,
352+
},
353+
}
354+
355+
mockController, driver, identityServer, _, csiConn, err := createMockServer(t)
356+
if err != nil {
357+
t.Fatal(err)
358+
}
359+
defer mockController.Finish()
360+
defer driver.Stop()
361+
362+
for _, test := range tests {
363+
364+
in := &csi.GetPluginInfoRequest{}
365+
366+
out := test.output
367+
var injectedErr error = nil
368+
if test.injectError {
369+
injectedErr = fmt.Errorf("mock error")
370+
}
371+
372+
// Setup expectation
373+
identityServer.EXPECT().GetPluginInfo(gomock.Any(), in).Return(out, injectedErr).Times(1)
374+
375+
name, err := getDriverName(csiConn.conn, timeout)
376+
if test.expectError && err == nil {
377+
t.Errorf("test %q: Expected error, got none", test.name)
378+
}
379+
if !test.expectError && err != nil {
380+
t.Errorf("test %q: got error: %v", test.name, err)
381+
}
382+
if err == nil && name != "csi/example" {
383+
t.Errorf("got unexpected name: %q", name)
384+
}
385+
}
386+
}

0 commit comments

Comments
 (0)