google-api-client 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/google-api-client.gemspec +4 -3
- data/lib/google/api_client/client_secrets.rb +1 -1
- data/lib/google/apis/core/download.rb +10 -1
- data/lib/google/apis/core/json_representation.rb +2 -2
- data/lib/google/apis/version.rb +1 -1
- data/samples/cli/.env +4 -0
- data/samples/web/.env +2 -0
- data/samples/web/views/home.erb +0 -1
- metadata +5 -71
- data/api_names_out.yaml +0 -28434
- data/generated/google/apis/sheets_v1.rb +0 -43
- data/generated/google/apis/sheets_v1/classes.rb +0 -4542
- data/generated/google/apis/sheets_v1/representations.rb +0 -1703
- data/generated/google/apis/sheets_v1/service.rb +0 -363
- data/script/generate +0 -105
- data/script/package +0 -8
- data/script/release +0 -15
- data/spec/fixtures/files/api_names.yaml +0 -3
- data/spec/fixtures/files/auth_stored_credentials.json +0 -8
- data/spec/fixtures/files/child/.gitignore +0 -0
- data/spec/fixtures/files/client_secrets.json +0 -1
- data/spec/fixtures/files/invalid.json +0 -1
- data/spec/fixtures/files/test.blah +0 -1
- data/spec/fixtures/files/test.txt +0 -1
- data/spec/fixtures/files/test_api.json +0 -440
- data/spec/google/api_client/auth/storage_spec.rb +0 -120
- data/spec/google/api_client/auth/storages/file_store_spec.rb +0 -39
- data/spec/google/api_client/auth/storages/redis_store_spec.rb +0 -68
- data/spec/google/api_client/client_secrets_spec.rb +0 -389
- data/spec/google/apis/core/api_command_spec.rb +0 -209
- data/spec/google/apis/core/batch_spec.rb +0 -142
- data/spec/google/apis/core/download_spec.rb +0 -103
- data/spec/google/apis/core/hashable_spec.rb +0 -60
- data/spec/google/apis/core/http_command_spec.rb +0 -303
- data/spec/google/apis/core/json_representation_spec.rb +0 -199
- data/spec/google/apis/core/service_spec.rb +0 -313
- data/spec/google/apis/core/upload_spec.rb +0 -300
- data/spec/google/apis/generated_spec.rb +0 -27
- data/spec/google/apis/generator/generator_spec.rb +0 -324
- data/spec/google/apis/logging_spec.rb +0 -100
- data/spec/google/apis/options_spec.rb +0 -40
- data/spec/integration_tests/adsense_spec.rb +0 -29
- data/spec/integration_tests/drive_spec.rb +0 -35
- data/spec/integration_tests/pubsub_spec.rb +0 -48
- data/spec/integration_tests/url_shortener_spec.rb +0 -45
- data/spec/spec_helper.rb +0 -153
- data/spec/spec_helper/load_path_spec.rb +0 -33
@@ -1,27 +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 Google::Apis do
|
18
|
-
# Minimal test just to ensure no syntax errors in generated code
|
19
|
-
it 'should load all APIs' do
|
20
|
-
expect do
|
21
|
-
Dir.glob(File.join(ROOT_DIR, 'generated', 'google', 'apis', '*.rb')) do |file|
|
22
|
-
base = File.basename(file, '.rb')
|
23
|
-
require sprintf('google/apis/%s', base)
|
24
|
-
end
|
25
|
-
end.not_to raise_error
|
26
|
-
end
|
27
|
-
end
|
@@ -1,324 +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/generator'
|
17
|
-
require 'tmpdir'
|
18
|
-
require 'fileutils'
|
19
|
-
|
20
|
-
# TODO - Naked arrays in method requests/responses
|
21
|
-
|
22
|
-
RSpec.describe Google::Apis::Generator do
|
23
|
-
include TestHelpers
|
24
|
-
|
25
|
-
context 'with test API' do
|
26
|
-
before(:context) do
|
27
|
-
generator = Google::Apis::Generator.new(api_names: File.join(FIXTURES_DIR, 'files', 'api_names.yaml'))
|
28
|
-
discovery = File.read(File.join(FIXTURES_DIR, 'files', 'test_api.json'))
|
29
|
-
generated_files = generator.render(discovery)
|
30
|
-
puts generator.dump_api_names
|
31
|
-
tempdir = Dir.mktmpdir
|
32
|
-
generated_files.each do |key, content|
|
33
|
-
path = File.join(tempdir, key)
|
34
|
-
FileUtils.mkdir_p(File.dirname(path))
|
35
|
-
File.open(path, 'w') do |f|
|
36
|
-
f.write(content)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
$LOAD_PATH.unshift(tempdir)
|
40
|
-
require 'google/apis/test_v1'
|
41
|
-
end
|
42
|
-
|
43
|
-
let(:service) { Google::Apis::TestV1::TestService.new }
|
44
|
-
|
45
|
-
context 'with the generated service' do
|
46
|
-
it 'should set the base URL' do
|
47
|
-
expect(service.root_url.to_s).to eql('https://www.googleapis.com/')
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'should define global methods from discovery' do
|
51
|
-
expect(service.method(:query)).to_not be_nil
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'should define parameters on methods' do
|
55
|
-
parameters = service.method(:query).parameters.map { |(_k, v)| v }
|
56
|
-
expect(parameters).to include(:s, :i, :n, :b, :a, :e, :er, :sr)
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'should modify parameter names that are ruby keywords' do
|
60
|
-
parameters = service.method(:query).parameters.map { |(_k, v)| v }
|
61
|
-
expect(parameters).to include(:do_)
|
62
|
-
end
|
63
|
-
|
64
|
-
it 'should define global parameters on methods' do
|
65
|
-
parameters = service.method(:query).parameters.map { |(_k, v)| v }
|
66
|
-
expect(parameters).to include(:fields, :quota_user, :user_ip)
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'should include standard options & block' do
|
70
|
-
parameters = service.method(:query).parameters.map { |(_k, v)| v }
|
71
|
-
expect(parameters).to include(:options, :block)
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'should define AUTH_TEST scope' do
|
75
|
-
expect(Google::Apis::TestV1::AUTH_TEST).to eql ('https://www.googleapis.com/auth/test')
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'should define AUTH_TEST_READONLY scope' do
|
79
|
-
expect(Google::Apis::TestV1::AUTH_TEST_READONLY).to eql ('https://www.googleapis.com/auth/test.readonly')
|
80
|
-
end
|
81
|
-
|
82
|
-
context 'when simplifying class names' do
|
83
|
-
it 'should simplify the TestAnotherThing name' do
|
84
|
-
expect { Google::Apis::TestV1::AnotherThing.new }.not_to raise_error
|
85
|
-
end
|
86
|
-
|
87
|
-
it 'should not simplify the TestThing name' do
|
88
|
-
expect { Google::Apis::TestV1::TestThing.new }.not_to raise_error
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
|
93
|
-
context 'with the Thing resource' do
|
94
|
-
it 'should define the create method`' do
|
95
|
-
expect(service.method(:create_thing)).to_not be_nil
|
96
|
-
end
|
97
|
-
|
98
|
-
it 'should define the list method`' do
|
99
|
-
expect(service.method(:list_things)).to_not be_nil
|
100
|
-
end
|
101
|
-
|
102
|
-
it 'should define the get method`' do
|
103
|
-
expect(service.method(:get_thing)).to_not be_nil
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'should include the download_dest parameter for get_thing' do
|
107
|
-
parameters = service.method(:get_thing).parameters.map { |(_k, v)| v }
|
108
|
-
expect(parameters).to include(:download_dest)
|
109
|
-
end
|
110
|
-
|
111
|
-
it 'should define the update method`' do
|
112
|
-
expect(service.method(:update_thing)).to_not be_nil
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'should include the upload_source parameter for update_thing' do
|
116
|
-
parameters = service.method(:update_thing).parameters.map { |(_k, v)| v }
|
117
|
-
expect(parameters).to include(:upload_source)
|
118
|
-
end
|
119
|
-
|
120
|
-
it 'should define subresource methods' do
|
121
|
-
expect(service.method(:list_thing_subthings)).to_not be_nil
|
122
|
-
end
|
123
|
-
|
124
|
-
context 'With the from_json method' do
|
125
|
-
let(:json) do
|
126
|
-
<<EOF
|
127
|
-
{
|
128
|
-
"name" : "A thing",
|
129
|
-
"properties": {
|
130
|
-
"prop_a" : "value_a"
|
131
|
-
},
|
132
|
-
"photo": {
|
133
|
-
"filename": "image.jpg"
|
134
|
-
},
|
135
|
-
"hat": {
|
136
|
-
"type": "topHat",
|
137
|
-
"height": 100
|
138
|
-
}
|
139
|
-
}
|
140
|
-
EOF
|
141
|
-
end
|
142
|
-
|
143
|
-
let(:thing) { Google::Apis::TestV1::Thing.from_json(json) }
|
144
|
-
|
145
|
-
it 'should return a thing' do
|
146
|
-
expect(thing).to be_instance_of(Google::Apis::TestV1::Thing)
|
147
|
-
end
|
148
|
-
|
149
|
-
it 'should parse properties' do
|
150
|
-
expect(thing.name).to eq 'A thing'
|
151
|
-
end
|
152
|
-
|
153
|
-
it 'should parse subtypes' do
|
154
|
-
expect(thing.photo.filename).to eq "image.jpg"
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
context 'With the to_json method' do
|
159
|
-
let(:thing) do
|
160
|
-
Google::Apis::TestV1::Thing.new(
|
161
|
-
name: "A thing",
|
162
|
-
properties: {
|
163
|
-
prop_a: "value_a"
|
164
|
-
},
|
165
|
-
photo: {
|
166
|
-
filename: "image.jpg"
|
167
|
-
},
|
168
|
-
hat: {
|
169
|
-
type: "topHat",
|
170
|
-
height: 100
|
171
|
-
}
|
172
|
-
)
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
context 'with the get_thing method' do
|
178
|
-
before(:example) do
|
179
|
-
json = <<EOF
|
180
|
-
{
|
181
|
-
"id" : "123",
|
182
|
-
"name" : "A thing",
|
183
|
-
"enabled": true,
|
184
|
-
"properties": {
|
185
|
-
"prop_a" : "value_a",
|
186
|
-
"prop_b" : "value_b"
|
187
|
-
},
|
188
|
-
"photo": {
|
189
|
-
"filename": "image.jpg"
|
190
|
-
},
|
191
|
-
"hat": {
|
192
|
-
"type": "baseballHat",
|
193
|
-
"color": "red"
|
194
|
-
}
|
195
|
-
}
|
196
|
-
EOF
|
197
|
-
stub_request(:get, 'https://www.googleapis.com/test/v1/things/123')
|
198
|
-
.to_return(headers: { 'Content-Type' => 'application/json' }, body: json)
|
199
|
-
end
|
200
|
-
|
201
|
-
let(:thing) { service.get_thing('123') }
|
202
|
-
|
203
|
-
it 'should return a Thing' do
|
204
|
-
expect(thing).to be_instance_of(Google::Apis::TestV1::Thing)
|
205
|
-
end
|
206
|
-
|
207
|
-
it 'should set attributes' do
|
208
|
-
expect(thing.id).to eql '123'
|
209
|
-
end
|
210
|
-
|
211
|
-
it 'should alias boolean methods on Thing' do
|
212
|
-
expect(thing.enabled?).to be true
|
213
|
-
end
|
214
|
-
|
215
|
-
it 'should return a Hash for properties' do
|
216
|
-
expect(thing.properties).to be_instance_of(Hash)
|
217
|
-
end
|
218
|
-
|
219
|
-
it 'should set hash elements' do
|
220
|
-
expect(thing.properties).to include('prop_a' => 'value_a')
|
221
|
-
end
|
222
|
-
|
223
|
-
it 'should return the correct variant type for hat' do
|
224
|
-
expect(thing.hat).to be_instance_of(Google::Apis::TestV1::BaseballHat)
|
225
|
-
end
|
226
|
-
|
227
|
-
it 'should return the correct variant properties for hat' do
|
228
|
-
expect(thing.hat.color).to eql 'red'
|
229
|
-
end
|
230
|
-
|
231
|
-
it 'should return a photo' do
|
232
|
-
expect(thing.photo).to be_instance_of(Google::Apis::TestV1::Thing::Photo)
|
233
|
-
end
|
234
|
-
|
235
|
-
it 'should return photo properties' do
|
236
|
-
expect(thing.photo.filename).to eql 'image.jpg'
|
237
|
-
end
|
238
|
-
end
|
239
|
-
|
240
|
-
context 'with the create_thing method' do
|
241
|
-
before(:example) do
|
242
|
-
json = <<EOF
|
243
|
-
{
|
244
|
-
"id" : "123",
|
245
|
-
"name" : "A thing",
|
246
|
-
"properties": {
|
247
|
-
"prop_a" : "value_a"
|
248
|
-
},
|
249
|
-
"photo": {
|
250
|
-
"filename": "image.jpg"
|
251
|
-
},
|
252
|
-
"hat": {
|
253
|
-
"type": "topHat",
|
254
|
-
"height": 100
|
255
|
-
}
|
256
|
-
}
|
257
|
-
EOF
|
258
|
-
stub_request(:post, 'https://www.googleapis.com/test/v1/things')
|
259
|
-
.to_return(headers: { 'Content-Type' => 'application/json' }, body: json)
|
260
|
-
end
|
261
|
-
|
262
|
-
let(:thing) do
|
263
|
-
thing = Google::Apis::TestV1::Thing.new(name: 'A thing', properties: { 'prop_a' => 'value_a' })
|
264
|
-
thing.photo = Google::Apis::TestV1::Thing::Photo.new(filename: 'image.jpg')
|
265
|
-
thing.hat = Google::Apis::TestV1::TopHat.new(type: 'topHat', height: 100)
|
266
|
-
service.create_thing(thing)
|
267
|
-
end
|
268
|
-
|
269
|
-
it 'should serialize the thing' do
|
270
|
-
expected_body = <<EOF
|
271
|
-
{
|
272
|
-
"name" : "A thing",
|
273
|
-
"properties": {
|
274
|
-
"prop_a" : "value_a"
|
275
|
-
},
|
276
|
-
"photo": {
|
277
|
-
"filename": "image.jpg"
|
278
|
-
},
|
279
|
-
"hat": {
|
280
|
-
"type": "topHat",
|
281
|
-
"height": 100
|
282
|
-
}
|
283
|
-
}
|
284
|
-
EOF
|
285
|
-
expect(thing).to be_instance_of(Google::Apis::TestV1::Thing)
|
286
|
-
expect(a_request(:post, 'https://www.googleapis.com/test/v1/things')
|
287
|
-
.with { |req| expect(req.body).to be_json_eql(expected_body) }).to have_been_made
|
288
|
-
end
|
289
|
-
|
290
|
-
it 'should an updated id' do
|
291
|
-
expect(thing.id).to eql '123'
|
292
|
-
end
|
293
|
-
end
|
294
|
-
|
295
|
-
context 'with the query method' do
|
296
|
-
before(:example) do
|
297
|
-
body = %({"rows": [{"value": "hello"}, {"value": "world"}]})
|
298
|
-
stub_request(:get, 'https://www.googleapis.com/test/v1/query')
|
299
|
-
.to_return(headers: { 'Content-Type' => 'application/json' }, body: body)
|
300
|
-
end
|
301
|
-
|
302
|
-
it 'should return query results' do
|
303
|
-
results = service.query
|
304
|
-
expect(results).to be_instance_of(Google::Apis::TestV1::QueryResults)
|
305
|
-
end
|
306
|
-
|
307
|
-
it 'should return an array for items' do
|
308
|
-
results = service.query
|
309
|
-
expect(results.rows).to be_instance_of(Array)
|
310
|
-
end
|
311
|
-
|
312
|
-
it 'should return items of type Row' do
|
313
|
-
results = service.query
|
314
|
-
expect(results.rows.first).to be_instance_of(Google::Apis::TestV1::Row)
|
315
|
-
end
|
316
|
-
|
317
|
-
it 'should return values for rows' do
|
318
|
-
results = service.query
|
319
|
-
expect(results.rows[1].value).to eql('world')
|
320
|
-
end
|
321
|
-
end
|
322
|
-
end
|
323
|
-
end
|
324
|
-
end
|
@@ -1,100 +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'
|
17
|
-
require 'google/apis/core/logging'
|
18
|
-
|
19
|
-
|
20
|
-
RSpec.describe Google::Apis do
|
21
|
-
it 'should have a default logger' do
|
22
|
-
expect(Google::Apis.logger).to be_an_instance_of(Logger)
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'with service' do
|
26
|
-
let(:service) do
|
27
|
-
Class.new do
|
28
|
-
include Google::Apis::Core::Logging
|
29
|
-
end.new
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should have a logger' do
|
33
|
-
expect(service.logger).to be_an_instance_of(Logger)
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'should use the default logger' do
|
37
|
-
expect(service.logger).to be Google::Apis.logger
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'should allow custom loggers' do
|
41
|
-
Google::Apis.logger = Logger.new(STDERR)
|
42
|
-
expect(service.logger).to be Google::Apis.logger
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context 'with Rails' do
|
47
|
-
|
48
|
-
before(:example) do
|
49
|
-
Google::Apis.logger = nil
|
50
|
-
Kernel.const_set('Rails', Module.new) unless defined?(::Rails)
|
51
|
-
end
|
52
|
-
|
53
|
-
let(:logger) { Logger.new(STDERR) }
|
54
|
-
|
55
|
-
let(:service) do
|
56
|
-
Class.new do
|
57
|
-
include Google::Apis::Core::Logging
|
58
|
-
end.new
|
59
|
-
end
|
60
|
-
|
61
|
-
context 'with logger present' do
|
62
|
-
before(:example) do
|
63
|
-
allow(::Rails).to receive(:logger).and_return(logger)
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'should use the Rails logger' do
|
67
|
-
expect(service.logger).to be Rails.logger
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
context 'with ENV bypass' do
|
72
|
-
before(:example) do
|
73
|
-
allow(::Rails).to receive(:logger).and_return(logger)
|
74
|
-
allow(::ENV).to receive(:fetch).and_return('false')
|
75
|
-
end
|
76
|
-
|
77
|
-
it 'should use own logger' do
|
78
|
-
expect(service.logger).not_to be Rails.logger
|
79
|
-
end
|
80
|
-
|
81
|
-
it 'should have a logger' do
|
82
|
-
expect(service.logger).to be_an_instance_of(Logger)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
context 'with logger not present' do
|
87
|
-
before(:example) do
|
88
|
-
allow(::Rails).to receive(:logger).and_return(nil)
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'should use own logger' do
|
92
|
-
expect(service.logger).not_to be Rails.logger
|
93
|
-
end
|
94
|
-
|
95
|
-
it 'should have a logger' do
|
96
|
-
expect(service.logger).to be_an_instance_of(Logger)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|