diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-05 20:01:04 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-05 20:01:04 +0900 |
commit | 5c834426a429e933fc65c1a2adbba40e9faaf678 (patch) | |
tree | 5f454302a4b762f65a9a8710bb6313ba2d9f1b4f /test | |
parent | 4c9a3e5beac9829a6852b3f05735b102c6b55247 (diff) | |
download | plum-5c834426a429e933fc65c1a2adbba40e9faaf678.tar.gz |
return FRAME_SIZE_ERROR when received a frame with too long payload
Diffstat (limited to 'test')
-rw-r--r-- | test/server_connection_test.rb | 13 | ||||
-rw-r--r-- | test/stream_test.rb | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/test/server_connection_test.rb b/test/server_connection_test.rb index 075f126..39fc56e 100644 --- a/test/server_connection_test.rb +++ b/test/server_connection_test.rb @@ -1,6 +1,5 @@ require "test_helper" -include Plum using Plum::BinaryString class ServerConnectionTest < Minitest::Test @@ -28,6 +27,18 @@ class ServerConnectionTest < Minitest::Test } end + def test_server_must_raise_cframe_size_error_when_exeeeded_max_size + _settings = "".push_uint16(Frame::SETTINGS_TYPE[:max_frame_size]).push_uint32(2**14) + con = open_server_connection + con.settings(max_frame_size: 2**14) + refute_raises { + con << Frame.new(type: :settings, stream_id: 0, payload: _settings*(2**14/6)).assemble + } + assert_connection_error(:frame_size_error) { + con << Frame.new(type: :settings, stream_id: 0, payload: _settings*((2**14)/6+1)).assemble + } + end + def test_server_accept_fragmented_magic io = StringIO.new magic = ServerConnection::CLIENT_CONNECTION_PREFACE diff --git a/test/stream_test.rb b/test/stream_test.rb index fe23a85..5cb2417 100644 --- a/test/stream_test.rb +++ b/test/stream_test.rb @@ -1,6 +1,5 @@ require "test_helper" -include Plum using Plum::BinaryString class StreamTest < Minitest::Test |