Sha256: 426749ab70ad4ccc563ee6252e2590bcbf4fe31f04bb0598f68b0da668e43cbb

Contents?: true

Size: 769 Bytes

Versions: 2

Compression:

Stored size: 769 Bytes

Contents

require 'rest-core/test'

describe RC::Timeout do
  before do
    @app = RC::Timeout.new(RC::Dry.new, 0)
  end

  after do
    WebMock.reset!
  end

  should 'bypass timeout if timeout is 0' do
    mock(@app).monitor.times(0)
    @app.call({}).should.eq({})
  end

  should 'run the monitor to setup timeout' do
    env = {'timeout' => 2}
    mock.proxy(@app).monitor(env).times(1)
    @app.call(env).should.eq(env)
  end

  should 'return correct result under fibers' do
    path = 'http://example.com/'
    stub_request(:get, path).to_return(:body => 'response')

    c = RC::Builder.client do
      use RC::Timeout, 10
      run RC::EmHttpRequestFiber
    end.new
    EM.run{Fiber.new{c.get(path).should.eq('response');EM.stop}.resume}
  end if defined?(Fiber)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rest-core-1.0.3 test/test_timeout.rb
rest-core-1.0.2 test/test_timeout.rb