1 # Copyright 2010 Google Inc.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
17 require 'signet/oauth_1/client'
18 require 'httpadapter/adapters/net_http'
20 require 'google/api_client'
21 require 'google/api_client/version'
22 require 'google/api_client/parsers/json_parser'
24 describe Google::APIClient, 'with default configuration' do
26 @client = Google::APIClient.new
29 it 'should make its version number available' do
30 ::Google::APIClient::VERSION::STRING.should be_instance_of(String)
33 it 'should use the default JSON parser' do
34 @client.parser.should be(Google::APIClient::JSONParser)
37 it 'should not use an authorization mechanism' do
38 @client.authorization.should be_nil
42 describe Google::APIClient, 'with default oauth configuration' do
44 @client = Google::APIClient.new(:authorization => :oauth_1)
47 it 'should make its version number available' do
48 ::Google::APIClient::VERSION::STRING.should be_instance_of(String)
51 it 'should use the default JSON parser' do
52 @client.parser.should be(Google::APIClient::JSONParser)
55 it 'should use the default OAuth1 client configuration' do
56 @client.authorization.temporary_credential_uri.to_s.should ==
57 'https://www.google.com/accounts/OAuthGetRequestToken'
58 @client.authorization.authorization_uri.to_s.should include(
59 'https://www.google.com/accounts/OAuthAuthorizeToken'
61 @client.authorization.token_credential_uri.to_s.should ==
62 'https://www.google.com/accounts/OAuthGetAccessToken'
63 @client.authorization.client_credential_key.should == 'anonymous'
64 @client.authorization.client_credential_secret.should == 'anonymous'
68 describe Google::APIClient, 'with custom pluggable parser' do
73 @client = Google::APIClient.new(:parser => FakeJsonParser.new)
76 it 'should use the custom parser' do
77 @client.parser.should be_instance_of(FakeJsonParser)