aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-08-06 11:13:37 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-08-06 11:13:37 +0900
commitbb9b7d972a45d026fe5e12b57eb352c1f0631ff7 (patch)
treec1a89c058f8c61a21b001ab610bf0cc3b71b963c /test
parente508d5b63ebd370bc977ab2c6748dd8f95b2dbae (diff)
downloadplum-bb9b7d972a45d026fe5e12b57eb352c1f0631ff7.tar.gz
endpoint MUST discard unsupported (unknown) frame
Diffstat (limited to 'test')
-rw-r--r--test/plum/test_server_connection.rb8
-rw-r--r--test/plum/test_stream.rb8
2 files changed, 16 insertions, 0 deletions
diff --git a/test/plum/test_server_connection.rb b/test/plum/test_server_connection.rb
index 032275a..5bfdf98 100644
--- a/test/plum/test_server_connection.rb
+++ b/test/plum/test_server_connection.rb
@@ -24,6 +24,14 @@ class ServerConnectionTest < Minitest::Test
end
end
+ def test_server_ignore_unknown_frame_type
+ open_server_connection {|con|
+ refute_raises {
+ con << Frame.new(type_value: 0x0f, stream_id: 0).assemble
+ }
+ }
+ end
+
def test_server_raise_cprotocol_error_client_start_even_stream_id
con = open_server_connection
assert_connection_error(:protocol_error) {
diff --git a/test/plum/test_stream.rb b/test/plum/test_stream.rb
index 19162e7..ebe881f 100644
--- a/test/plum/test_stream.rb
+++ b/test/plum/test_stream.rb
@@ -11,6 +11,14 @@ class StreamTest < Minitest::Test
}
end
+ def test_stream_unknown_frame_type
+ open_new_stream {|stream|
+ refute_raises {
+ stream.process_frame(Frame.new(type_value: 0x0f, stream_id: stream.id, payload: "\x00\x00\x00\x00"))
+ }
+ }
+ end
+
def test_stream_close
open_new_stream(state: :half_closed_local) {|stream|
stream.close(StreamError.new(:frame_size_error).http2_error_code)