Sha256: 8ecac2110bcd7845c3a6cf730538842b1d3f51bcf34c83774804e4e8d1cfa027

Contents?: true

Size: 1.08 KB

Versions: 12

Compression:

Stored size: 1.08 KB

Contents

# encoding: UTF-8

require 'vines'
require 'minitest/autorun'

class ComponentStartTest < MiniTest::Unit::TestCase
  def setup
    @stream = MiniTest::Mock.new
    @state = Vines::Stream::Component::Start.new(@stream)
  end

  def test_invalid_element
    node = node('<message/>')
    assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
  end

  def test_missing_stream_namespace
    node = node('<stream:stream/>')
    assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
  end

  def test_invalid_stream_namespace
    node = node('<stream:stream xmlns="bogus"/>')
    assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
  end

  def test_valid_stream_header
    node = node(%q{<stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:component:accept" to="tea.wonderland.lit"/>})
    @stream.expect(:start, nil, [node])
    @stream.expect(:advance, nil, [Vines::Stream::Component::Handshake.new(@stream)])
    @state.node(node)
    assert @stream.verify
  end

  private

  def node(xml)
    Nokogiri::XML(xml).root
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
vines-0.4.5 test/stream/component/start_test.rb
vines-0.4.4 test/stream/component/start_test.rb
vines-0.4.3 test/stream/component/start_test.rb
vines-0.4.2 test/stream/component/start_test.rb
vines-0.4.1 test/stream/component/start_test.rb
vines-0.4.0 test/stream/component/start_test.rb
vines-0.3.2 test/stream/component/start_test.rb
vines-0.3.1 test/stream/component/start_test.rb
vines-0.3.0 test/stream/component/start_test.rb
vines-0.2.1 test/stream/component/start_test.rb
vines-0.2.0 test/stream/component/start_test.rb
vines-0.1.1 test/stream/component/start_test.rb