# encoding: UTF-8 require 'test_helper' describe Vines::Stanza::Presence::Probe do def setup @alice = Vines::JID.new('alice@wonderland.lit/tea') @stream = MiniTest::Mock.new @config = Vines::Config.new do host 'wonderland.lit' do storage(:fs) { dir Dir.tmpdir } end end end def test_missing_to_address_raises node = node(%q{}) stanza = Vines::Stanza::Presence::Probe.new(node, @stream) def stanza.inbound?; false; end @stream.expect(:user, Vines::User.new(jid: @alice)) assert_raises(Vines::StanzaErrors::BadRequest) { stanza.process } assert @stream.verify end def test_to_remote_address_routes node = node(%q{}) stanza = Vines::Stanza::Presence::Probe.new(node, @stream) def stanza.inbound?; false; end expected = node(%Q{}) router = MiniTest::Mock.new router.expect(:route, nil, [expected]) @stream.expect(:router, router) @stream.expect(:user, Vines::User.new(jid: @alice)) @stream.expect(:config, @config) stanza.process assert @stream.verify assert router.verify end private def node(xml) Nokogiri::XML(xml).root end end