Skip to content

Commit 0814729

Browse files
Add cases for send()
1 parent f7aa615 commit 0814729

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

betterproto/tests/grpc/test_stream_stream.py

+35-8
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,13 @@ class Message(betterproto.Message):
1313
body: str = betterproto.string_field(1)
1414

1515

16-
async def to_list(generator: AsyncIterator):
17-
lis = []
18-
async for value in generator:
19-
lis.append(value)
20-
return lis
21-
22-
2316
@pytest.fixture
2417
def expected_responses():
2518
return [Message("Hello world 1"), Message("Hello world 2"), Message("Done")]
2619

2720

2821
class ClientStub:
29-
async def connect(self, requests):
22+
async def connect(self, requests: AsyncIterator):
3023
await asyncio.sleep(0.1)
3124
async for request in requests:
3225
await asyncio.sleep(0.1)
@@ -35,6 +28,13 @@ async def connect(self, requests):
3528
yield Message("Done")
3629

3730

31+
async def to_list(generator: AsyncIterator):
32+
lis = []
33+
async for value in generator:
34+
lis.append(value)
35+
return lis
36+
37+
3838
@pytest.fixture
3939
def client():
4040
# channel = Channel(host='127.0.0.1', port=50051)
@@ -122,3 +122,30 @@ async def test_send_from_close_manually_immediately(client, expected_responses):
122122
requests.close()
123123

124124
assert await to_list(responses) == expected_responses
125+
126+
127+
@pytest.mark.asyncio
128+
async def test_send_individually_and_close_before_connect(client, expected_responses):
129+
requests = AsyncChannel()
130+
131+
await requests.send(Message(body="Hello world 1"))
132+
await requests.send(Message(body="Hello world 2"))
133+
requests.close()
134+
135+
responses = client.connect(requests)
136+
137+
assert await to_list(responses) == expected_responses
138+
139+
140+
@pytest.mark.asyncio
141+
async def test_send_individually_and_close_after_connect(client, expected_responses):
142+
requests = AsyncChannel()
143+
144+
await requests.send(Message(body="Hello world 1"))
145+
await requests.send(Message(body="Hello world 2"))
146+
147+
responses = client.connect(requests)
148+
149+
requests.close()
150+
151+
assert await to_list(responses) == expected_responses

0 commit comments

Comments
 (0)