test: cover RouterWebSocketTest
This commit is contained in:
1 parent
91f28de4de
commit
a2cf52256a
1 file changed
+45
@@ -0,0 +1,45 @@
|
|||||||
|
require 'minitest/autorun'
|
||||||
|
require 'prism'
|
||||||
|
|
||||||
|
class RouterWebSocketTest < Minitest::Test
|
||||||
|
def setup
|
||||||
|
@router = Prism::Router.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_find_websocket_returns_the_registered_handler
|
||||||
|
handler = Class.new
|
||||||
|
@router.add_websocket('/cable', handler)
|
||||||
|
assert_same handler, @router.find_websocket('/cable')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_find_websocket_returns_nil_for_an_unregistered_path
|
||||||
|
assert_nil @router.find_websocket('/nope')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_websockets_are_exact_path_matches_not_prefixes
|
||||||
|
handler = Class.new
|
||||||
|
@router.add_websocket('/cable', handler)
|
||||||
|
assert_nil @router.find_websocket('/cable/extra')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_registering_the_same_path_twice_replaces_the_handler
|
||||||
|
first = Class.new
|
||||||
|
second = Class.new
|
||||||
|
@router.add_websocket('/cable', first)
|
||||||
|
@router.add_websocket('/cable', second)
|
||||||
|
assert_same second, @router.find_websocket('/cable')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_find_websocket_options_returns_an_empty_hash_for_an_unregistered_path
|
||||||
|
assert_equal({}, @router.find_websocket_options('/nope'))
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_find_websocket_options_returns_nil_max_message_size_by_default
|
||||||
|
assert_nil @router.find_websocket_options('/nope')[:max_message_size]
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_add_websocket_records_a_custom_max_message_size
|
||||||
|
@router.add_websocket('/cable', Class.new, max_message_size: 4096)
|
||||||
|
assert_equal 4096, @router.find_websocket_options('/cable')[:max_message_size]
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in new issue
Block a user