aliyun-sdk 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,71 @@
1
+ # coding: utf-8
2
+ require 'minitest/autorun'
3
+ require 'yaml'
4
+ $LOAD_PATH.unshift(File.expand_path("../../lib", __FILE__))
5
+ require 'aliyun/oss'
6
+
7
+ class TestObjectKey < Minitest::Test
8
+ def setup
9
+ Aliyun::OSS::Logging.set_log_level(Logger::DEBUG)
10
+ conf_file = '~/.oss.yml'
11
+ conf = YAML.load(File.read(File.expand_path(conf_file)))
12
+ client = Aliyun::OSS::Client.new(
13
+ :endpoint => conf['endpoint'],
14
+ :cname => conf['cname'],
15
+ :access_key_id => conf['id'],
16
+ :access_key_secret => conf['key'])
17
+ @bucket = client.get_bucket(conf['bucket'])
18
+ @prefix = 'tests/object_key/'
19
+ @keys = {
20
+ simple: 'simple_key',
21
+ chinese: '杭州・中国',
22
+ space: '是 空格 yeah +-/\\&*#',
23
+ invisible: '' << 1 << 10 << 12 << 7,
24
+ }
25
+ end
26
+
27
+ def get_key(sym)
28
+ @prefix + @keys[sym]
29
+ end
30
+
31
+ def test_simple
32
+ key = get_key(:simple)
33
+ @bucket.put_object(key)
34
+ all = @bucket.list_objects(prefix: @prefix).map(&:key)
35
+ assert_includes all, key
36
+ assert_equal key, @bucket.get_object(key).key
37
+ end
38
+
39
+ def test_chinese
40
+ key = get_key(:chinese)
41
+ @bucket.put_object(key)
42
+ all = @bucket.list_objects(prefix: @prefix).map(&:key)
43
+ assert_includes all, key
44
+ assert_equal key, @bucket.get_object(key).key
45
+ end
46
+
47
+ def test_space
48
+ key = get_key(:space)
49
+ @bucket.put_object(key)
50
+ all = @bucket.list_objects(prefix: @prefix).map(&:key)
51
+ assert_includes all, key
52
+ assert_equal key, @bucket.get_object(key).key
53
+ end
54
+
55
+ def test_invisible
56
+ key = get_key(:invisible)
57
+ @bucket.put_object(key)
58
+ all = @bucket.list_objects(prefix: @prefix).map(&:key)
59
+ assert_includes all, key
60
+ assert_equal key, @bucket.get_object(key).key
61
+ end
62
+
63
+ def test_batch_delete
64
+ keys = @keys.map { |k, _| get_key(k) }
65
+ keys.each { |k| @bucket.put_object(k) }
66
+ ret = @bucket.batch_delete_objects(keys)
67
+ assert_equal keys, ret
68
+ all = @bucket.list_objects(prefix: @prefix).map(&:key)
69
+ assert all.empty?, all.to_s
70
+ end
71
+ end
@@ -0,0 +1,41 @@
1
+ require 'minitest/autorun'
2
+ require 'yaml'
3
+ $LOAD_PATH.unshift(File.expand_path("../../lib", __FILE__))
4
+ require 'aliyun/oss'
5
+
6
+ class TestResumable < Minitest::Test
7
+ def setup
8
+ Aliyun::OSS::Logging.set_log_level(Logger::DEBUG)
9
+ conf_file = '~/.oss.yml'
10
+ conf = YAML.load(File.read(File.expand_path(conf_file)))
11
+ client = Aliyun::OSS::Client.new(
12
+ :endpoint => conf['endpoint'],
13
+ :cname => conf['cname'],
14
+ :access_key_id => conf['id'],
15
+ :access_key_secret => conf['key'])
16
+ @bucket = client.get_bucket(conf['bucket'])
17
+ @prefix = 'tests/resumable/'
18
+ end
19
+
20
+ def get_key(k)
21
+ @prefix + k
22
+ end
23
+
24
+ def random_string(n)
25
+ (1...n).map { (65 + rand(26)).chr }.join + "\n"
26
+ end
27
+
28
+ def test_correctness
29
+ key = get_key('resumable')
30
+ # generate 10M random data
31
+ File.open('/tmp/x', 'w') do |f|
32
+ (10 * 1024).times { f.write(random_string(1024)) }
33
+ end
34
+
35
+ @bucket.resumable_upload(key, '/tmp/x', :part_size => 100 * 1024)
36
+ @bucket.resumable_download(key, '/tmp/y', :part_size => 100 * 1024)
37
+
38
+ diff = `diff /tmp/x /tmp/y`
39
+ assert diff.empty?, diff
40
+ end
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aliyun-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tianlong Wu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-23 00:00:00.000000000 Z
11
+ date: 2015-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -115,8 +115,15 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files:
117
117
  - README.md
118
+ - CHANGELOG.md
118
119
  files:
120
+ - CHANGELOG.md
119
121
  - README.md
122
+ - examples/aliyun/oss/bucket.rb
123
+ - examples/aliyun/oss/object.rb
124
+ - examples/aliyun/oss/resumable_download.rb
125
+ - examples/aliyun/oss/resumable_upload.rb
126
+ - examples/aliyun/oss/streaming.rb
120
127
  - lib/aliyun/oss.rb
121
128
  - lib/aliyun/oss/bucket.rb
122
129
  - lib/aliyun/oss/client.rb
@@ -143,6 +150,11 @@ files:
143
150
  - spec/aliyun/oss/object_spec.rb
144
151
  - spec/aliyun/oss/service_spec.rb
145
152
  - spec/aliyun/oss/util_spec.rb
153
+ - tests/test_content_type.rb
154
+ - tests/test_large_file.rb
155
+ - tests/test_multipart.rb
156
+ - tests/test_object_key.rb
157
+ - tests/test_resumable.rb
146
158
  homepage: https://gitlab.alibaba-inc.com/oss/ruby-sdk
147
159
  licenses:
148
160
  - MIT
@@ -178,4 +190,9 @@ test_files:
178
190
  - spec/aliyun/oss/object_spec.rb
179
191
  - spec/aliyun/oss/service_spec.rb
180
192
  - spec/aliyun/oss/util_spec.rb
193
+ - tests/test_content_type.rb
194
+ - tests/test_large_file.rb
195
+ - tests/test_multipart.rb
196
+ - tests/test_object_key.rb
197
+ - tests/test_resumable.rb
181
198
  has_rdoc: