Skip to content

Commit a1991c7

Browse files
committed
tests: Add coverage to RST_STREAM fixes
1 parent ec52beb commit a1991c7

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

test/test_closed_streams.py

+18-6
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)