Sha256: a4914e267bbeb2bc9d5148afbc5483ae53c6a4dfdeb14c71483dad6d3c253ca5

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 KB

Contents

require 'test_helper'

class DispatcherTest < ChilloutTestCase

  def test_error_dispatch
    exception = build_exception(NameError)
    env = {
      "HTTP_USER_AGENT" => "Mozzila/4.0",
      "rack.session" => {}
    }
    error = Chillout::Error.new(exception, env)

    filter = mock("Filter")
    filter.expects(:deliver_error?).with(error).returns(true)

    server_side = mock("ServerSide")
    server_side.expects(:send_error).with(error)

    dispatcher = Chillout::Dispatcher.new(filter, server_side)
    dispatcher.dispatch_error(error)
  end

  def test_ignored_error_dispatch
    exception = build_exception(NameError)
    env = {
      "HTTP_USER_AGENT" => "Mozzila/4.0",
      "rack.session" => {}
    }
    error = Chillout::Error.new(exception, env)

    filter = mock("Filter")
    filter.expects(:deliver_error?).with(error).returns(false)

    server_side = mock("ServerSide")

    dispatcher = Chillout::Dispatcher.new(filter, server_side)
    dispatcher.dispatch_error(error)
  end

  def test_send_error_ignore_not_sent_exception
    server_side = stub()
    server_side.stubs(:send_error).raises(Chillout::HttpClient::NotSent.new(:http_error))

    dispatcher = Chillout::Dispatcher.new(mock, server_side)

    assert_nil dispatcher.send_error(:error)
  end

  def test_send_creations
    filter = mock("Filter")

    server_side = mock("ServerSide")
    server_side.expects(:send_creations).with(:creations)

    dispatcher = Chillout::Dispatcher.new(filter, server_side)
    dispatcher.send_creations(:creations)
  end

  def test_send_creations_raise_exception_if_server_side_failed_to_send_request
    server_side = stub()
    server_side.stubs(:send_creations).raises(Chillout::HttpClient::NotSent.new(:http_error))

    dispatcher = Chillout::Dispatcher.new(mock, server_side)

    assert_raises Chillout::Dispatcher::SendCreationsFailed do
      dispatcher.send_creations(:creations)
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chillout-0.2.3 test/dispatcher_test.rb