google-api-client 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/google-api-client.gemspec +4 -3
  4. data/lib/google/api_client/client_secrets.rb +1 -1
  5. data/lib/google/apis/core/download.rb +10 -1
  6. data/lib/google/apis/core/json_representation.rb +2 -2
  7. data/lib/google/apis/version.rb +1 -1
  8. data/samples/cli/.env +4 -0
  9. data/samples/web/.env +2 -0
  10. data/samples/web/views/home.erb +0 -1
  11. metadata +5 -71
  12. data/api_names_out.yaml +0 -28434
  13. data/generated/google/apis/sheets_v1.rb +0 -43
  14. data/generated/google/apis/sheets_v1/classes.rb +0 -4542
  15. data/generated/google/apis/sheets_v1/representations.rb +0 -1703
  16. data/generated/google/apis/sheets_v1/service.rb +0 -363
  17. data/script/generate +0 -105
  18. data/script/package +0 -8
  19. data/script/release +0 -15
  20. data/spec/fixtures/files/api_names.yaml +0 -3
  21. data/spec/fixtures/files/auth_stored_credentials.json +0 -8
  22. data/spec/fixtures/files/child/.gitignore +0 -0
  23. data/spec/fixtures/files/client_secrets.json +0 -1
  24. data/spec/fixtures/files/invalid.json +0 -1
  25. data/spec/fixtures/files/test.blah +0 -1
  26. data/spec/fixtures/files/test.txt +0 -1
  27. data/spec/fixtures/files/test_api.json +0 -440
  28. data/spec/google/api_client/auth/storage_spec.rb +0 -120
  29. data/spec/google/api_client/auth/storages/file_store_spec.rb +0 -39
  30. data/spec/google/api_client/auth/storages/redis_store_spec.rb +0 -68
  31. data/spec/google/api_client/client_secrets_spec.rb +0 -389
  32. data/spec/google/apis/core/api_command_spec.rb +0 -209
  33. data/spec/google/apis/core/batch_spec.rb +0 -142
  34. data/spec/google/apis/core/download_spec.rb +0 -103
  35. data/spec/google/apis/core/hashable_spec.rb +0 -60
  36. data/spec/google/apis/core/http_command_spec.rb +0 -303
  37. data/spec/google/apis/core/json_representation_spec.rb +0 -199
  38. data/spec/google/apis/core/service_spec.rb +0 -313
  39. data/spec/google/apis/core/upload_spec.rb +0 -300
  40. data/spec/google/apis/generated_spec.rb +0 -27
  41. data/spec/google/apis/generator/generator_spec.rb +0 -324
  42. data/spec/google/apis/logging_spec.rb +0 -100
  43. data/spec/google/apis/options_spec.rb +0 -40
  44. data/spec/integration_tests/adsense_spec.rb +0 -29
  45. data/spec/integration_tests/drive_spec.rb +0 -35
  46. data/spec/integration_tests/pubsub_spec.rb +0 -48
  47. data/spec/integration_tests/url_shortener_spec.rb +0 -45
  48. data/spec/spec_helper.rb +0 -153
  49. data/spec/spec_helper/load_path_spec.rb +0 -33
@@ -1,40 +0,0 @@
1
- # Copyright 2015 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
- require 'google/apis/options'
17
-
18
- RSpec.describe Google::Apis::RequestOptions do
19
- let(:options) { Google::Apis::RequestOptions.new }
20
-
21
- it 'should not merge nil values' do
22
- options.retries = 1
23
- expect(options.merge(authorization: 'foo').retries).to eql 1
24
- end
25
-
26
- it 'should merge non-nil values' do
27
- options.retries = 1
28
- expect(options.merge(authorization: 'foo').authorization).to eql 'foo'
29
- end
30
-
31
- it 'should merge from options' do
32
- opts = Google::Apis::RequestOptions.new
33
- opts.authorization = 'foo'
34
- expect(options.merge(opts).authorization).to eql 'foo'
35
- end
36
-
37
- it 'should allow nil in merge' do
38
- expect(options.merge(nil)).to be_an_instance_of(Google::Apis::RequestOptions)
39
- end
40
- end
@@ -1,29 +0,0 @@
1
- require 'spec_helper'
2
- require 'google/apis/adsense_v1_4'
3
- require 'googleauth'
4
-
5
- Adsense = Google::Apis::AdsenseV1_4
6
-
7
- RSpec.describe Google::Apis::AdsenseV1_4, :if => run_integration_tests? do
8
-
9
- before(:context) do
10
- #WebMock.allow_net_connect!
11
- @adsense = Adsense::AdSenseService.new
12
- #@adsense.authorization = Google::Auth.get_application_default([Adsense::AUTH_ADSENSE])
13
- #@adsense.authorization.sub = 'cb@travelingnuker.com'
14
- #@adsense.authorization.fetch_access_token!
15
- end
16
-
17
- it 'should download a report with multiple dimensions' do
18
- pending "Not enabled for test account"
19
- report = @adsense.generate_report( Date.today.to_s, Date.today.to_s, dimension: ["DATE", "AD_UNIT_NAME"] )
20
-
21
- report_header_names = report.headers.map { |h| h.name }
22
- expect(report_header_names).to include('DATE')
23
- expect(report_header_names).to include('AD_UNIT_NAME')
24
- end
25
-
26
- after(:context) do
27
- #WebMock.disable_net_connect!
28
- end
29
- end
@@ -1,35 +0,0 @@
1
- require 'spec_helper'
2
- require 'google/apis/drive_v2'
3
- require 'googleauth'
4
- require 'fileutils'
5
-
6
- Drive = Google::Apis::DriveV2
7
-
8
- RSpec.describe Google::Apis::DriveV2, :if => run_integration_tests? do
9
-
10
- before(:context) do
11
- WebMock.allow_net_connect!
12
- @drive = Drive::DriveService.new
13
- @drive.authorization = Google::Auth.get_application_default([Drive::AUTH_DRIVE])
14
- end
15
-
16
- it 'should upload and download files' do
17
- # Insert a file
18
- content_path = File.join(FIXTURES_DIR, 'files', 'test_api.json')
19
- file = @drive.insert_file({title: 'test_file.txt'}, upload_source: content_path)
20
- puts "Created file #{file.title} (#{file.id})"
21
-
22
- # Read it back
23
- tmp = @drive.get_file(file.id, download_dest: Tempfile.new('drive'))
24
-
25
- # Delete it
26
- @drive.delete_file(file.id)
27
- puts "File deleted"
28
-
29
- expect(FileUtils.compare_file(content_path, tmp)).to be_truthy
30
- end
31
-
32
- after(:context) do
33
- WebMock.disable_net_connect!
34
- end
35
- end
@@ -1,48 +0,0 @@
1
- require 'spec_helper'
2
- require 'google/apis/pubsub_v1'
3
- require 'googleauth'
4
-
5
- Pubsub = Google::Apis::PubsubV1
6
-
7
- RSpec.describe Google::Apis::PubsubV1, :if => run_integration_tests? do
8
-
9
- before(:context) do
10
- WebMock.allow_net_connect!
11
- project = ENV['GOOGLE_PROJECT_ID']
12
- @topic_name = "projects/#{project}/topics/test"
13
- @subscription_name = "projects/#{project}/subscriptions/test"
14
-
15
- @pubsub = Pubsub::PubsubService.new
16
- @pubsub.authorization = Google::Auth.get_application_default([Pubsub::AUTH_PUBSUB])
17
- @pubsub.create_topic(@topic_name)
18
- @pubsub.create_subscription(@subscription_name, Pubsub::Subscription.new(topic: @topic_name))
19
- end
20
-
21
- it 'should publish & receive messages' do
22
- # Publish messages
23
- request = Pubsub::PublishRequest.new(messages: [])
24
- request.messages << Pubsub::Message.new(attributes: { "language" => "en" }, data: 'Hello')
25
- request.messages << Pubsub::Message.new(attributes: { "language" => "en" }, data: 'World')
26
- @pubsub.publish_topic(@topic_name, request)
27
-
28
- # Pull messages
29
- response = @pubsub.pull_subscription(@subscription_name, Pubsub::PullRequest.new(max_messages: 5))
30
- response.received_messages.each do |received_message|
31
- data = received_message.message.data
32
- puts "Received #{data}"
33
- end
34
-
35
- # Acknowledge receipt
36
- ack_ids = response.received_messages.map{ |msg| msg.ack_id }
37
- @pubsub.acknowledge_subscription(@subscription_name, Pubsub::AcknowledgeRequest.new(ack_ids: ack_ids))
38
-
39
- expect(response.received_messages.length).to eq 2
40
- end
41
-
42
- after(:context) do
43
- @pubsub.delete_subscription(@subscription_name)
44
- @pubsub.delete_topic(@topic_name)
45
- WebMock.disable_net_connect!
46
- end
47
-
48
- end
@@ -1,45 +0,0 @@
1
- # Copyright 2015 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
- require 'google/apis/urlshortener_v1'
17
- require 'googleauth'
18
-
19
- Urlshortener = Google::Apis::UrlshortenerV1
20
-
21
- RSpec.describe Google::Apis::UrlshortenerV1, :if => run_integration_tests? do
22
-
23
- before(:context) do
24
- WebMock.allow_net_connect!
25
- @shortener = Urlshortener::UrlshortenerService.new
26
- @shortener.authorization = Google::Auth.get_application_default([Urlshortener::AUTH_URLSHORTENER])
27
- end
28
-
29
- it 'should shorten URLs in a batch' do
30
- @urls = []
31
- callback = lambda { |url, err| @urls << url unless url.nil? }
32
- @shortener.batch do |shortener|
33
- shortener.insert_url(Urlshortener::Url.new(long_url: 'https://example.com/foo'), &callback)
34
- shortener.insert_url(Urlshortener::Url.new(long_url: 'https://example.com/bar'), &callback)
35
- shortener.insert_url(Urlshortener::Url.new(long_url: 'https://example.com/baz'), &callback)
36
- end
37
- puts @urls.inspect
38
- expect(@urls.length).to eq 3
39
- end
40
-
41
- after(:context) do
42
- WebMock.disable_net_connect!
43
- end
44
-
45
- end
@@ -1,153 +0,0 @@
1
- # Copyright 2015 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
- SPEC_DIR = File.expand_path(File.dirname(__FILE__))
16
- ROOT_DIR = File.expand_path(File.join(SPEC_DIR, '..'))
17
- LIB_DIR = File.expand_path(File.join(ROOT_DIR, 'lib'))
18
- GENERATED_DIR = File.expand_path(File.join(ROOT_DIR, 'generated'))
19
- THIRD_PARTY_DIR = File.expand_path(File.join(ROOT_DIR, 'third_party'))
20
- FIXTURES_DIR = File.expand_path(File.join(SPEC_DIR, 'fixtures'))
21
-
22
- $LOAD_PATH.uniq!
23
-
24
- if defined?(JRUBY_VERSION)
25
- puts 'Skipping coverage on JRuby'
26
- else
27
- # set up coverage
28
- require 'simplecov'
29
- require 'coveralls'
30
-
31
- SimpleCov.formatters = [
32
- Coveralls::SimpleCov::Formatter,
33
- SimpleCov::Formatter::HTMLFormatter
34
- ]
35
- SimpleCov.start do
36
- add_filter '/spec/'
37
- add_filter '/generated/'
38
- end
39
- end
40
-
41
- require 'rspec'
42
- require 'webmock/rspec'
43
- require 'fakefs/spec_helpers'
44
- require 'json_spec'
45
- require 'logging'
46
- require 'rspec/logging_helper'
47
- require 'google/apis'
48
- require 'google/apis/core/base_service'
49
-
50
- # Configure RSpec to capture log messages for each test. The output from the
51
- # logs will be stored in the @log_output variable. It is a StringIO instance.
52
- RSpec.configure do |config|
53
- include RSpec::LoggingHelper
54
- config.include FakeFS::SpecHelpers, fakefs: true
55
- config.include JsonSpec::Helpers
56
- config.include WebMock::API
57
- config.capture_log_messages
58
-
59
- Google::Apis.logger.level = Logger::DEBUG
60
- WebMock::Config.instance.query_values_notation = :flat_array
61
- end
62
-
63
- [JsonSpec::Matchers::BeJsonEql,
64
- JsonSpec::Matchers::IncludeJson,
65
- JsonSpec::Matchers::HaveJsonType,
66
- JsonSpec::Matchers::HaveJsonSize,
67
- JsonSpec::Matchers::HaveJsonPath].each do |klass|
68
- klass.send(:alias_method, :===, :matches?)
69
- end
70
-
71
- RSpec.shared_context 'HTTP client' do
72
- let(:client) do
73
- Google::Apis::Core::BaseService.new('', '').client
74
- end
75
- end
76
-
77
- module TestHelpers
78
- include WebMock::API
79
- include WebMock::Matchers
80
- end
81
-
82
- # Enable retries for tests
83
- Google::Apis::RequestOptions.default.retries = 5
84
-
85
- # Allow testing different adapters
86
- Google::Apis::ClientOptions.default.use_net_http = true if ENV['USE_NET_HTTP']
87
- # Temporarily patch WebMock to allow chunked responses for Net::HTTP
88
- module Net
89
- module WebMockHTTPResponse
90
- def eval_chunk(chunk)
91
- chunk if chunk.is_a?(String)
92
- chunk.read if chunk.is_a?(IO)
93
- chunk.call if chunk.is_a?(Proc)
94
- fail chunk if chunk.is_a?(Class)
95
- chunk
96
- end
97
-
98
- def read_body(dest = nil, &block)
99
- if !(defined?(@__read_body_previously_called).nil?) && @__read_body_previously_called
100
- return super
101
- end
102
- return @body if dest.nil? && block.nil?
103
- fail ArgumentError.new('both arg and block given for HTTP method') if dest && block
104
- return nil if @body.nil?
105
-
106
- dest ||= ::Net::ReadAdapter.new(block)
107
- body_parts = Array(@body)
108
- body_parts.each do |chunk|
109
- chunk = eval_chunk(chunk)
110
- dest << chunk
111
- end
112
- @body = dest
113
- ensure
114
- # allow subsequent calls to #read_body to proceed as normal, without our hack...
115
- @__read_body_previously_called = true
116
- end
117
- end
118
- end
119
-
120
- class WebMockHTTPClient
121
- def eval_chunk(chunk)
122
- chunk if chunk.is_a?(String)
123
- chunk.read if chunk.is_a?(IO)
124
- chunk.call if chunk.is_a?(Proc)
125
- fail HTTPClient::TimeoutError if chunk == ::Timeout::Error
126
- fail chunk if chunk.is_a?(Class)
127
- chunk
128
- end
129
-
130
- def build_httpclient_response(webmock_response, stream = false, req_header = nil, &block)
131
- body = stream ? StringIO.new(webmock_response.body) : webmock_response.body
132
- response = HTTP::Message.new_response(body, req_header)
133
- response.header.init_response(webmock_response.status[0])
134
- response.reason = webmock_response.status[1]
135
- webmock_response.headers.to_a.each { |name, value| response.header.set(name, value) }
136
-
137
- raise HTTPClient::TimeoutError if webmock_response.should_timeout
138
- webmock_response.raise_error_if_any
139
-
140
- body_parts = Array(webmock_response.body)
141
- body_parts.each do |chunk|
142
- chunk = eval_chunk(chunk)
143
- block.call(response, chunk) if block
144
- end
145
-
146
- response
147
- end
148
- end
149
-
150
-
151
- def run_integration_tests?
152
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] && ENV['GOOGLE_PROJECT_ID']
153
- end
@@ -1,33 +0,0 @@
1
- # Copyright 2015 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
- RSpec.describe $LOAD_PATH do
18
- it('should contain SPEC_DIR') do
19
- expect($LOAD_PATH).to include(SPEC_DIR)
20
- end
21
-
22
- it('should contain LIB_DIR') do
23
- expect($LOAD_PATH).to include(LIB_DIR)
24
- end
25
-
26
- it('should contain GENERATED_DIR') do
27
- expect($LOAD_PATH).to include(GENERATED_DIR)
28
- end
29
-
30
- it('should contain THIRD_PARTY_DIR') do
31
- expect($LOAD_PATH).to include(THIRD_PARTY_DIR)
32
- end
33
- end