From b8e74e62c0387c3d2bc99ac3828ee78b0ae83141 Mon Sep 17 00:00:00 2001 From: Riya Singhal Date: Tue, 26 Sep 2023 01:11:04 +0530 Subject: [PATCH] cephfs: adding unit test for fetchIP for client eviction Signed-off-by: Riya Singhal --- .../csi-addons/networkfence/fencing_test.go | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/internal/csi-addons/networkfence/fencing_test.go b/internal/csi-addons/networkfence/fencing_test.go index 86bd34984..31623f083 100644 --- a/internal/csi-addons/networkfence/fencing_test.go +++ b/internal/csi-addons/networkfence/fencing_test.go @@ -54,3 +54,43 @@ func TestGetIPRange(t *testing.T) { }) } } + +func TestFetchIP(t *testing.T) { + t.Parallel() + + tests := []struct { + clientInfo string + expectedIP string + expectedErr bool + }{ + { + clientInfo: "client.4305 172.21.9.34:0/422650892", + expectedIP: "172.21.9.34", + expectedErr: false, + }, + { + clientInfo: "", + expectedIP: "", + expectedErr: true, + }, + } + + for _, tt := range tests { + ts := tt + + t.Run(ts.clientInfo, func(t *testing.T) { + t.Parallel() + + client := activeClient{Inst: ts.clientInfo} + ip, actualErr := client.fetchIP() + + if (actualErr != nil) != ts.expectedErr { + t.Errorf("expected error %v but got %v", ts.expectedErr, actualErr) + } + + if ip != ts.expectedIP { + t.Errorf("expected IP %s but got %s", ts.expectedIP, ip) + } + }) + } +}