X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a7b40becc607563b42f608a6a6531133b2b3d5ea..18d3cccd6a471ce4b75460836730ed0918b36439:/spec/google/api_client_spec.rb diff --git a/spec/google/api_client_spec.rb b/spec/google/api_client_spec.rb index dbd772c9dd..ae25518fbb 100644 --- a/spec/google/api_client_spec.rb +++ b/spec/google/api_client_spec.rb @@ -14,87 +14,82 @@ require 'spec_helper' -gem 'faraday', '~> 0.7.0' require 'faraday' require 'faraday/utils' - -gem 'signet', '~> 0.3.0' require 'signet/oauth_1/client' - require 'google/api_client' require 'google/api_client/version' shared_examples_for 'configurable user agent' do it 'should allow the user agent to be modified' do - @client.user_agent = 'Custom User Agent/1.2.3' - @client.user_agent.should == 'Custom User Agent/1.2.3' + client.user_agent = 'Custom User Agent/1.2.3' + client.user_agent.should == 'Custom User Agent/1.2.3' end it 'should allow the user agent to be set to nil' do - @client.user_agent = nil - @client.user_agent.should == nil + client.user_agent = nil + client.user_agent.should == nil end it 'should not allow the user agent to be used with bogus values' do (lambda do - @client.user_agent = 42 - @client.transmit( + client.user_agent = 42 + client.transmit( ['GET', 'http://www.google.com/', [], []] ) end).should raise_error(TypeError) end it 'should transmit a User-Agent header when sending requests' do - @client.user_agent = 'Custom User Agent/1.2.3' - request = Faraday::Request.new(:get) do |req| - req.url('http://www.google.com/') - end + client.user_agent = 'Custom User Agent/1.2.3' + stubs = Faraday::Adapter::Test::Stubs.new do |stub| stub.get('/') do |env| headers = env[:request_headers] headers.should have_key('User-Agent') - headers['User-Agent'].should == @client.user_agent + headers['User-Agent'].should == client.user_agent [200, {}, ['']] end end connection = Faraday.new(:url => 'https://www.google.com') do |builder| builder.adapter(:test, stubs) end - @client.transmit(:request => request, :connection => connection) + request = connection.build_request(:get) do |req| + req.url('http://www.google.com/') + end + client.transmit(:request => request, :connection => connection) stubs.verify_stubbed_calls end end describe Google::APIClient do - before do - @client = Google::APIClient.new - end + let(:client) { Google::APIClient.new } it 'should make its version number available' do Google::APIClient::VERSION::STRING.should be_instance_of(String) end it 'should default to OAuth 2' do - Signet::OAuth2::Client.should === @client.authorization + Signet::OAuth2::Client.should === client.authorization end it_should_behave_like 'configurable user agent' describe 'configured for OAuth 1' do before do - @client.authorization = :oauth_1 + client.authorization = :oauth_1 end it 'should use the default OAuth1 client configuration' do - @client.authorization.temporary_credential_uri.to_s.should == + client.authorization.temporary_credential_uri.to_s.should == 'https://www.google.com/accounts/OAuthGetRequestToken' - @client.authorization.authorization_uri.to_s.should include( + client.authorization.authorization_uri.to_s.should include( 'https://www.google.com/accounts/OAuthAuthorizeToken' ) - @client.authorization.token_credential_uri.to_s.should == + client.authorization.token_credential_uri.to_s.should == 'https://www.google.com/accounts/OAuthGetAccessToken' - @client.authorization.client_credential_key.should == 'anonymous' - @client.authorization.client_credential_secret.should == 'anonymous' + client.authorization.client_credential_key.should == 'anonymous' + client.authorization.client_credential_secret.should == 'anonymous' end it_should_behave_like 'configurable user agent' @@ -102,7 +97,7 @@ describe Google::APIClient do describe 'configured for OAuth 2' do before do - @client.authorization = :oauth_2 + client.authorization = :oauth_2 end # TODO @@ -111,7 +106,7 @@ describe Google::APIClient do describe 'when executing requests' do before do - @client.authorization = :oauth_2 + client.authorization = :oauth_2 @connection = Faraday.new(:url => 'https://www.googleapis.com') do |builder| stubs = Faraday::Adapter::Test::Stubs.new do |stub| stub.get('/test') do |env| @@ -123,16 +118,16 @@ describe Google::APIClient do end it 'should use default authorization' do - @client.authorization.access_token = "12345" - @client.execute(:http_method => :get, + client.authorization.access_token = "12345" + client.execute(:http_method => :get, :uri => 'https://www.googleapis.com/test', :connection => @connection) end it 'should use request scoped authorization when provided' do - @client.authorization.access_token = "abcdef" + client.authorization.access_token = "abcdef" new_auth = Signet::OAuth2::Client.new(:access_token => '12345') - @client.execute(:http_method => :get, + client.execute(:http_method => :get, :uri => 'https://www.googleapis.com/test', :connection => @connection, :authorization => new_auth)