File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,43 @@ async def test_streaming_success_retry_on_exhausted(
116
116
]
117
117
118
118
119
+ @pytest .mark .parametrize ("retry_on_exhausted_stream" , [False ])
120
+ async def test_streaming_success (
121
+ ok_helper : streaming .GrpcStreamBroadcaster [
122
+ int , str
123
+ ], # pylint: disable=redefined-outer-name
124
+ no_retry : mock .MagicMock , # pylint: disable=redefined-outer-name
125
+ receiver_ready_event : asyncio .Event , # pylint: disable=redefined-outer-name
126
+ caplog : pytest .LogCaptureFixture ,
127
+ ) -> None :
128
+ """Test streaming success."""
129
+ caplog .set_level (logging .INFO )
130
+ items : list [str ] = []
131
+ async with asyncio .timeout (1 ):
132
+ receiver = ok_helper .new_receiver ()
133
+ receiver_ready_event .set ()
134
+ async for item in receiver :
135
+ items .append (item )
136
+ assert (
137
+ no_retry .next_interval .call_count == 0
138
+ ), "next_interval should not be called when streaming is successful"
139
+
140
+ assert items == [
141
+ "transformed_0" ,
142
+ "transformed_1" ,
143
+ "transformed_2" ,
144
+ "transformed_3" ,
145
+ "transformed_4" ,
146
+ ]
147
+ assert caplog .record_tuples == [
148
+ (
149
+ "frequenz.client.base.streaming" ,
150
+ logging .INFO ,
151
+ "test_helper: connection closed, stream exhausted" ,
152
+ )
153
+ ]
154
+
155
+
119
156
class _NamedMagicMock (mock .MagicMock ):
120
157
"""Mock with a name."""
121
158
You can’t perform that action at this time.
0 commit comments