@@ -207,6 +207,8 @@ class TestStreamsClosedByEndStream(object):
207207 self .example_request_headers , flags = ['END_STREAM' ]),
208208 lambda self , ff : ff .build_headers_frame (
209209 self .example_request_headers ),
210+ lambda self , ff : ff .build_data_frame (
211+ data = b'some data' )
210212 ]
211213 )
212214 @pytest .mark .parametrize ("clear_streams" , [True , False ])
@@ -352,9 +354,13 @@ class TestStreamsClosedByRstStream(object):
352354 self .example_request_headers , flags = ['END_STREAM' ]),
353355 ]
354356 )
357+ @pytest .mark .parametrize (
358+ "clear_streams_before_send" , [True , False ]
359+ )
355360 def test_resets_further_frames_after_recv_reset (self ,
356361 frame_factory ,
357- frame ):
362+ frame ,
363+ clear_streams_before_send ):
358364 """
359365 A stream that is closed by receive RST_STREAM can receive further
360366 frames: it simply sends RST_STREAM for it, and additionally
@@ -381,6 +387,9 @@ def test_resets_further_frames_after_recv_reset(self,
381387 c .receive_data (rst_frame .serialize ())
382388 c .clear_outbound_data_buffer ()
383389
390+ if clear_streams_before_send :
391+ c .open_outbound_streams
392+
384393 f = frame (self , frame_factory )
385394 events = c .receive_data (f .serialize ())
386395
@@ -407,8 +416,12 @@ def test_resets_further_frames_after_recv_reset(self,
407416 assert not events
408417 assert c .data_to_send () == b""
409418
419+ @pytest .mark .parametrize (
420+ "clear_streams_before_send" , [True , False ]
421+ )
410422 def test_resets_further_data_frames_after_recv_reset (self ,
411- frame_factory ):
423+ frame_factory ,
424+ clear_streams_before_send ):
412425 """
413426 A stream that is closed by receive RST_STREAM can receive further
414427 DATA frames: it simply sends WINDOW_UPDATE for the connection flow
@@ -435,6 +448,9 @@ def test_resets_further_data_frames_after_recv_reset(self,
435448 c .receive_data (rst_frame .serialize ())
436449 c .clear_outbound_data_buffer ()
437450
451+ if clear_streams_before_send :
452+ c .open_outbound_streams
453+
438454 f = frame_factory .build_data_frame (
439455 data = b'some data'
440456 )
@@ -493,10 +509,6 @@ def test_resets_further_frames_after_send_reset(self,
493509
494510 # Send initial RST_STREAM
495511 c .reset_stream (1 , h2 .errors .ErrorCodes .INTERNAL_ERROR )
496-
497- rst_frame = frame_factory .build_rst_stream_frame (
498- 1 , h2 .errors .ErrorCodes .STREAM_CLOSED
499- )
500512 c .clear_outbound_data_buffer ()
501513
502514 f = frame (self , frame_factory )
0 commit comments