aboutsummaryrefslogtreecommitdiffstats
path: root/test/plum/test_frame_factory.rb
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-08-09 22:08:25 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-08-09 22:08:25 +0900
commit1bb4b371509127fdfe3c59a906e2156b51054ae1 (patch)
tree52068b98ebdb1a6bbfb4d4b1285fdb32649dbfa1 /test/plum/test_frame_factory.rb
parentfbc724881092a1391576d020b13ba3ed75b419de (diff)
downloadplum-1bb4b371509127fdfe3c59a906e2156b51054ae1.tar.gz
frame_factory: add tests
Diffstat (limited to 'test/plum/test_frame_factory.rb')
-rw-r--r--test/plum/test_frame_factory.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/plum/test_frame_factory.rb b/test/plum/test_frame_factory.rb
new file mode 100644
index 0000000..2c7f2de
--- /dev/null
+++ b/test/plum/test_frame_factory.rb
@@ -0,0 +1,56 @@
+require "test_helper"
+
+using Plum::BinaryString
+class FrameFactoryTest < Minitest::Test
+ def test_rst_stream
+ frame = Frame.rst_stream(123, :stream_closed)
+ assert_frame(frame,
+ type: :rst_stream,
+ stream_id: 123)
+ assert_equal(ERROR_CODES[:stream_closed], frame.payload.uint32)
+ end
+
+ def test_goaway
+ frame = Frame.goaway(0x55, :stream_closed, "debug")
+ assert_frame(frame,
+ type: :goaway,
+ stream_id: 0,
+ payload: "\x00\x00\x00\x55\x00\x00\x00\x05debug")
+ end
+
+ def test_settings
+ frame = Frame.settings(header_table_size: 0x1010)
+ assert_frame(frame,
+ type: :settings,
+ stream_id: 0,
+ flags: [],
+ payload: "\x00\x01\x00\x00\x10\x10")
+ end
+
+ def test_settings_ack
+ frame = Frame.settings(:ack)
+ assert_frame(frame,
+ type: :settings,
+ stream_id: 0,
+ flags: [:ack],
+ payload: "")
+ end
+
+ def test_ping
+ frame = Frame.ping("12345678")
+ assert_frame(frame,
+ type: :ping,
+ stream_id: 0,
+ flags: [],
+ payload: "12345678")
+ end
+
+ def test_ping_ack
+ frame = Frame.ping(:ack, "12345678")
+ assert_frame(frame,
+ type: :ping,
+ stream_id: 0,
+ flags: [:ack],
+ payload: "12345678")
+ end
+end