@@ -207,6 +207,8 @@ class TestStreamsClosedByEndStream(object):
207
207
self .example_request_headers , flags = ['END_STREAM' ]),
208
208
lambda self , ff : ff .build_headers_frame (
209
209
self .example_request_headers ),
210
+ lambda self , ff : ff .build_data_frame (
211
+ data = b'some data' )
210
212
]
211
213
)
212
214
@pytest .mark .parametrize ("clear_streams" , [True , False ])
@@ -352,9 +354,13 @@ class TestStreamsClosedByRstStream(object):
352
354
self .example_request_headers , flags = ['END_STREAM' ]),
353
355
]
354
356
)
357
+ @pytest .mark .parametrize (
358
+ "clear_streams_before_send" , [True , False ]
359
+ )
355
360
def test_resets_further_frames_after_recv_reset (self ,
356
361
frame_factory ,
357
- frame ):
362
+ frame ,
363
+ clear_streams_before_send ):
358
364
"""
359
365
A stream that is closed by receive RST_STREAM can receive further
360
366
frames: it simply sends RST_STREAM for it, and additionally
@@ -381,6 +387,9 @@ def test_resets_further_frames_after_recv_reset(self,
381
387
c .receive_data (rst_frame .serialize ())
382
388
c .clear_outbound_data_buffer ()
383
389
390
+ if clear_streams_before_send :
391
+ c .open_outbound_streams
392
+
384
393
f = frame (self , frame_factory )
385
394
events = c .receive_data (f .serialize ())
386
395
@@ -407,8 +416,12 @@ def test_resets_further_frames_after_recv_reset(self,
407
416
assert not events
408
417
assert c .data_to_send () == b""
409
418
419
+ @pytest .mark .parametrize (
420
+ "clear_streams_before_send" , [True , False ]
421
+ )
410
422
def test_resets_further_data_frames_after_recv_reset (self ,
411
- frame_factory ):
423
+ frame_factory ,
424
+ clear_streams_before_send ):
412
425
"""
413
426
A stream that is closed by receive RST_STREAM can receive further
414
427
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,
435
448
c .receive_data (rst_frame .serialize ())
436
449
c .clear_outbound_data_buffer ()
437
450
451
+ if clear_streams_before_send :
452
+ c .open_outbound_streams
453
+
438
454
f = frame_factory .build_data_frame (
439
455
data = b'some data'
440
456
)
@@ -493,10 +509,6 @@ def test_resets_further_frames_after_send_reset(self,
493
509
494
510
# Send initial RST_STREAM
495
511
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
- )
500
512
c .clear_outbound_data_buffer ()
501
513
502
514
f = frame (self , frame_factory )
0 commit comments