1import sys
2
3import pytest
4import samples.greeter_pb2 as greeter_protos
5
6
7
8async def test_grpc_client(service_client, mock_grpc_greeter):
9 @mock_grpc_greeter('SayHello')
10 async def _mock_say_hello(request, context):
11 return greeter_protos.GreetingResponse(
12 greeting=f'Hello, {request.name} from mockserver!',
13 )
14
15 response = await service_client.post(
16 '/hello', data='tests', headers={'Content-type': 'text/plain'},
17 )
18 assert response.status == 200
19 assert response.content == b'Hello, tests from mockserver!'
20
21 assert _mock_say_hello.times_called == 1
22
23
24
25@pytest.mark.skipif(
26 sys.platform == 'darwin', reason='this test fails in old packages',
27)
28
29async def test_say_hello(grpc_client):
30 request = greeter_protos.GreetingRequest(name='Python')
31 response = await grpc_client.SayHello(request)
32 assert response.greeting == 'Hello, Python!'
33