Sha256: 2bcc2ec1056736bdc91a11b331abdd6e60720ff2464951c288e02384cd518613

Contents?: true

Size: 1.22 KB

Versions: 9

Compression:

Stored size: 1.22 KB

Contents

require "spec_helper"
require "httpi/adapter/net_http_persistent"
require "httpi/request"

begin
  HTTPI::Adapter.load_adapter(:net_http_persistent)

  describe HTTPI::Adapter::NetHTTPPersistent do
    let(:adapter) { HTTPI::Adapter::NetHTTPPersistent.new(request) }
    let(:request) { HTTPI::Request.new("http://example.com") }

    let(:response) {
      Object.new.tap do |r|
        r.stubs(:code).returns(200)
        r.stubs(:body).returns("abc")
        r.stubs(:to_hash).returns({"Content-Length" => "3"})
      end
    }

    before do
      Net::HTTP::Persistent.any_instance.stubs(:start).returns(response)
    end

    describe "settings" do
      describe "open_timeout, read_timeout" do
        it "are being set on the client" do
          request.open_timeout = 30
          request.read_timeout = 40

          adapter.client.expects(:open_timeout=).with(30)
          adapter.client.expects(:read_timeout=).with(40)

          adapter.request(:get)
        end
      end

      describe "write_timeout" do
        it "is not supported" do
          request.write_timeout = 50
          expect { adapter.request(:get) }
            .to raise_error(HTTPI::NotSupportedError, /write_timeout/)
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
httpi-4.0.3 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-4.0.2 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-4.0.1 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-3.0.2 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-3.0.1 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-3.0.0 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-2.5.0 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-2.4.5 spec/httpi/adapter/net_http_persistent_spec.rb
httpi-2.4.4 spec/httpi/adapter/net_http_persistent_spec.rb