Reorganized some of the code and removed unnecessary stuff.
[arvados.git] / spec / google / api_client_spec.rb
1 # Copyright 2010 Google Inc.
2 #
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
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
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.
14
15 require 'spec_helper'
16
17 require 'signet/oauth_1/client'
18 require 'httpadapter/adapters/net_http'
19
20 require 'google/api_client'
21 require 'google/api_client/version'
22 require 'google/api_client/parsers/json_parser'
23
24 describe Google::APIClient, 'with default configuration' do
25   before do
26     @client = Google::APIClient.new
27   end
28
29   it 'should make its version number available' do
30     ::Google::APIClient::VERSION::STRING.should be_instance_of(String)
31   end
32
33   it 'should use the default JSON parser' do
34     @client.parser.should be(Google::APIClient::JSONParser)
35   end
36
37   it 'should use the default OAuth1 client configuration' do
38     @client.authorization.temporary_credential_uri.to_s.should ==
39       'https://www.google.com/accounts/OAuthGetRequestToken'
40     @client.authorization.authorization_uri.to_s.should include(
41       'https://www.google.com/accounts/OAuthAuthorizeToken'
42     )
43     @client.authorization.token_credential_uri.to_s.should ==
44       'https://www.google.com/accounts/OAuthGetAccessToken'
45     @client.authorization.client_credential_key.should == 'anonymous'
46     @client.authorization.client_credential_secret.should == 'anonymous'
47   end
48 end
49
50 describe Google::APIClient, 'with custom pluggable parser' do
51   before do
52     class FakeJsonParser
53     end
54
55     @client = Google::APIClient.new(:parser => FakeJsonParser.new)
56   end
57
58   it 'should use the custom parser' do
59     @client.parser.should be_instance_of(FakeJsonParser)
60   end
61 end