Sha256: 39d79dcce1f13bc128a5a777f9dd0a2300ab99db5c71dd97eeb2d3b6551dcbf4
Contents?: true
Size: 1.25 KB
Versions: 6
Compression:
Stored size: 1.25 KB
Contents
# encoding: UTF-8 require 'vines' require 'minitest/autorun' class HandshakeTest < MiniTest::Unit::TestCase def setup @stream = MiniTest::Mock.new @state = Vines::Stream::Component::Handshake.new(@stream) end def test_invalid_element node = node('<message/>') assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) } end def test_missing_text @stream.expect(:secret, 'secr3t') node = node('<handshake/>') assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) } assert @stream.verify end def test_invalid_secret @stream.expect(:secret, 'secr3t') node = node('<handshake>bogus</handshake>') assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) } assert @stream.verify end def test_valid_secret router = MiniTest::Mock.new router.expect(:<<, nil, [@stream]) @stream.expect(:router, router) @stream.expect(:secret, 'secr3t') @stream.expect(:write, nil, ['<handshake/>']) @stream.expect(:advance, nil, [Vines::Stream::Component::Ready.new(@stream)]) node = node('<handshake>secr3t</handshake>') @state.node(node) assert @stream.verify assert router.verify end private def node(xml) Nokogiri::XML(xml).root end end
Version data entries
6 entries across 6 versions & 1 rubygems