Sha256: f139e9ce933a02073b9b46a2c95bd55c8ee997f89c2d2f75e773af55730f5676
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
require File.expand_path("../helper", __FILE__) module Sawyer class AgentTest < TestCase def setup @stubs = Faraday::Adapter::Test::Stubs.new @agent = Sawyer::Agent.new "http://foo.com/a/" do |conn| conn.builder.handlers.delete(Faraday::Adapter::NetHttp) conn.adapter :test, @stubs end end def test_starts_a_session @stubs.get '/a/' do |env| assert_equal 'foo.com', env[:url].host [200, {}, Yajl.dump( :_links => { :users => {:href => '/users'}})] end res = @agent.start assert_equal 200, res.status assert_kind_of Sawyer::Resource, resource = res.data assert_equal '/users', resource.rels[:users].href assert_equal :get, resource.rels[:users].method end def test_requests_with_body_and_options @stubs.post '/a/b/c' do |env| assert_equal '{"a":1}', env[:body] assert_equal 'abc', env[:request_headers]['x-test'] assert_equal 'foo=bar', env[:url].query [200, {}, "{}"] end res = @agent.call :post, 'b/c' , {:a => 1}, :headers => {"X-Test" => "abc"}, :query => {:foo => 'bar'} assert_equal 200, res.status end def test_requests_with_body_and_options_to_get @stubs.get '/a/b/c' do |env| assert_nil env[:body] assert_equal 'abc', env[:request_headers]['x-test'] assert_equal 'foo=bar', env[:url].query [200, {}, "{}"] end res = @agent.call :get, 'b/c' , {:a => 1}, :headers => {"X-Test" => "abc"}, :query => {:foo => 'bar'} assert_equal 200, res.status end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sawyer-0.0.2 | test/agent_test.rb |
sawyer-0.0.1 | test/agent_test.rb |