spec/aitch/request_spec.rb in aitch-0.1.5 vs spec/aitch/request_spec.rb in aitch-0.2.0

- old
+ new

@@ -3,11 +3,11 @@ describe Aitch::Request do def build_request(options = {}) Aitch::Request.new({ request_method: "get", url: "http://example.org", - config: Aitch::Configuration.new + options: {} }.merge(options)) end it "raises with invalid uri" do expect { @@ -34,11 +34,11 @@ end it "sets user agent" do requester = build_request request = requester.request - expect(request["User-Agent"]).to eql(requester.config.user_agent) + expect(request["User-Agent"]).to eql(requester.options[:user_agent]) end it "requests gzip encoding" do request = build_request.request expect(request["Accept-Encoding"]).to eql("gzip,deflate") @@ -79,11 +79,11 @@ expect(requester.perform.body).to eql("hello") end it "sets default headers" do requester = build_request - requester.config.default_headers = {"HEADER" => "VALUE"} + requester.options[:default_headers] = {"HEADER" => "VALUE"} request = requester.request expect(request["HEADER"]).to eql("VALUE") end @@ -116,11 +116,11 @@ it "sets verification mode" do expect(client.verify_mode).to eql(OpenSSL::SSL::VERIFY_PEER) end it "sets timeout" do - request.config.timeout = 20 + request.options[:timeout] = 20 expect(client.read_timeout).to eql(20) end end end @@ -179,8 +179,29 @@ it "sets data as query string" do FakeWeb.register_uri(:get, %r[.+], body: "") Aitch.get("http://example.org/", a: 1, b: 2) expect(FakeWeb.last_request.path).to eql("/?a=1&b=2") + end + end + + describe "using the DSL" do + it "performs request" do + FakeWeb.register_uri(:post, %r[.+], body: "") + + response = Aitch.post do + url "http://example.org/some/path" + params a: 1, b: 2 + headers Rendering: "0.1" + options user: "user", password: "pass" + end + + expect(FakeWeb.last_request.path).to eql("/some/path") + expect(FakeWeb.last_request.method).to eql("POST") + expect(FakeWeb.last_request.body).to eql("a=1&b=2") + expect(FakeWeb.last_request["Rendering"]).to eql("0.1") + + auth = Base64.encode64("user:pass").chomp + expect(FakeWeb.last_request["Authorization"]).to eql("Basic #{auth}") end end end