gcloud 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/AUTHENTICATION.md +71 -0
- data/CHANGELOG.md +5 -0
- data/README.md +10 -15
- data/lib/gcloud.rb +30 -0
- data/lib/gcloud/backoff.rb +3 -0
- data/lib/gcloud/credentials.rb +47 -30
- data/lib/gcloud/datastore.rb +246 -15
- data/lib/gcloud/datastore/connection.rb +4 -2
- data/lib/gcloud/datastore/credentials.rb +3 -1
- data/lib/gcloud/datastore/dataset.rb +130 -25
- data/lib/gcloud/datastore/dataset/lookup_results.rb +1 -0
- data/lib/gcloud/datastore/dataset/query_results.rb +7 -5
- data/lib/gcloud/datastore/entity.rb +99 -17
- data/lib/gcloud/datastore/errors.rb +13 -2
- data/lib/gcloud/datastore/key.rb +133 -2
- data/lib/gcloud/datastore/properties.rb +6 -1
- data/lib/gcloud/datastore/proto.rb +2 -1
- data/lib/gcloud/datastore/query.rb +4 -4
- data/lib/gcloud/datastore/transaction.rb +3 -0
- data/lib/gcloud/storage.rb +280 -13
- data/lib/gcloud/storage/bucket.rb +248 -11
- data/lib/gcloud/storage/bucket/acl.rb +631 -4
- data/lib/gcloud/storage/bucket/list.rb +1 -0
- data/lib/gcloud/storage/connection.rb +1 -0
- data/lib/gcloud/storage/credentials.rb +3 -1
- data/lib/gcloud/storage/errors.rb +9 -1
- data/lib/gcloud/storage/file.rb +231 -6
- data/lib/gcloud/storage/file/acl.rb +365 -2
- data/lib/gcloud/storage/file/list.rb +1 -0
- data/lib/gcloud/storage/file/verifier.rb +1 -0
- data/lib/gcloud/storage/project.rb +119 -10
- data/lib/gcloud/version.rb +18 -3
- metadata +33 -80
- data/.gemtest +0 -0
- data/.rubocop.yml +0 -17
- data/Manifest.txt +0 -66
- data/Rakefile +0 -35
- data/gcloud.gemspec +0 -63
- data/rakelib/console.rake +0 -28
- data/rakelib/manifest.rake +0 -24
- data/rakelib/proto.rake +0 -17
- data/rakelib/rubocop.rake +0 -17
- data/rakelib/test.rake +0 -144
- data/test/gcloud/datastore/proto/test_cursor.rb +0 -36
- data/test/gcloud/datastore/proto/test_direction.rb +0 -60
- data/test/gcloud/datastore/proto/test_operator.rb +0 -76
- data/test/gcloud/datastore/proto/test_value.rb +0 -231
- data/test/gcloud/datastore/test_connection.rb +0 -93
- data/test/gcloud/datastore/test_credentials.rb +0 -38
- data/test/gcloud/datastore/test_dataset.rb +0 -413
- data/test/gcloud/datastore/test_entity.rb +0 -161
- data/test/gcloud/datastore/test_entity_exclude.rb +0 -225
- data/test/gcloud/datastore/test_key.rb +0 -189
- data/test/gcloud/datastore/test_query.rb +0 -271
- data/test/gcloud/datastore/test_transaction.rb +0 -121
- data/test/gcloud/storage/test_backoff.rb +0 -127
- data/test/gcloud/storage/test_bucket.rb +0 -270
- data/test/gcloud/storage/test_bucket_acl.rb +0 -253
- data/test/gcloud/storage/test_default_acl.rb +0 -256
- data/test/gcloud/storage/test_file.rb +0 -221
- data/test/gcloud/storage/test_file_acl.rb +0 -367
- data/test/gcloud/storage/test_project.rb +0 -180
- data/test/gcloud/storage/test_storage.rb +0 -29
- data/test/gcloud/storage/test_verifier.rb +0 -62
- data/test/gcloud/test_version.rb +0 -8
- data/test/helper.rb +0 -91
@@ -1,29 +0,0 @@
|
|
1
|
-
# Copyright 2014 Google Inc. All rights reserved.
|
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 "helper"
|
16
|
-
require "gcloud/storage"
|
17
|
-
|
18
|
-
describe Gcloud::Storage do
|
19
|
-
it "has resumable_threshold" do
|
20
|
-
Gcloud::Storage.resumable_threshold.must_equal 5_000_000
|
21
|
-
end
|
22
|
-
|
23
|
-
it "can update resumable_threshold" do
|
24
|
-
old_threshold = Gcloud::Storage.resumable_threshold
|
25
|
-
Gcloud::Storage.resumable_threshold = 10_000_000
|
26
|
-
Gcloud::Storage.resumable_threshold.must_equal 10_000_000
|
27
|
-
Gcloud::Storage.resumable_threshold = old_threshold
|
28
|
-
end
|
29
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# Copyright 2014 Google Inc. All rights reserved.
|
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 "helper"
|
16
|
-
|
17
|
-
describe Gcloud::Storage::File::Verifier, :mock_storage do
|
18
|
-
let(:file_contents) { "The quick brown fox jumps over the lazy dog." }
|
19
|
-
let(:md5_digest) { "1B2M2Y8AsgTpgAmY7PhCfg==" }
|
20
|
-
let(:crc32c_digest) { "AAAAAA==" }
|
21
|
-
let :file do
|
22
|
-
Gcloud::Storage::File.from_gapi corrected_file_hash,
|
23
|
-
OpenStruct.new
|
24
|
-
end
|
25
|
-
|
26
|
-
it "verifies md5 digest" do
|
27
|
-
Tempfile.open "gcloud-ruby" do |tmpfile|
|
28
|
-
tmpfile.write file_contents
|
29
|
-
assert Gcloud::Storage::File::Verifier.verify_md5(file, tmpfile)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
it "verifies crc32c digest" do
|
34
|
-
Tempfile.open "gcloud-ruby" do |tmpfile|
|
35
|
-
tmpfile.write file_contents
|
36
|
-
assert Gcloud::Storage::File::Verifier.verify_crc32c(file, tmpfile)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
it "calculates md5 digest" do
|
41
|
-
Tempfile.open "gcloud-ruby" do |tmpfile|
|
42
|
-
tmpfile.write file_contents
|
43
|
-
digest = Gcloud::Storage::File::Verifier.md5_for tmpfile
|
44
|
-
digest.must_equal md5_digest
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
it "calculates crc32c digest" do
|
49
|
-
Tempfile.open "gcloud-ruby" do |tmpfile|
|
50
|
-
tmpfile.write file_contents
|
51
|
-
digest = Gcloud::Storage::File::Verifier.crc32c_for tmpfile
|
52
|
-
digest.must_equal crc32c_digest
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def corrected_file_hash
|
57
|
-
hash = random_file_hash("bucket", "file.ext")
|
58
|
-
hash["md5Hash"] = md5_digest
|
59
|
-
hash["crc32c"] = crc32c_digest
|
60
|
-
hash
|
61
|
-
end
|
62
|
-
end
|
data/test/gcloud/test_version.rb
DELETED
data/test/helper.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
# Copyright 2014 Google Inc. All rights reserved.
|
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
|
-
gem "minitest"
|
16
|
-
require "minitest/autorun"
|
17
|
-
require "ostruct"
|
18
|
-
require "gcloud/storage"
|
19
|
-
|
20
|
-
class MockStorage < Minitest::Spec
|
21
|
-
let(:project) { "test" }
|
22
|
-
let(:credentials) { OpenStruct.new }
|
23
|
-
let(:storage) { Gcloud::Storage::Project.new project, credentials }
|
24
|
-
|
25
|
-
def setup
|
26
|
-
@connection = Faraday::Adapter::Test::Stubs.new
|
27
|
-
connection = storage.instance_variable_get "@connection"
|
28
|
-
client = connection.instance_variable_get "@client"
|
29
|
-
client.connection = Faraday.new do |builder|
|
30
|
-
# builder.options.params_encoder = Faraday::FlatParamsEncoder
|
31
|
-
builder.adapter :test, @connection
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def teardown
|
36
|
-
@connection.verify_stubbed_calls
|
37
|
-
end
|
38
|
-
|
39
|
-
def mock_connection
|
40
|
-
@connection
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
def random_bucket_hash name=random_bucket_name
|
45
|
-
{"kind"=>"storage#bucket",
|
46
|
-
"id"=>name,
|
47
|
-
"selfLink"=>"https://www.googleapis.com/storage/v1/b/#{name}",
|
48
|
-
"projectNumber"=>"1234567890",
|
49
|
-
"name"=>name,
|
50
|
-
"timeCreated"=>Time.now,
|
51
|
-
"metageneration"=>"1",
|
52
|
-
"owner"=>{"entity"=>"project-owners-1234567890"},
|
53
|
-
"location"=>"US",
|
54
|
-
"storageClass"=>"STANDARD",
|
55
|
-
"etag"=>"CAE="}
|
56
|
-
end
|
57
|
-
|
58
|
-
def random_file_hash bucket=random_bucket_name, name=random_file_path
|
59
|
-
{"kind"=>"storage#object",
|
60
|
-
"id"=>"#{bucket}/#{name}/1234567890",
|
61
|
-
"selfLink"=>"https://www.googleapis.com/storage/v1/b/#{bucket}/o/#{name}",
|
62
|
-
"name"=>"#{name}",
|
63
|
-
"bucket"=>"#{bucket}",
|
64
|
-
"generation"=>"1234567890",
|
65
|
-
"metageneration"=>"1",
|
66
|
-
"contentType"=>"text/plain",
|
67
|
-
"updated"=>Time.now,
|
68
|
-
"storageClass"=>"STANDARD",
|
69
|
-
"size"=>rand(10_000),
|
70
|
-
"md5Hash"=>"HXB937GQDFxDFqUGi//weQ==",
|
71
|
-
"mediaLink"=>"https://www.googleapis.com/download/storage/v1/b/#{bucket}/o/#{name}?generation=1234567890&alt=media",
|
72
|
-
"owner"=>{"entity"=>"user-1234567890", "entityId"=>"abc123"},
|
73
|
-
"crc32c"=>"Lm1F3g==",
|
74
|
-
"etag"=>"CKih16GjycICEAE="}
|
75
|
-
end
|
76
|
-
|
77
|
-
def random_bucket_name
|
78
|
-
(0...50).map { ("a".."z").to_a[rand(26)] }.join
|
79
|
-
end
|
80
|
-
|
81
|
-
def random_file_path
|
82
|
-
[(0...10).map { ("a".."z").to_a[rand(26)] }.join,
|
83
|
-
(0...10).map { ("a".."z").to_a[rand(26)] }.join,
|
84
|
-
(0...10).map { ("a".."z").to_a[rand(26)] }.join + ".txt"].join "/"
|
85
|
-
end
|
86
|
-
|
87
|
-
# Register this spec type for when :storage is used.
|
88
|
-
register_spec_type(self) do |desc, *addl|
|
89
|
-
addl.include? :mock_storage
|
90
|
-
end
|
91
|
-
end
|