Begin consolidation of request building in reference. Further changes coming to simplify batch + media handling

This commit is contained in:
Steven Bazyl committed 2012-10-10 14:24:25 -06:00
1 parent 9f51031a00
commit 5d2a6d4842
8 files changed
+155 -312

No files matched your search

+30 -28
View File
@@ -91,7 +91,7 @@ describe Google::APIClient do
:uri => CLIENT.discovery_uri('prediction', 'v1.2'),
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should === (
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should === (
'https://www.googleapis.com/discovery/v1/apis/prediction/v1.2/rest' +
'?userIp=127.0.0.1'
)
@@ -104,7 +104,7 @@ describe Google::APIClient do
:uri => CLIENT.discovery_uri('prediction', 'v1.2'),
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should === (
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should === (
'https://www.googleapis.com/discovery/v1/apis/prediction/v1.2/rest' +
'?key=qwerty'
)
@@ -119,7 +119,7 @@ describe Google::APIClient do
:authenticated => false
)
Addressable::URI.parse(
request.to_env(Faraday.default_connection)[:url]
request.to_http_request.to_env(Faraday.default_connection)[:url]
).query_values.should == {
'key' => 'qwerty',
'userIp' => '127.0.0.1'
@@ -183,8 +183,8 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => {'data' => '12345'}
)
request.method.should == :post
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.method.should == :post
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/prediction/v1.2/training?data=12345'
request.headers.should be_empty
request.body.should == ''
@@ -196,8 +196,8 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => [['data', '1'], ['data','2']]
)
request.method.should == :post
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.method.should == :post
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/prediction/v1.2/training?data=1&data=2'
end
@@ -206,7 +206,7 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => {'data' => '12345'}
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/prediction/v1.2/training?data=12345'
end
@@ -215,7 +215,7 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => {'data' => '12345'}
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/prediction/v1.2/training?data=12345'
end
@@ -229,7 +229,7 @@ describe Google::APIClient do
:api_method => prediction_rebase.training.insert,
:parameters => {'data' => '123'}
)
request.to_env(Faraday.default_connection)[:url].to_s.should === (
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should === (
'https://testing-domain.example.com/' +
'prediction/v1.2/training?data=123'
)
@@ -243,8 +243,9 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => {'data' => '12345'}
)
request.headers.should have_key('Authorization')
request.headers['Authorization'].should =~ /^OAuth/
http_request = request.to_http_request
http_request.headers.should have_key('Authorization')
http_request.headers['Authorization'].should =~ /^OAuth/
end
it 'should generate OAuth 2 requests' do
@@ -254,8 +255,9 @@ describe Google::APIClient do
:api_method => @prediction.training.insert,
:parameters => {'data' => '12345'}
)
request.headers.should have_key('Authorization')
request.headers['Authorization'].should =~ /^Bearer/
http_request = request.to_http_request
http_request.headers.should have_key('Authorization')
http_request.headers['Authorization'].should =~ /^Bearer/
end
it 'should not be able to execute improperly authorized requests' do
@@ -311,7 +313,7 @@ describe Google::APIClient do
MultiJson.dump({"id" => "bucket/object"}),
{'Content-Type' => 'application/json'}
)
result.request.headers['Content-Type'].should == 'application/json'
result.reference.to_http_request.headers['Content-Type'].should == 'application/json'
end
end
@@ -358,7 +360,7 @@ describe Google::APIClient do
},
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should === (
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should === (
'https://www.googleapis.com/plus/v1/' +
'people/107807692475771887386/activities/public'
)
@@ -370,7 +372,7 @@ describe Google::APIClient do
:api_method => @plus.activities.list,
:parameters => {'alt' => 'json'},
:authenticated => false
)
).to_http_request
end).should raise_error(ArgumentError)
end
@@ -382,7 +384,7 @@ describe Google::APIClient do
'userId' => '107807692475771887386', 'collection' => 'bogus'
},
:authenticated => false
)
).to_http_request
end).should raise_error(ArgumentError)
end
end
@@ -429,7 +431,7 @@ describe Google::APIClient do
:api_method => 'latitude.currentLocation.get',
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/latitude/v1/currentLocation'
end
@@ -438,7 +440,7 @@ describe Google::APIClient do
:api_method => @latitude.current_location.get,
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/latitude/v1/currentLocation'
end
@@ -493,7 +495,7 @@ describe Google::APIClient do
:api_method => 'moderator.profiles.get',
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/moderator/v1/profiles/@me'
end
@@ -502,7 +504,7 @@ describe Google::APIClient do
:api_method => @moderator.profiles.get,
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/moderator/v1/profiles/@me'
end
@@ -553,7 +555,7 @@ describe Google::APIClient do
:api_method => 'adsense.adclients.list',
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/adsense/v1/adclients'
end
@@ -562,7 +564,7 @@ describe Google::APIClient do
:api_method => @adsense.adclients.list,
:authenticated => false
)
request.to_env(Faraday.default_connection)[:url].to_s.should ===
request.to_http_request.to_env(Faraday.default_connection)[:url].to_s.should ===
'https://www.googleapis.com/adsense/v1/adclients'
end
@@ -579,7 +581,7 @@ describe Google::APIClient do
CLIENT.generate_request(
:api_method => @adsense.reports.generate,
:authenticated => false
)
).to_http_request
end).should raise_error(ArgumentError)
end
@@ -594,7 +596,7 @@ describe Google::APIClient do
'metric' => 'PAGE_VIEWS'
},
:authenticated => false
)
).to_http_request
end).should_not raise_error
end
@@ -609,7 +611,7 @@ describe Google::APIClient do
'metric' => 'PAGE_VIEWS'
},
:authenticated => false
)
).to_http_request
end).should raise_error(ArgumentError)
end
@@ -639,7 +641,7 @@ describe Google::APIClient do
'metric' => ['PAGE_VIEWS', 'CLICKS']
},
:authenticated => false
)
).to_http_request
end).should raise_error(ArgumentError)
end
end
+5 -5
View File
@@ -32,7 +32,7 @@ describe Google::APIClient::Result do
'maxResults' => 20
}
})
@request = @reference.to_request
@request = @reference.to_http_request
# Response stub
@response = stub("response")
@@ -66,7 +66,7 @@ describe Google::APIClient::Result do
}
END_OF_STRING
)
@result = Google::APIClient::Result.new(@reference, @request, @response)
@result = Google::APIClient::Result.new(@reference, @response)
end
it 'should indicate a successful response' do
@@ -82,7 +82,7 @@ describe Google::APIClient::Result do
reference = @result.next_page
Hash[reference.parameters].should include('pageToken')
Hash[reference.parameters]['pageToken'].should == 'NEXT+PAGE+TOKEN'
url = reference.to_request.to_env(Faraday.default_connection)[:url]
url = reference.to_http_request.to_env(Faraday.default_connection)[:url]
url.to_s.should include('pageToken=NEXT%2BPAGE%2BTOKEN')
end
@@ -124,7 +124,7 @@ describe Google::APIClient::Result do
}
END_OF_STRING
)
@result = Google::APIClient::Result.new(@reference, @request, @response)
@result = Google::APIClient::Result.new(@reference, @response)
end
it 'should not return a next page token' do
@@ -170,7 +170,7 @@ describe Google::APIClient::Result do
END_OF_STRING
)
@response.stub(:status).and_return(400)
@result = Google::APIClient::Result.new(@reference, @request, @response)
@result = Google::APIClient::Result.new(@reference, @response)
end
it 'should return error status correctly' do
+4 -3
View File
@@ -42,9 +42,7 @@ shared_examples_for 'configurable user agent' do
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
stubs = Faraday::Adapter::Test::Stubs.new do |stub|
stub.get('/') do |env|
headers = env[:request_headers]
@@ -56,6 +54,9 @@ shared_examples_for 'configurable user agent' do
connection = Faraday.new(:url => 'https://www.google.com') do |builder|
builder.adapter(:test, stubs)
end
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