aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-08-06 11:01:44 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-08-06 11:01:44 +0900
commite508d5b63ebd370bc977ab2c6748dd8f95b2dbae (patch)
treecbd4295bde979cb99389692cf007b28763092d52 /test
parent26d20c0c85b2a0aa8d78bbff3b315d2d25387cdd (diff)
downloadplum-e508d5b63ebd370bc977ab2c6748dd8f95b2dbae.tar.gz
test: stream: add tests for RST_STREAM
Diffstat (limited to 'test')
-rw-r--r--test/plum/stream/test_handle_frame.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/plum/stream/test_handle_frame.rb b/test/plum/stream/test_handle_frame.rb
index 0c4b86e..a48fe01 100644
--- a/test/plum/stream/test_handle_frame.rb
+++ b/test/plum/stream/test_handle_frame.rb
@@ -220,4 +220,35 @@ class StreamHandleFrameTest < Minitest::Test
assert_equal(stream0, stream2.parent)
}
end
+
+ ## RST_STREAM
+ def test_stream_handle_rst_stream
+ open_new_stream(state: :reserved_local) {|stream|
+ stream.process_frame(Frame.new(type: :rst_stream,
+ stream_id: stream.id,
+ payload: "\x00\x00\x00\x00"))
+ assert_equal(:closed, stream.state)
+ }
+ end
+
+ def test_stream_handle_rst_stream_idle
+ open_new_stream(state: :idle) {|stream|
+ assert_connection_error(:protocol_error) {
+ stream.process_frame(Frame.new(type: :rst_stream,
+ stream_id: stream.id,
+ payload: "\x00\x00\x00\x00"))
+ }
+ }
+ end
+
+ def test_stream_handle_rst_stream_frame_size
+ open_new_stream(state: :reserved_local) {|stream|
+ assert_connection_error(:frame_size_error) {
+ stream.process_frame(Frame.new(type: :rst_stream,
+ stream_id: stream.id,
+ payload: "\x00\x00\x00"))
+ }
+ }
+ end
+
end