@@ -9,16 +9,18 @@ namespace Qdrant.Client;
9
9
public class MockingTests
10
10
{
11
11
[ Fact ]
12
- public void CanMockClientCalls ( )
12
+ public void CanMockGrpcClientCalls ( )
13
13
{
14
14
var client = new Mock < QdrantGrpcClient > ( ) ;
15
15
var qdrant = new Mock < Qdrant . Client . Grpc . Qdrant . QdrantClient > ( ) ;
16
16
17
+ var mockResponse = new HealthCheckReply { Title = "from Moq" , Version = "v1.0.0" } ;
18
+
17
19
qdrant . Setup ( q =>
18
20
q . HealthCheck (
19
21
It . IsAny < HealthCheckRequest > ( ) ,
20
22
It . IsAny < CallOptions > ( ) ) )
21
- . Returns ( new HealthCheckReply { Title = "from Moq" , Version = "v1.0.0" } ) ;
23
+ . Returns ( mockResponse ) ;
22
24
23
25
client . SetupGet ( c => c . Qdrant ) . Returns ( qdrant . Object ) ;
24
26
var response = client . Object . Qdrant . HealthCheck ( new HealthCheckRequest ( ) , new CallOptions ( ) ) ;
@@ -27,4 +29,35 @@ public void CanMockClientCalls()
27
29
response . Title . Should ( ) . Be ( "from Moq" ) ;
28
30
response . Version . Should ( ) . Be ( "v1.0.0" ) ;
29
31
}
32
+
33
+ [ Fact ]
34
+ public async Task CanMockHighLevelClientCalls ( )
35
+ {
36
+ var grpcClient = new Mock < QdrantGrpcClient > ( ) ;
37
+ var client = new QdrantClient ( grpcClient . Object ) ;
38
+ var qdrant = new Mock < Qdrant . Client . Grpc . Qdrant . QdrantClient > ( ) ;
39
+
40
+ var mockResponse = new HealthCheckReply { Title = "from Moq" , Version = "v1.0.0" } ;
41
+
42
+ qdrant . Setup ( q =>
43
+ q . HealthCheckAsync (
44
+ It . IsAny < HealthCheckRequest > ( ) ,
45
+ It . IsAny < Metadata > ( ) ,
46
+ It . IsAny < DateTime ? > ( ) ,
47
+ It . IsAny < CancellationToken > ( ) ) )
48
+ . Returns ( new AsyncUnaryCall < HealthCheckReply > (
49
+ Task . FromResult ( mockResponse ) ,
50
+ null ! ,
51
+ null ! ,
52
+ null ! ,
53
+ ( ) => { }
54
+ ) ) ;
55
+
56
+ grpcClient . SetupGet ( c => c . Qdrant ) . Returns ( qdrant . Object ) ;
57
+ var response = await client . HealthAsync ( ) ;
58
+
59
+ response . Should ( ) . NotBeNull ( ) ;
60
+ response . Title . Should ( ) . Be ( "from Moq" ) ;
61
+ response . Version . Should ( ) . Be ( "v1.0.0" ) ;
62
+ }
30
63
}
0 commit comments