diff options
author | Makarand Dharmapurikar <makarandd@google.com> | 2016-12-01 10:51:10 -0800 |
---|---|---|
committer | Makarand Dharmapurikar <makarandd@google.com> | 2016-12-01 10:51:10 -0800 |
commit | 323bfa733d8b23c19d48601dd4d9d5f71ab3bc5f (patch) | |
tree | 5d5cdc468ac55f9daebfefc047748a0d7d07b763 /test/http2_test/test_max_streams.py | |
parent | af37b809aa931856764e766ebe3e9baaaaaa0897 (diff) |
Broke up code in multiple modules..
Diffstat (limited to 'test/http2_test/test_max_streams.py')
-rw-r--r-- | test/http2_test/test_max_streams.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/http2_test/test_max_streams.py b/test/http2_test/test_max_streams.py new file mode 100644 index 0000000000..a85dde48b5 --- /dev/null +++ b/test/http2_test/test_max_streams.py @@ -0,0 +1,30 @@ +import logging +import http2_base_server +from hyperframe.frame import SettingsFrame + +class TestcaseSettingsMaxStreams(object): + """ + This test sets MAX_CONCURRENT_STREAMS to 1 and asserts that at any point + only 1 stream is active. + """ + def __init__(self): + self._base_server = http2_base_server.H2ProtocolBaseServer() + self._base_server._handlers['DataReceived'] = self.on_data_received + self._base_server._handlers['ConnectionMade'] = self.on_connection_made + + def get_base_server(self): + return self._base_server + + def on_connection_made(self): + logging.info('Connection Made') + self._base_server._conn.initiate_connection() + self._base_server._conn.update_settings({SettingsFrame.MAX_CONCURRENT_STREAMS: 1}) + self._base_server.transport.setTcpNoDelay(True) + self._base_server.transport.write(self._base_server._conn.data_to_send()) + + def on_data_received(self, event): + self._base_server.on_data_received_default(event) + sr = self._base_server.parse_received_data(self._base_server._recv_buffer) + logging.info('Creating response size = %s'%sr.response_size) + response_data = self._base_server.default_response_data(sr.response_size) + self._base_server.setup_send(response_data) |