Updated to use Signet.

git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@31 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
This commit is contained in:
bobaman@google.com 2010-09-13 21:54:43 +00:00
parent 4787954779
commit 719e576051
2 changed files with 38 additions and 11 deletions

View File

@ -26,23 +26,38 @@ module Google #:nodoc:
# NOTE: Do not rely on this default value, as it may change
@options[:parser] = JSONParser.new
end
unless @options[:authentication]
require 'google/api_client/auth/oauth_1'
unless @options[:authorization]
require 'signet/oauth_1/client'
# NOTE: Do not rely on this default value, as it may change
@options[:authentication] = OAuth1.new
@options[:authorization] = Signet::OAuth1::Client.new(
:temporary_credential_uri =>
'https://www.google.com/accounts/OAuthGetRequestToken',
:authorization_uri =>
'https://www.google.com/accounts/OAuthAuthorizeToken',
:token_credential_uri =>
'https://www.google.com/accounts/OAuthGetAccessToken',
:client_credential_key => 'anonymous',
:client_credential_secret => 'anonymous'
)
end
unless @options[:transport]
require 'google/api_client/transport/http_transport'
@options[:transport] = HTTPTransport
unless @options[:http_adapter]
require 'httpadapter/adapters/net_http'
@options[:http_adapter] = HTTPAdapter::NetHTTPRequestAdapter
end
end
##
# Returns the parser used by the client.
def parser
return @options[:parser]
end
##
# Returns the authorization mechanism used by the client.
def authorization
return @options[:authorization]
end
def build_request(*args, &block)
if !args.empty? || block
# Build the request!

View File

@ -14,12 +14,12 @@
require 'spec_helper'
require 'signet/oauth_1/client'
require 'httpadapter/adapters/net_http'
require 'google/api_client'
require 'google/api_client/version'
require 'google/api_client/parser/json_parser'
require 'google/api_client/auth/oauth_1'
require 'google/api_client/transport/http_transport'
describe Google::APIClient, 'with default configuration' do
before do
@ -33,6 +33,18 @@ describe Google::APIClient, 'with default configuration' do
it 'should use the default JSON parser' do
@client.parser.should be_instance_of(Google::APIClient::JSONParser)
end
it 'should use the default OAuth1 client configuration' do
@client.authorization.temporary_credential_uri.to_s.should ==
'https://www.google.com/accounts/OAuthGetRequestToken'
@client.authorization.authorization_uri.to_s.should include(
'https://www.google.com/accounts/OAuthAuthorizeToken'
)
@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'
end
end
describe Google::APIClient, 'with custom pluggable parser' do