spec/api-client/parser_spec.rb in api-client-1.6.1 vs spec/api-client/parser_spec.rb in api-client-1.7.0

- old
+ new

@@ -1,45 +1,28 @@ require 'spec_helper' describe ApiClient::Parser do describe "#response" do - before :each do - @remote_object = ApiClient::Base.remote_object - end - context "with a valid json response" do - context "without a root node" do - before :each do - stub_request(:post, "http://api.example.com/user/5").to_return(:body => { :a => :b }.to_json, :status => "201") - @response = ApiClient::Dispatcher.post('http://api.example.com/user/5', {}, {}) - end - - it "should return the response code and the body parsed" do - ApiClient::Parser.response(@response, @remote_object).should == { "a" => "b" } - end + before :each do + stub_request(:post, "http://api.example.com/user/5").to_return(:body => {:base => { :a => :b } }.to_json, :status => "201") + @response = ApiClient::Dispatcher.post('http://api.example.com/user/5', {}, {}) end - context "with a root node" do - before :each do - stub_request(:post, "http://api.example.com/user/5").to_return(:body => {:base => { :a => :b } }.to_json, :status => "201") - @response = ApiClient::Dispatcher.post('http://api.example.com/user/5', {}, {}) - end - - it "should return the response code and the body parsed" do - ApiClient::Parser.response(@response, @remote_object).should == { "a" => "b" } - end + it "should return the response code and the body parsed" do + ApiClient::Parser.response(@response).should == { "base" => { "a" => "b" } } end end context "with a invalid json response" do before :each do stub_request(:post, "http://api.example.com/user/5").to_return(:body => "wrong", :status => "201") @response = ApiClient::Dispatcher.post('http://api.example.com/user/5', {}, {}) end it "should return the response code and an empty hash" do - ApiClient::Parser.response(@response, @remote_object).should == {} + ApiClient::Parser.response(@response).should == {} end end context "with a response code of" do context "401" do @@ -47,66 +30,66 @@ stub_request(:get, "http://api.example.com/user/5").to_return(:status => 401) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a Unauthorized exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::Unauthorized) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::Unauthorized) end end context "403" do before :each do stub_request(:get, "http://api.example.com/user/5").to_return(:status => 403) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a Forbidden exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::Forbidden) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::Forbidden) end end context "404" do before :each do stub_request(:get, "http://api.example.com/user/5").to_return(:status => 404) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a NotFound exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::NotFound) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::NotFound) end end context "500" do before :each do stub_request(:get, "http://api.example.com/user/5").to_return(:status => 500) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a InternalServerError exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::InternalServerError) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::InternalServerError) end end context "502" do before :each do stub_request(:get, "http://api.example.com/user/5").to_return(:status => 502) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a BadGateway exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::BadGateway) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::BadGateway) end end context "503" do before :each do stub_request(:get, "http://api.example.com/user/5").to_return(:status => 503) @response = ApiClient::Dispatcher.get('http://api.example.com/user/5') end it "should return a ServiceUnavailable exception" do - lambda { ApiClient::Parser.response(@response, @remote_object) }.should raise_error(ApiClient::Exceptions::ServiceUnavailable) + lambda { ApiClient::Parser.response(@response) }.should raise_error(ApiClient::Exceptions::ServiceUnavailable) end end end end -end \ No newline at end of file +end