Skip to content

Commit edd95b4

Browse files
committed
test: add mock client in UT for azurefile_dataplane_client.go
1 parent c8d88bb commit edd95b4

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

Diff for: pkg/blobfuse-proxy/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929

3030
var (
3131
blobfuseProxyEndpoint = flag.String("blobfuse-proxy-endpoint", "unix://tmp/blobfuse-proxy.sock", "blobfuse-proxy endpoint")
32+
grpcServerRunner = server.RunGRPCServer
3233
)
3334

3435
func main() {
@@ -55,7 +56,7 @@ func main() {
5556
mountServer := server.NewMountServiceServer()
5657

5758
klog.V(2).Infof("Listening for connections on address: %v\n", listener.Addr())
58-
if err = server.RunGRPCServer(mountServer, false, listener); err != nil {
59+
if err = grpcServerRunner(mountServer, false, listener); err != nil {
5960
klog.Fatalf("Error running grpc server %v. Error: %v", listener.Addr(), err)
6061
}
6162
}

Diff for: pkg/blobfuse-proxy/main_test.go

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
Copyright 2025 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package main
18+
19+
import (
20+
"net"
21+
"os"
22+
"runtime"
23+
"testing"
24+
25+
"sigs.k8s.io/blob-csi-driver/pkg/blobfuse-proxy/pb"
26+
)
27+
28+
func mockRunGRPCServer(_ pb.MountServiceServer, _ bool, _ net.Listener) error {
29+
return nil
30+
}
31+
32+
func TestMain(t *testing.T) {
33+
// Skip test on windows
34+
if runtime.GOOS == "windows" {
35+
t.Skip("Skipping test on ", runtime.GOOS)
36+
}
37+
38+
// mock the grpcServerRunner
39+
originalGRPCServerRunner := grpcServerRunner
40+
grpcServerRunner = mockRunGRPCServer
41+
defer func() { grpcServerRunner = originalGRPCServerRunner }()
42+
43+
// Set the blobfuse-proxy-endpoint
44+
os.Args = []string{"cmd", "-blobfuse-proxy-endpoint=unix://tmp/test.sock"}
45+
46+
// Run main
47+
main()
48+
}

0 commit comments

Comments
 (0)