spec/httpi/adapter/net_http_spec.rb in httpi-2.0.2 vs spec/httpi/adapter/net_http_spec.rb in httpi-2.1.0
- old
+ new
@@ -57,175 +57,48 @@
request.auth.basic("admin", "secret")
response = HTTPI.get(request, adapter)
response.body.should eq("basic-auth")
end
- end
- # it does not support digest auth
+ it "does not support digest authentication" do
+ request = HTTPI::Request.new(@server.url + "digest-auth")
+ request.auth.digest("admin", "secret")
- context "https requests" do
- before :all do
- @server = IntegrationServer.run(:ssl => true)
+ expect { HTTPI.get(request, adapter) }.
+ to raise_error(HTTPI::NotSupportedError, /does not support HTTP digest authentication/)
end
- after :all do
- @server.stop
- end
+ it "supports ntlm authentication" do
+ request = HTTPI::Request.new(@server.url + "ntlm-auth")
+ request.auth.ntlm("tester", "vReqSoafRe5O")
- # it does not raise when no certificate was set up
-
- it "works when set up properly" do
- request = HTTPI::Request.new(@server.url)
- request.auth.ssl.ca_cert_file = IntegrationServer.ssl_ca_file
-
response = HTTPI.get(request, adapter)
- expect(response.body).to eq("get")
+ response.body.should eq("ntlm-auth")
end
end
-end
+ # it does not support digest auth
-
-__END__
-
- describe "#request(:get)" do
- it "should return a valid HTTPI::Response" do
- stub_request(:get, request.url.to_s).to_return(basic_response)
- adapter.request(:get).should match_response(:body => Fixture.xml)
- end
- end
-
- describe "#request(:post)" do
- it "should return a valid HTTPI::Response" do
- request.body = Fixture.xml
- stub_request(:post, request.url.to_s).with(:body => request.body).to_return(basic_response)
-
- adapter.request(:post).should match_response(:body => Fixture.xml)
- end
- end
-
- describe "#request(:head)" do
- it "should return a valid HTTPI::Response" do
- stub_request(:head, request.url.to_s).to_return(basic_response)
- adapter.request(:head).should match_response(:body => Fixture.xml)
- end
- end
-
- describe "#request(:put)" do
- it "should return a valid HTTPI::Response" do
- request.url = "http://example.com"
- request.headers = { "Accept-encoding" => "utf-8" }
- request.body = Fixture.xml
-
- stub_request(:put, request.url.to_s).with(:body => request.body).to_return(basic_response)
-
- adapter.request(:put).should match_response(:body => Fixture.xml)
- end
- end
-
- describe "#request(:delete)" do
- it "should return a valid HTTPI::Response" do
- stub_request(:delete, request.url.to_s).to_return(basic_response)
- adapter.request(:delete).should match_response(:body => Fixture.xml)
- end
- end
-
- describe "#request(:custom)" do
- it "raises a NotSupportedError" do
- expect { adapter.request(:custom) }.
- to raise_error(HTTPI::NotSupportedError, "Net::HTTP does not support custom HTTP methods")
- end
- end
-
- describe "settings:" do
- before { stub_request(:get, request.url.to_s) }
-
- describe "use_ssl" do
- it "should be set to false for non-SSL requests" do
- net_http.expects(:use_ssl=).with(false)
- adapter.request(:get)
+ if RUBY_PLATFORM =~ /java/
+ pending "Puma Server complains: SSL not supported on JRuby"
+ else
+ context "https requests" do
+ before :all do
+ @server = IntegrationServer.run(:ssl => true)
end
-
- it "should be set to true for SSL requests" do
- request.ssl = true
-
- net_http.expects(:use_ssl=).with(true)
- adapter.request(:get)
+ after :all do
+ @server.stop
end
- end
- describe "open_timeout" do
- it "should not be set if not specified" do
- net_http.expects(:open_timeout=).never
- adapter.request(:get)
- end
+ # it does not raise when no certificate was set up
+ it "works when set up properly" do
+ request = HTTPI::Request.new(@server.url)
+ request.auth.ssl.ca_cert_file = IntegrationServer.ssl_ca_file
- it "should be set if specified" do
- request.open_timeout = 30
-
- net_http.expects(:open_timeout=).with(30)
- adapter.request(:get)
+ response = HTTPI.get(request, adapter)
+ expect(response.body).to eq("get")
end
end
-
- describe "read_timeout" do
- it "should not be set if not specified" do
- net_http.expects(:read_timeout=).never
- adapter.request(:get)
- end
-
- it "should be set if specified" do
- request.read_timeout = 30
-
- net_http.expects(:read_timeout=).with(30)
- adapter.request(:get)
- end
- end
-
- describe "basic_auth" do
- it "should be set for HTTP basic auth" do
- request.auth.basic "username", "password"
-
- stub_request(:get, "http://username:password@example.com")
- Net::HTTP::Get.any_instance.expects(:basic_auth).with(*request.auth.credentials)
- adapter.request(:get)
- end
- end
-
- context "(for SSL client auth)" do
- before do
- request.auth.ssl.cert_key_file = "spec/fixtures/client_key.pem"
- request.auth.ssl.cert_file = "spec/fixtures/client_cert.pem"
- end
-
- it "key, cert and verify_mode should be set" do
- net_http.expects(:cert=).with(request.auth.ssl.cert)
- net_http.expects(:key=).with(request.auth.ssl.cert_key)
- net_http.expects(:verify_mode=).with(request.auth.ssl.openssl_verify_mode)
-
- adapter.request(:get)
- end
-
- it "should set the client_ca if specified" do
- request.auth.ssl.ca_cert_file = "spec/fixtures/client_cert.pem"
- net_http.expects(:ca_file=).with(request.auth.ssl.ca_cert_file)
-
- adapter.request(:get)
- end
-
- it 'should set the ssl_version if specified' do
- request.auth.ssl.ssl_version = :SSLv3
- net_http.expects(:ssl_version=).with(request.auth.ssl.ssl_version)
-
- adapter.request(:get)
- end
- end
- end
-
- def basic_request
- request = HTTPI::Request.new "http://example.com"
- yield request if block_given?
- request
end
end