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