Skip to content
This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Commit 3bea1c9

Browse files
committed
Add test for #244.
1 parent 9656af5 commit 3bea1c9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

test/test_hyper.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,6 +1067,29 @@ def test_goaway_frame_invalid_error_code(self):
10671067

10681068
assert str(f.error_code) in err_msg
10691069

1070+
def test_resetting_streams_after_close(self):
1071+
"""
1072+
Attempts to reset streams when the connection is torn down are
1073+
tolerated.
1074+
"""
1075+
f = SettingsFrame(0)
1076+
1077+
c = HTTP20Connection('www.google.com')
1078+
c._sock = DummySocket()
1079+
c._sock.buffer = BytesIO(f.serialize())
1080+
1081+
# Open stream 1.
1082+
c.request('GET', '/')
1083+
1084+
# Swap out the buffer to get a GoAway frame.
1085+
f = GoAwayFrame(0)
1086+
f.error_code = 1
1087+
c._sock.buffer = BytesIO(f.serialize())
1088+
1089+
# "Read" the GoAway
1090+
with pytest.raises(ConnectionError):
1091+
c._single_read()
1092+
10701093

10711094
# Some utility classes for the tests.
10721095
class NullEncoder(object):
@@ -1107,6 +1130,7 @@ def buffer(self):
11071130
@buffer.setter
11081131
def buffer(self, value):
11091132
self._buffer = value
1133+
self._read_counter = 0
11101134

11111135
def advance_buffer(self, amt):
11121136
self._read_counter += amt

0 commit comments

Comments
 (0)