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(
116116 ]
117117
118118
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+
119156class _NamedMagicMock (mock .MagicMock ):
120157 """Mock with a name."""
121158
You can’t perform that action at this time.
0 commit comments