diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-06 11:01:44 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-06 11:01:44 +0900 |
commit | e508d5b63ebd370bc977ab2c6748dd8f95b2dbae (patch) | |
tree | cbd4295bde979cb99389692cf007b28763092d52 /test | |
parent | 26d20c0c85b2a0aa8d78bbff3b315d2d25387cdd (diff) | |
download | plum-e508d5b63ebd370bc977ab2c6748dd8f95b2dbae.tar.gz |
test: stream: add tests for RST_STREAM
Diffstat (limited to 'test')
-rw-r--r-- | test/plum/stream/test_handle_frame.rb | 31 |
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 |