Reorganized some of the code and removed unnecessary stuff.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@35 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
This commit is contained in:
parent
3a9d58108a
commit
f96412cf23
16
README
16
README
|
@ -15,7 +15,21 @@ The Google API Ruby Client makes it trivial to discover and access supported API
|
||||||
|
|
||||||
== Example Usage
|
== Example Usage
|
||||||
|
|
||||||
# Some code goes here.
|
require 'google/api_client'
|
||||||
|
client = Google::APIClient.new(:service => 'buzz')
|
||||||
|
client.authorization.fetch_temporary_credential!(
|
||||||
|
:additional_parameters => {
|
||||||
|
'scope' => 'https://www.googleapis.com/auth/buzz'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
client.authorization.authorization_uri
|
||||||
|
# Redirect user here
|
||||||
|
client.authorization.fetch_token_credential!(:verifier => '12345')
|
||||||
|
response = client.execute(
|
||||||
|
'buzz.activities.list',
|
||||||
|
'scope' => '@self', 'userId' => '@me', 'alt' => 'json'
|
||||||
|
)
|
||||||
|
status, headers, body = response
|
||||||
|
|
||||||
== Requirements
|
== Requirements
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
require 'httpadapter'
|
require 'httpadapter'
|
||||||
require 'json'
|
require 'json'
|
||||||
|
|
||||||
require 'google/api_client/discovery/service'
|
require 'google/api_client/discovery'
|
||||||
|
|
||||||
module Google #:nodoc:
|
module Google #:nodoc:
|
||||||
##
|
##
|
||||||
|
@ -32,9 +32,9 @@ module Google #:nodoc:
|
||||||
# Returns the parser used by the client.
|
# Returns the parser used by the client.
|
||||||
def parser
|
def parser
|
||||||
unless @options[:parser]
|
unless @options[:parser]
|
||||||
require 'google/api_client/parser/json_parser'
|
require 'google/api_client/parsers/json_parser'
|
||||||
# NOTE: Do not rely on this default value, as it may change
|
# NOTE: Do not rely on this default value, as it may change
|
||||||
@options[:parser] = JSONParser.new
|
@options[:parser] = JSONParser
|
||||||
end
|
end
|
||||||
return @options[:parser]
|
return @options[:parser]
|
||||||
end
|
end
|
||||||
|
@ -72,9 +72,9 @@ module Google #:nodoc:
|
||||||
return @options[:discovery_uri] ||= (begin
|
return @options[:discovery_uri] ||= (begin
|
||||||
if @options[:service]
|
if @options[:service]
|
||||||
service_id = @options[:service]
|
service_id = @options[:service]
|
||||||
service_version = @options[:service_version] || '1.0'
|
service_version = @options[:service_version] || 'v1'
|
||||||
"http://www.googleapis.com/discovery/0.1/describe" +
|
"http://www.googleapis.com/discovery/0.1/describe" +
|
||||||
"?api=#{service_id}&apiVersion=#{service_version}"
|
"?api=#{service_id}"
|
||||||
else
|
else
|
||||||
raise ArgumentError,
|
raise ArgumentError,
|
||||||
'Missing required configuration value, :discovery_uri.'
|
'Missing required configuration value, :discovery_uri.'
|
||||||
|
@ -107,10 +107,9 @@ module Google #:nodoc:
|
||||||
services = []
|
services = []
|
||||||
for service_name in service_names
|
for service_name in service_names
|
||||||
versions = self.discovery_document['data'][service_name]
|
versions = self.discovery_document['data'][service_name]
|
||||||
for version_name in versions.keys()
|
for service_version in versions.keys()
|
||||||
service_description =
|
service_description =
|
||||||
self.discovery_document['data'][service_name][version_name]
|
self.discovery_document['data'][service_name][service_version]
|
||||||
service_version = "%.1f" % version_name.gsub(/^v/, '').to_f
|
|
||||||
services << ::Google::APIClient::Service.new(
|
services << ::Google::APIClient::Service.new(
|
||||||
service_name,
|
service_name,
|
||||||
service_version,
|
service_version,
|
||||||
|
@ -122,7 +121,7 @@ module Google #:nodoc:
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
def discovered_service(service_name, service_version='1.0')
|
def discovered_service(service_name, service_version='v1')
|
||||||
for service in self.discovered_services
|
for service in self.discovered_services
|
||||||
if service.name == service_name &&
|
if service.name == service_name &&
|
||||||
service.version.to_s == service_version.to_s
|
service.version.to_s == service_version.to_s
|
||||||
|
@ -132,7 +131,7 @@ module Google #:nodoc:
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def discovered_method(rpc_name, service_version='1.0')
|
def discovered_method(rpc_name, service_version='v1')
|
||||||
for service in self.discovered_services
|
for service in self.discovered_services
|
||||||
# This looks kinda weird, but is not a real problem because there's
|
# This looks kinda weird, but is not a real problem because there's
|
||||||
# almost always only one service, and this is memoized anyhow.
|
# almost always only one service, and this is memoized anyhow.
|
||||||
|
@ -143,11 +142,24 @@ module Google #:nodoc:
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def latest_service(service_name)
|
||||||
|
versions = {}
|
||||||
|
for service in self.discovered_services
|
||||||
|
next if service.name != service_name
|
||||||
|
sortable_version = service.version.gsub(/^v/, '').split('.').map do |v|
|
||||||
|
v.to_i
|
||||||
|
end
|
||||||
|
versions[sortable_version] = service
|
||||||
|
end
|
||||||
|
return versions[versions.keys.sort.last]
|
||||||
|
end
|
||||||
|
|
||||||
def generate_request(
|
def generate_request(
|
||||||
api_method, parameters={}, body='', headers=[], options={})
|
api_method, parameters={}, body='', headers=[], options={})
|
||||||
options={
|
options={
|
||||||
:signed => true,
|
:signed => true,
|
||||||
:service_version => '1.0'
|
:parser => self.parser,
|
||||||
|
:service_version => 'v1'
|
||||||
}.merge(options)
|
}.merge(options)
|
||||||
if api_method.kind_of?(String)
|
if api_method.kind_of?(String)
|
||||||
api_method = self.discovered_method(
|
api_method = self.discovered_method(
|
||||||
|
@ -172,8 +184,8 @@ module Google #:nodoc:
|
||||||
return self.transmit_request(request)
|
return self.transmit_request(request)
|
||||||
end
|
end
|
||||||
|
|
||||||
def transmit_request(request)
|
def transmit_request(request, adapter=self.http_adapter)
|
||||||
::HTTPAdapter.transmit(request, self.http_adapter)
|
::HTTPAdapter.transmit(request, adapter)
|
||||||
end
|
end
|
||||||
|
|
||||||
def sign_request(request)
|
def sign_request(request)
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
# Copyright 2010 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
require 'json'
|
|
||||||
require 'addressable/template'
|
|
||||||
|
|
||||||
module Google #:nodoc:
|
|
||||||
class APIClient #:nodoc:
|
|
||||||
##
|
|
||||||
# A discovery document handler.
|
|
||||||
class Discovery
|
|
||||||
|
|
||||||
##
|
|
||||||
# The default discovery configuration values. These may be overrided
|
|
||||||
# simply by passing in the same key to the constructor.
|
|
||||||
DEFAULTS = {
|
|
||||||
}
|
|
||||||
|
|
||||||
##
|
|
||||||
# A set of default configuration values specific to each service. These
|
|
||||||
# may be overrided simply by passing in the same key to the constructor.
|
|
||||||
SERVICE_DEFAULTS = {
|
|
||||||
}
|
|
||||||
|
|
||||||
##
|
|
||||||
# Creates a new API discovery handler.
|
|
||||||
#
|
|
||||||
# @param [Hash] options
|
|
||||||
# <code>:service</code>::
|
|
||||||
# The name of the service.
|
|
||||||
# <code>:service_version</code>::
|
|
||||||
# The version of the service.
|
|
||||||
# <code>:discovery_uri</code>::
|
|
||||||
# The URI of the discovery document.
|
|
||||||
#
|
|
||||||
# @return [Google::APIClient::Discovery] The API discovery handler.
|
|
||||||
def initialize(options={})
|
|
||||||
if options[:service] && SERVICE_DEFAULTS[options[:service]]
|
|
||||||
@options = DEFAULTS.merge(SERVICE_DEFAULTS[options[:service]])
|
|
||||||
else
|
|
||||||
@options = DEFAULTS.clone
|
|
||||||
end
|
|
||||||
@options.merge!(options)
|
|
||||||
if @options[:service] && !@options[:discovery_uri]
|
|
||||||
service_id = @options[:service]
|
|
||||||
service_version = @options[:service_version] || '1.0'
|
|
||||||
@options[:discovery_uri] =
|
|
||||||
"http://www.googleapis.com/discovery/0.1/describe" +
|
|
||||||
"?api=#{service_id}&apiVersion=#{service_version}"
|
|
||||||
end
|
|
||||||
unless @options[:discovery_uri]
|
|
||||||
raise ArgumentError,
|
|
||||||
'Missing required configuration value, :discovery_uri.'
|
|
||||||
end
|
|
||||||
# Handle any remaining configuration here
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# Returns the configuration of the handler. Configuration options that
|
|
||||||
# are not recognized by the handler are ignored.
|
|
||||||
#
|
|
||||||
# @return [Hash] The configuration options.
|
|
||||||
def options
|
|
||||||
return @options
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# Returns the URI of the discovery document.
|
|
||||||
#
|
|
||||||
# @return [String] The URI of the discovery document.
|
|
||||||
def discovery_uri
|
|
||||||
return @options[:discovery_uri]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -16,26 +16,24 @@ require 'json'
|
||||||
|
|
||||||
module Google #:nodoc:
|
module Google #:nodoc:
|
||||||
class APIClient #:nodoc:
|
class APIClient #:nodoc:
|
||||||
|
|
||||||
##
|
##
|
||||||
# Provides a consistent interface by which to parse request and response
|
# Provides a consistent interface by which to parse request and response
|
||||||
# content.
|
# content.
|
||||||
# TODO(mattpok): ensure floats, URLs, dates are parsed correctly
|
# TODO(mattpok): ensure floats, URLs, dates are parsed correctly
|
||||||
class JSONParser
|
module JSONParser
|
||||||
|
|
||||||
def generate(hash)
|
def self.serialize(hash)
|
||||||
# JSON parser used can accept arrays as well, but we will limit
|
# JSON parser used can accept arrays as well, but we will limit
|
||||||
# to only allow hash to JSON string parsing to keep a simple interface
|
# to only allow hash to JSON string parsing to keep a simple interface
|
||||||
unless hash.instance_of? Hash
|
unless hash.instance_of? Hash
|
||||||
raise ArgumentError,
|
raise ArgumentError,
|
||||||
"JSON generate expected a Hash but got a #{hash.class}."
|
"JSON generate expected a Hash but got a #{hash.class}."
|
||||||
end
|
end
|
||||||
|
return JSON.generate(hash)
|
||||||
return JSON.generate hash
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse(json_string)
|
def self.parse(json_string)
|
||||||
return JSON.parse json_string
|
return JSON.parse(json_string)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -1,28 +0,0 @@
|
||||||
# Copyright 2010 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
module Google #:nodoc:
|
|
||||||
class APIClient #:nodoc:
|
|
||||||
|
|
||||||
##
|
|
||||||
# A simple request abstraction for API requests. This is the primary
|
|
||||||
# request object that users will interact with.
|
|
||||||
#
|
|
||||||
class APIRequest
|
|
||||||
|
|
||||||
def execute
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,29 +0,0 @@
|
||||||
# Copyright 2010 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
module Google #:nodoc:
|
|
||||||
class APIClient #:nodoc:
|
|
||||||
|
|
||||||
##
|
|
||||||
# A simple response abstraction for API requests. Encapsulates raw repsonse
|
|
||||||
# data and allows user to parse response as a hash or model class.
|
|
||||||
# This is the primary response object that users will interact with.
|
|
||||||
#
|
|
||||||
class APIResponse
|
|
||||||
|
|
||||||
def parse
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,46 +0,0 @@
|
||||||
# Copyright 2010 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
require 'oauth'
|
|
||||||
require 'google/api_client/discovery/discovery'
|
|
||||||
|
|
||||||
describe Google::APIClient::Discovery, 'configured for use with a service' do
|
|
||||||
before do
|
|
||||||
@discovery = Google::APIClient::Discovery.new(:service => :magic)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should have the correct discovery document URI' do
|
|
||||||
@discovery.discovery_uri.should ==
|
|
||||||
'http://www.googleapis.com/discovery/0.1/describe' +
|
|
||||||
'?api=magic&apiVersion=1.0'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe Google::APIClient::Discovery,
|
|
||||||
'configured for use with a specific service version' do
|
|
||||||
before do
|
|
||||||
@discovery = Google::APIClient::Discovery.new(
|
|
||||||
:service => :magic,
|
|
||||||
:service_version => 42.0
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should have the correct discovery document URI' do
|
|
||||||
@discovery.discovery_uri.should ==
|
|
||||||
'http://www.googleapis.com/discovery/0.1/describe' +
|
|
||||||
'?api=magic&apiVersion=42.0'
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Copyright 2010 Google Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
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/parsers/json_parser'
|
||||||
|
|
||||||
|
describe Google::APIClient, 'configured for the prediction API' do
|
||||||
|
before do
|
||||||
|
@client = Google::APIClient.new(:service => 'prediction')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should have multiple versions available' do
|
||||||
|
@client.discovered_services.size.should > 1
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should correctly determine the latest version' do
|
||||||
|
@client.latest_service('prediction').version.should_not == 'v1'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should correctly determine the latest version' do
|
||||||
|
# Sanity check the algorithm
|
||||||
|
@client.discovered_services.clear
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v1', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v1.1', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v1.10', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v10.1', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v2.1', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('magic', 'v10.0', {})
|
||||||
|
@client.latest_service('magic').version.should == 'v10.1'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should correctly determine the latest version' do
|
||||||
|
# Sanity check the algorithm
|
||||||
|
@client.discovered_services.clear
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('one', 'v3', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('two', 'v1', {})
|
||||||
|
@client.discovered_services <<
|
||||||
|
Google::APIClient::Service.new('two', 'v2', {})
|
||||||
|
@client.latest_service('two').version.should == 'v2'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should return nil for bogus service names' do
|
||||||
|
# Sanity check the algorithm
|
||||||
|
@client.latest_service('bogus').should == nil
|
||||||
|
end
|
||||||
|
end
|
|
@ -15,25 +15,28 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
require 'json'
|
require 'json'
|
||||||
require 'google/api_client/parser/json_parser'
|
require 'google/api_client/parsers/json_parser'
|
||||||
|
|
||||||
describe Google::APIClient::JSONParser, 'generates json from hash' do
|
describe Google::APIClient::JSONParser, 'generates json from hash' do
|
||||||
before do
|
before do
|
||||||
@parser = Google::APIClient::JSONParser.new
|
@parser = Google::APIClient::JSONParser
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should translate simple hash to JSON string' do
|
it 'should translate simple hash to JSON string' do
|
||||||
@parser.generate('test' => 23).should == "{\"test\":23}"
|
@parser.serialize('test' => 23).should == '{"test":23}'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should translate simple nested into to nested JSON string' do
|
it 'should translate simple nested into to nested JSON string' do
|
||||||
@parser.generate({'test' => 23, 'test2' => {'foo' => 'baz', 12 => 3.14 }}).should ==
|
@parser.serialize({
|
||||||
"{\"test2\":{\"12\":3.14,\"foo\":\"baz\"},\"test\":23}"
|
'test' => 23, 'test2' => {'foo' => 'baz', 12 => 3.14 }
|
||||||
|
}).should ==
|
||||||
|
'{"test2":{"12":3.14,"foo":"baz"},"test":23}'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe Google::APIClient::JSONParser, 'parses json string into hash' do
|
describe Google::APIClient::JSONParser, 'parses json string into hash' do
|
||||||
before do
|
before do
|
||||||
@parser = Google::APIClient::JSONParser.new
|
@parser = Google::APIClient::JSONParser
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should parse simple json string into hash' do
|
it 'should parse simple json string into hash' do
|
||||||
|
@ -41,8 +44,8 @@ describe Google::APIClient::JSONParser, 'parses json string into hash' do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should parse nested json object into hash' do
|
it 'should parse nested json object into hash' do
|
||||||
@parser.parse('{"test":23, "test2":{"bar":"baz", "foo":3.14}}').should ==
|
@parser.parse('{"test":23, "test2":{"bar":"baz", "foo":3.14}}').should == {
|
||||||
{'test' => 23, 'test2' => {'bar' => 'baz', 'foo' => 3.14}}
|
'test' => 23, 'test2' => {'bar' => 'baz', 'foo' => 3.14}
|
||||||
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,7 +19,7 @@ require 'httpadapter/adapters/net_http'
|
||||||
|
|
||||||
require 'google/api_client'
|
require 'google/api_client'
|
||||||
require 'google/api_client/version'
|
require 'google/api_client/version'
|
||||||
require 'google/api_client/parser/json_parser'
|
require 'google/api_client/parsers/json_parser'
|
||||||
|
|
||||||
describe Google::APIClient, 'with default configuration' do
|
describe Google::APIClient, 'with default configuration' do
|
||||||
before do
|
before do
|
||||||
|
@ -31,7 +31,7 @@ describe Google::APIClient, 'with default configuration' do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should use the default JSON parser' do
|
it 'should use the default JSON parser' do
|
||||||
@client.parser.should be_instance_of(Google::APIClient::JSONParser)
|
@client.parser.should be(Google::APIClient::JSONParser)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should use the default OAuth1 client configuration' do
|
it 'should use the default OAuth1 client configuration' do
|
||||||
|
|
Loading…
Reference in New Issue