Sha256: 290223f95ac2576b67548da66c46682e9bac8817c4bdbf5f056f400cf5ffbe3a

Contents?: true

Size: 1.45 KB

Versions: 9

Compression:

Stored size: 1.45 KB

Contents

require "spec_helper"
require "httpi/adapter/net_http"
require "httpi/request"

begin
  HTTPI::Adapter.load_adapter(:net_http)

  describe HTTPI::Adapter::NetHTTP do
    let(:adapter) { HTTPI::Adapter::NetHTTP.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.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
        if Net::HTTP.method_defined?(:write_timeout=)
          it "is being set on the client" do
            request.write_timeout = 50
            adapter.client.expects(:write_timeout=).with(50)
            adapter.request(:get)
          end
        else
          it "can not be set on the client" do
            request.write_timeout = 50
            expect { adapter.request(:get) }
              .to raise_error(HTTPI::NotSupportedError, /write_timeout/)
          end
        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_spec.rb
httpi-4.0.2 spec/httpi/adapter/net_http_spec.rb
httpi-4.0.1 spec/httpi/adapter/net_http_spec.rb
httpi-3.0.2 spec/httpi/adapter/net_http_spec.rb
httpi-3.0.1 spec/httpi/adapter/net_http_spec.rb
httpi-3.0.0 spec/httpi/adapter/net_http_spec.rb
httpi-2.5.0 spec/httpi/adapter/net_http_spec.rb
httpi-2.4.5 spec/httpi/adapter/net_http_spec.rb
httpi-2.4.4 spec/httpi/adapter/net_http_spec.rb