qiniu 6.0.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb4e5dae35c9c6f8b0dea9a10c6580f15ec2c42e
4
- data.tar.gz: b14c83f41a8fd3b88db57699648d1e8f1dd7a035
3
+ metadata.gz: 5df0656bef38c727a292ffe6ec54aba7ab0c8cac
4
+ data.tar.gz: 69d504ea0f9c61410e96600f55aa5cbea08f331e
5
5
  SHA512:
6
- metadata.gz: e7bdb3f0459b3acf7fa17af1be97d84a784f7817a444356558a8b8c43eed40b9918e9406c1c2e9ef4b280113495b3f0183734478a0bec029bed32b9721f9fda1
7
- data.tar.gz: a33a5c831cc472d86a13864e521da41f4844ebc64ae6cf215f492899ca4ae8846700f076d283cb9a55e3efce16a2bddee9a83fbeed963a2d0df69fde7a5c668a
6
+ metadata.gz: c74fb96b07fee02ab56fb4b25b9ac52637ea478bd3da685238644c0f1b034662211d7b9d483d50b428fc5c69030cb5bae148e14ba0059c4029e80c1d9c498240
7
+ data.tar.gz: f76c79b88f64661c3876f77ecff944d9bb63ce25ac389d3cfb826abc515ce1646c5edfd44312ba43e907629114b61ca0801c6b883c920ba2312e3ae29a5f1b5a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## CHANGE LOG
2
2
 
3
+ ### v6.1.0
4
+
5
+ - Qiniu::Storage所有上传接口返回第三个值raw_headers,类型为Hash,包含已解析的HTTP响应报文中的所有Header信息。
6
+
7
+ 该返回值主要用于调试。当遇到难以理解或解释的错误时,请将其中的X-Log和X-Reqid两项信息[通过邮件反馈](mailto:support@qiniu.com?subject=Ruby-SDK-Bug-Report)给我们。
8
+
9
+ - 更新Qiniu::Storage所有上传接口的测试用例,打印HTTP响应Header信息。
10
+
11
+ - 删除过时的Qiniu::Storage#put_file方法和相关测试用例。
12
+
13
+ 该方法调用的API已过时并逐步废弃,建议用户尽快迁移到Qiniu::Storage#upload_with_token_2方法上。
14
+
3
15
  ### v6.0.1
4
16
 
5
17
  - 重新划分命名空间,存储相关归入Qiniu::Storage,数据处理相关归入Qiniu::Fop,杂项相关归入Qiniu::Misc。
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiniu (6.0.1)
4
+ qiniu (6.1.0)
5
5
  json (~> 1.7)
6
6
  mime-types (~> 1.19)
7
7
  rest-client (~> 1.6)
@@ -12,7 +12,7 @@ GEM
12
12
  specs:
13
13
  diff-lcs (1.1.3)
14
14
  fakeweb (1.3.0)
15
- json (1.7.7)
15
+ json (1.8.1)
16
16
  mime-types (1.23)
17
17
  rake (10.0.3)
18
18
  rest-client (1.6.7)
data/README.md CHANGED
@@ -6,14 +6,15 @@
6
6
 
7
7
  ## 状态
8
8
 
9
- 集成测试:[![Build Status](https://api.travis-ci.org/qiniu/ruby-sdk.png?branch=master)](https://travis-ci.org/qiniu/ruby-sdk)
10
- 版本:[![Gem Version](https://badge.fury.io/rb/qiniu-rs.png)](http://badge.fury.io/rb/qiniu-rs)
9
+ [![Build Status](https://api.travis-ci.org/qiniu/ruby-sdk.png?branch=master)](https://travis-ci.org/qiniu/ruby-sdk)
10
+ [![Gem Version](https://badge.fury.io/rb/qiniu.png)](http://badge.fury.io/rb/qiniu)
11
+ [![Dependency Status](https://gemnasium.com/qiniu/ruby-sdk.png)](https://gemnasium.com/qiniu/ruby-sdk)
11
12
 
12
13
  ## 安装
13
14
 
14
15
  在您 Ruby 应用程序的 `Gemfile` 文件中,添加如下一行代码:
15
16
 
16
- gem 'qiniu'
17
+ gem 'qiniu', '~> 6.1.0'
17
18
 
18
19
  然后,在应用程序所在的目录下,可以运行 `bundle` 安装依赖包:
19
20
 
data/lib/qiniu.rb CHANGED
@@ -54,16 +54,6 @@ module Qiniu
54
54
  code == StatusOK
55
55
  end
56
56
 
57
- def put_file opts = {}
58
- code, data = Storage.put_file(opts[:file],
59
- opts[:bucket],
60
- opts[:key],
61
- opts[:mime_type],
62
- opts[:note],
63
- opts[:enable_crc32_check])
64
- code == StatusOK
65
- end
66
-
67
57
  def upload_file opts = {}
68
58
  uncontained_opts = [:uptoken, :file, :bucket, :key] - opts.keys
69
59
  raise MissingArgsError, uncontained_opts unless uncontained_opts.empty?
data/lib/qiniu/auth.rb CHANGED
@@ -10,16 +10,16 @@ module Qiniu
10
10
  include Utils
11
11
 
12
12
  def call_with_signature(url, data, retry_times = 0, options = {})
13
- code, data = http_request url, data, options.merge({:qbox_signature_token => generate_qbox_signature(url, data, options[:mime])})
14
- [code, data]
15
- end
13
+ code, data, raw_headers = http_request url, data, options.merge({:qbox_signature_token => generate_qbox_signature(url, data, options[:mime])})
14
+ [code, data, raw_headers]
15
+ end # call_with_signature
16
16
 
17
17
  def request(url, data = nil, options = {})
18
- code, data = Auth.call_with_signature(url, data, 0, options)
19
- [code, data]
20
- end
18
+ code, data, raw_headers = Auth.call_with_signature(url, data, 0, options)
19
+ [code, data, raw_headers]
20
+ end # request
21
21
 
22
- end
22
+ end # class << self
23
23
 
24
24
  end # module Auth
25
25
  end # module Qiniu
data/lib/qiniu/config.rb CHANGED
@@ -20,7 +20,6 @@ module Qiniu
20
20
  :content_type => 'application/x-www-form-urlencoded',
21
21
  :auth_url => "https://acc.qbox.me/oauth2/token",
22
22
  :rs_host => "http://rs.qiniu.com",
23
- :io_host => "http://iovip.qbox.me",
24
23
  :up_host => "http://up.qiniu.com",
25
24
  :pub_host => "http://pu.qbox.me:10200",
26
25
  :eu_host => "http://eu.qbox.me",
data/lib/qiniu/upload.rb CHANGED
@@ -5,27 +5,6 @@ module Qiniu
5
5
  class << self
6
6
  include Utils
7
7
 
8
- def put_file(local_file,
9
- bucket,
10
- key = nil,
11
- mime_type = nil,
12
- custom_meta = nil,
13
- enable_crc32_check = false)
14
- action_params = _generate_action_params(
15
- local_file,
16
- bucket,
17
- key,
18
- mime_type,
19
- custom_meta,
20
- enable_crc32_check
21
- )
22
-
23
- url = Config.settings[:io_host] + action_params
24
- options = {:content_type => 'application/octet-stream'}
25
-
26
- Auth.request url, ::IO.read(local_file), options
27
- end # put_file
28
-
29
8
  def upload_with_token(uptoken,
30
9
  local_file,
31
10
  bucket,
data/lib/qiniu/utils.rb CHANGED
@@ -74,10 +74,11 @@ module Qiniu
74
74
  else
75
75
  data = {}
76
76
  body = response.respond_to?(:body) ? response.body : {}
77
+ raw_headers = response.respond_to?(:raw_headers) ? response.raw_headers : {}
77
78
  data = safe_json_parse(body) unless body.empty?
78
79
  end
79
- [code, data]
80
- end
80
+ [code, data, raw_headers]
81
+ end # send_request_with
81
82
 
82
83
  def http_request url, data = nil, options = {}
83
84
  retry_times = 0
@@ -99,9 +100,10 @@ module Qiniu
99
100
  res = e.response
100
101
  code = res.code.to_i if res.respond_to? :code
101
102
  body = res.respond_to?(:body) ? res.body : ""
103
+ raw_headers = res.respond_to?(:raw_headers) ? res.raw_headers : {}
102
104
  data = safe_json_parse(body) unless body.empty?
103
105
  end
104
- [code, data]
106
+ [code, data, raw_headers]
105
107
  end
106
108
  end
107
109
 
data/lib/qiniu/version.rb CHANGED
@@ -3,8 +3,8 @@
3
3
  module Qiniu
4
4
  module Version
5
5
  MAJOR = 6
6
- MINOR = 0
7
- PATCH = 1
6
+ MINOR = 1
7
+ PATCH = 0
8
8
  # Returns a version string by joining <tt>MAJOR</tt>, <tt>MINOR</tt>, and <tt>PATCH</tt> with <tt>'.'</tt>
9
9
  #
10
10
  # Example
@@ -11,14 +11,18 @@ module Qiniu
11
11
 
12
12
  before :all do
13
13
 
14
- @bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
15
- @key = "image_logo_for_test.png"
14
+ ### 复用RubySDK-Test-Storage空间
15
+ @bucket = 'RubySDK-Test-Storage'
16
+ @bucket = make_unique_bucket(@bucket)
16
17
 
18
+ ### 尝试创建空间
17
19
  result = Qiniu.mkbucket(@bucket)
18
20
  puts result.inspect
19
- result.should be_true
20
21
 
21
- local_file = File.expand_path('../' + @key, __FILE__)
22
+ pic_fname = "image_logo_for_test.png"
23
+ @key = make_unique_key_in_bucket(pic_fname)
24
+
25
+ local_file = File.expand_path('../' + pic_fname, __FILE__)
22
26
 
23
27
  upopts = {
24
28
  :scope => @bucket,
@@ -53,9 +57,7 @@ module Qiniu
53
57
  end
54
58
 
55
59
  after :all do
56
- result = Qiniu.drop(@bucket)
57
- puts result.inspect
58
- result.should_not be_false
60
+ ### 不删除Bucket以备下次使用
59
61
  end
60
62
 
61
63
  context ".info" do
@@ -11,29 +11,40 @@ module Qiniu
11
11
  describe Storage do
12
12
 
13
13
  before :all do
14
- @bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
14
+ @bucket = 'RubySDK-Test-Management'
15
+ @bucket = make_unique_bucket(@bucket)
16
+
17
+ ### 尝试创建Bucket
18
+ result = Qiniu.mkbucket(@bucket)
19
+ puts result.inspect
20
+
15
21
  @key = Digest::SHA1.hexdigest((Time.now.to_i+rand(100)).to_s)
16
- @key2 = @key + rand(100).to_s
22
+ @key = make_unique_key_in_bucket(@key)
17
23
 
18
- code, data = Storage.mkbucket(@bucket)
19
- puts [code, data].inspect
20
- code.should == 200
24
+ @key2 = @key + rand(100).to_s
21
25
  end
22
26
 
23
27
  after :all do
24
- code, data = Storage.drop(@bucket)
25
- puts [code, data].inspect
26
- code.should == 200
28
+ ### 不删除Bucket以备下次使用
27
29
  end
28
30
 
29
- context ".put_file" do
31
+ ### 准备数据
32
+ context ".upload_with_token_2" do
30
33
  it "should works" do
31
- code, data = Storage.put_file(__FILE__, @bucket, @key, 'application/x-ruby', 'customMeta', true)
34
+ upopts = {:scope => @bucket, :expires_in => 3600, :endUser => "why404@gmail.com"}
35
+ uptoken = Qiniu.generate_upload_token(upopts)
36
+
37
+ code, data, raw_headers = Qiniu::Storage.upload_with_token_2(
38
+ uptoken,
39
+ __FILE__,
40
+ @key
41
+ )
32
42
  code.should == 200
33
43
  puts data.inspect
34
44
  end
35
45
  end
36
46
 
47
+ ### 列举Bucket
37
48
  context ".buckets" do
38
49
  it "should works" do
39
50
  code, data = Storage.buckets
@@ -52,7 +63,7 @@ module Qiniu
52
63
 
53
64
  context ".get" do
54
65
  it "should works" do
55
- code, data = Storage.get(@bucket, @key, "rs_spec.rb", 1)
66
+ code, data = Storage.get(@bucket, @key)
56
67
  code.should == 200
57
68
  puts data.inspect
58
69
  end
@@ -88,10 +99,6 @@ module Qiniu
88
99
  code.should == 200
89
100
  puts data.inspect
90
101
 
91
- #code2, data2 = Qiniu.stat(@bucket, @key2)
92
- #code2.should == 200
93
- #puts data2.inspect
94
-
95
102
  code, data = Storage.delete @bucket, @key2
96
103
  code.should == 200
97
104
  puts data.inspect
@@ -104,34 +111,12 @@ module Qiniu
104
111
  code.should == 200
105
112
  puts data.inspect
106
113
 
107
- #code2, data2 = Qiniu.stat(@bucket, @key2)
108
- #code2.should == 200
109
- #puts data2.inspect
110
-
111
114
  code3, data3 = Storage.batch_move @bucket, @key2, @bucket, @key
112
115
  code3.should == 200
113
116
  puts data3.inspect
114
117
  end
115
118
  end
116
119
 
117
- =begin
118
- context ".publish" do
119
- it "should works" do
120
- code, data = Qiniu.publish(@domain, @bucket)
121
- code.should == 200
122
- puts data.inspect
123
- end
124
- end
125
-
126
- context ".unpublish" do
127
- it "should works" do
128
- code, data = Qiniu.unpublish(@domain)
129
- code.should == 200
130
- puts data.inspect
131
- end
132
- end
133
- =end
134
-
135
120
  context ".move" do
136
121
  it "should works" do
137
122
  code, data = Storage.move(@bucket, @key, @bucket, @key2)
@@ -154,23 +139,15 @@ module Qiniu
154
139
  code.should == 200
155
140
  puts data.inspect
156
141
 
157
- #code2, data2 = Qiniu.stat(@bucket, @key2)
158
- #code2.should == 200
159
- #puts data2.inspect
160
- end
161
- end
162
-
163
- context ".delete" do
164
- it "should works" do
165
- code, data = Storage.delete(@bucket, @key)
142
+ code, data = Storage.delete(@bucket, @key2)
166
143
  code.should == 200
167
144
  puts data.inspect
168
145
  end
169
146
  end
170
147
 
171
- context ".drop" do
148
+ context ".delete" do
172
149
  it "should works" do
173
- code, data = Storage.drop(@bucket)
150
+ code, data = Storage.delete(@bucket, @key)
174
151
  code.should == 200
175
152
  puts data.inspect
176
153
  end
@@ -10,16 +10,16 @@ module Qiniu
10
10
  describe Misc do
11
11
 
12
12
  before :all do
13
- @bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
13
+ ### 复用RubySDK-Test-Management空间
14
+ @bucket = 'RubySDK-Test-Management'
15
+ @bucket = make_unique_bucket(@bucket)
16
+
14
17
  result = Qiniu.mkbucket(@bucket)
15
18
  puts result.inspect
16
- result.should_not be_false
17
19
  end
18
20
 
19
21
  after :all do
20
- result = Qiniu.drop(@bucket)
21
- puts result.inspect
22
- result.should_not be_false
22
+ ### 不删除Bucket以备下次使用
23
23
  end
24
24
 
25
25
  context ".set_protected" do
@@ -9,18 +9,20 @@ module Qiniu
9
9
  describe Qiniu do
10
10
 
11
11
  before :all do
12
- @bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
13
- @key = Digest::SHA1.hexdigest Time.now.to_s
14
- @key2 = @key + rand(100).to_s
15
- #@domain = @bucket + '.dn.qbox.me'
12
+ @bucket = 'RubySDK-Test'
13
+ @bucket = make_unique_bucket(@bucket)
16
14
 
15
+ @test_image_bucket = @bucket
16
+
17
+ ### 尝试创建Bucket
17
18
  result = Qiniu.mkbucket(@bucket)
18
- result.should_not be_false
19
+ puts result.inspect
20
+
21
+ @key = Digest::SHA1.hexdigest Time.now.to_s
22
+ @key = make_unique_key_in_bucket(@key)
19
23
 
20
- @test_image_bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
21
- result2 = Qiniu.mkbucket(@test_image_bucket)
22
- puts result2.inspect
23
- result2.should be_true
24
+ @key2 = @key + rand(100).to_s
25
+ #@domain = @bucket + '.dn.qbox.me'
24
26
 
25
27
  @test_image_key = 'image_logo_for_test.png'
26
28
  local_file = File.expand_path('./' + @test_image_key, File.dirname(__FILE__))
@@ -32,27 +34,7 @@ module Qiniu
32
34
  end
33
35
 
34
36
  after :all do
35
- #result = Qiniu.unpublish(@domain)
36
- #result.should_not be_false
37
-
38
- result1 = Qiniu.drop(@bucket)
39
- puts result1.inspect
40
- result1.should_not be_false
41
-
42
- result2 = Qiniu.drop(@test_image_bucket)
43
- puts result2.inspect
44
- result2.should_not be_false
45
- end
46
-
47
- context ".put_file" do
48
- it "should works" do
49
- result = Qiniu.put_file :file => __FILE__,
50
- :bucket => @bucket,
51
- :key => @key,
52
- :mime_type => 'application/x-ruby',
53
- :enable_crc32_check => true
54
- result.should be_true
55
- end
37
+ ### 不删除Bucket以备下次使用
56
38
  end
57
39
 
58
40
  context ".buckets" do
@@ -180,7 +162,7 @@ module Qiniu
180
162
 
181
163
  context ".get" do
182
164
  it "should works" do
183
- result = Qiniu.get(@bucket, @key, "rs_spec.rb", 10)
165
+ result = Qiniu.get(@bucket, @key, "qiniu_spec.rb", 10)
184
166
  result.should_not be_false
185
167
  result.should_not be_empty
186
168
  puts result.inspect
@@ -232,24 +214,6 @@ module Qiniu
232
214
  end
233
215
  end
234
216
 
235
- =begin
236
- context ".publish" do
237
- it "should works" do
238
- result = Qiniu.publish(@domain, @bucket)
239
- result.should_not be_false
240
- end
241
- end
242
- =end
243
-
244
- =begin
245
- context ".unpublish" do
246
- it "should works" do
247
- result = Qiniu.unpublish(@domain)
248
- result.should_not be_false
249
- end
250
- end
251
- =end
252
-
253
217
  =begin
254
218
  context ".batch_copy" do
255
219
  it "should works" do
@@ -293,8 +257,8 @@ module Qiniu
293
257
  result = Qiniu.copy(@bucket, @key, @bucket, @key2)
294
258
  result.should_not be_false
295
259
 
296
- #result2 = Qiniu.stat(@bucket, @key2)
297
- #result2.should_not be_false
260
+ result3 = Qiniu.delete(@bucket, @key2)
261
+ result3.should_not be_false
298
262
  end
299
263
  end
300
264
 
@@ -305,13 +269,6 @@ module Qiniu
305
269
  end
306
270
  end
307
271
 
308
- context ".drop" do
309
- it "should works" do
310
- result = Qiniu.drop(@bucket)
311
- result.should_not be_false
312
- end
313
- end
314
-
315
272
  context ".image_info" do
316
273
  it "should works" do
317
274
  data = Qiniu.get(@test_image_bucket, @test_image_key)
@@ -325,19 +282,6 @@ module Qiniu
325
282
  end
326
283
  end
327
284
 
328
- =begin
329
- context ".image_exif" do
330
- it "should works" do
331
- data = Qiniu.get(@test_image_bucket, @test_image_key)
332
- data.should_not be_false
333
- data.should_not be_empty
334
- puts data.inspect
335
- result = Qiniu.image_exif(data["url"])
336
- puts result.inspect
337
- end
338
- end
339
- =end
340
-
341
285
  context ".image_mogrify_save_as" do
342
286
  it "should works" do
343
287
  data = Qiniu.get(@test_image_bucket, @test_image_key)
@@ -10,56 +10,86 @@ module Qiniu
10
10
  describe Storage do
11
11
 
12
12
  before :all do
13
- @bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
14
- @key = Digest::SHA1.hexdigest((Time.now.to_i+rand(100)).to_s)
13
+ @bucket = 'RubySDK-Test-Storage'
14
+ @bucket = make_unique_bucket(@bucket)
15
15
 
16
- @localfile1 = "bigfile.txt"
17
- File.open(@localfile1, "w"){|f| 5242888.times{ f.write(rand(9).to_s) }}
18
- @key1 = Digest::SHA1.hexdigest(@localfile1+Time.now.to_s)
16
+ ### 尝试创建Bucket
17
+ result = Qiniu.mkbucket(@bucket)
18
+ puts result.inspect
19
19
 
20
- @localfile2 = "bigfile2.txt"
21
- File.open(@localfile2, "w"){|f| (1 << 22).times{ f.write(rand(9).to_s) }}
22
- @key2 = Digest::SHA1.hexdigest(@localfile2+Time.now.to_s)
20
+ @key = Digest::SHA1.hexdigest((Time.now.to_i+rand(100)).to_s)
21
+ @key = make_unique_key_in_bucket(@key)
22
+ puts "key=#{@key}"
23
23
 
24
- @localfile3 = "bigfile3.txt"
25
- File.open(@localfile3, "w"){|f| (1 << 23).times{ f.write(rand(9).to_s) }}
26
- @key3 = Digest::SHA1.hexdigest(@localfile3+Time.now.to_s)
24
+ @localfile_5m = "5M.txt"
25
+ File.open(@localfile_5m, "w"){|f| 5242888.times{ f.write(rand(9).to_s) }}
26
+ @key_5m = Digest::SHA1.hexdigest(@localfile_5m+Time.now.to_s)
27
+ @key_5m = make_unique_key_in_bucket(@key_5m)
28
+ puts "key_5m=#{@key_5m}"
27
29
 
28
- @localfile4 = "smallfile.txt"
29
- File.open(@localfile4, "w"){|f| (1 << 20).times{ f.write(rand(9).to_s) }}
30
- @key4 = Digest::SHA1.hexdigest(@localfile4+Time.now.to_s)
30
+ @localfile_4m = "4M.txt"
31
+ File.open(@localfile_4m, "w"){|f| (1 << 22).times{ f.write(rand(9).to_s) }}
32
+ @key_4m = Digest::SHA1.hexdigest(@localfile_4m+Time.now.to_s)
33
+ @key_4m = make_unique_key_in_bucket(@key_4m)
34
+ puts "key_4m=#{@key_4m}"
31
35
 
32
- result = Qiniu.mkbucket(@bucket)
33
- puts result.inspect
34
- result.should be_true
36
+ @localfile_8m = "8M.txt"
37
+ File.open(@localfile_8m, "w"){|f| (1 << 23).times{ f.write(rand(9).to_s) }}
38
+ @key_8m = Digest::SHA1.hexdigest(@localfile_8m+Time.now.to_s)
39
+ @key_8m = make_unique_key_in_bucket(@key_8m)
40
+ puts "key_8m=#{@key_8m}"
41
+
42
+ @localfile_1m = "1M.txt"
43
+ File.open(@localfile_1m, "w"){|f| (1 << 20).times{ f.write(rand(9).to_s) }}
44
+ @key_1m = Digest::SHA1.hexdigest(@localfile_1m+Time.now.to_s)
45
+ @key_1m = make_unique_key_in_bucket(@key_1m)
46
+ puts "key_1m=#{@key_1m}"
35
47
  end
36
48
 
37
49
  after :all do
38
- File.unlink(@localfile1) if File.exists?(@localfile1)
39
- File.unlink(@localfile2) if File.exists?(@localfile2)
40
- File.unlink(@localfile3) if File.exists?(@localfile3)
41
- File.unlink(@localfile4) if File.exists?(@localfile4)
50
+ ### 清除本地临时文件
51
+ File.unlink(@localfile_5m) if File.exists?(@localfile_5m)
52
+ File.unlink(@localfile_4m) if File.exists?(@localfile_4m)
53
+ File.unlink(@localfile_8m) if File.exists?(@localfile_8m)
54
+ File.unlink(@localfile_1m) if File.exists?(@localfile_1m)
42
55
 
43
- result = Qiniu.drop(@bucket)
44
- puts result.inspect
45
- result.should_not be_false
56
+ ### 不删除Bucket以备下次使用
46
57
  end
47
58
 
48
- context ".put_file" do
59
+ ### 测试单文件直传
60
+ context ".upload_with_token" do
49
61
  it "should works" do
50
- code, data = Qiniu::Storage.put_file(__FILE__, @bucket, @key, 'application/x-ruby', 'customMeta', true)
62
+ upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
63
+ uptoken = Qiniu.generate_upload_token(upopts)
64
+ code, data, raw_headers = Qiniu::Storage.upload_with_token(
65
+ uptoken,
66
+ __FILE__,
67
+ @bucket,
68
+ @key,
69
+ nil,
70
+ nil,
71
+ nil,
72
+ true
73
+ )
51
74
  code.should == 200
52
75
  puts data.inspect
76
+ puts raw_headers.inspect
53
77
  end
54
78
  end
55
79
 
56
- context ".upload_with_token" do
57
- it "should works" do
58
- upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
59
- uptoken = Qiniu.generate_upload_token(upopts)
60
- code, data = Qiniu::Storage.upload_with_token(uptoken, __FILE__, @bucket, @key, nil, nil, nil, true)
80
+ context ".stat" do
81
+ it "should exists" do
82
+ code, data = Qiniu::Storage.stat(@bucket, @key)
83
+ puts data.inspect
61
84
  code.should == 200
85
+ end
86
+ end
87
+
88
+ context ".delete" do
89
+ it "should works" do
90
+ code, data = Qiniu::Storage.delete(@bucket, @key)
62
91
  puts data.inspect
92
+ code.should == 200
63
93
  end
64
94
  end
65
95
 
@@ -68,26 +98,55 @@ module Qiniu
68
98
  upopts = {:scope => @bucket, :expires_in => 3600, :endUser => "why404@gmail.com"}
69
99
  uptoken = Qiniu.generate_upload_token(upopts)
70
100
 
71
- code, data = Qiniu::Storage.upload_with_token_2(uptoken, __FILE__, @key)
101
+ code, data, raw_headers = Qiniu::Storage.upload_with_token_2(
102
+ uptoken,
103
+ __FILE__,
104
+ @key
105
+ )
72
106
 
73
107
  code.should == 200
74
108
  puts data.inspect
109
+ puts raw_headers.inspect
75
110
  end
76
111
  end # .upload_with_token_2
77
112
 
113
+ context ".stat" do
114
+ it "should exists" do
115
+ code, data = Qiniu::Storage.stat(@bucket, @key)
116
+ puts data.inspect
117
+ code.should == 200
118
+ end
119
+ end
120
+
121
+ context ".delete" do
122
+ it "should works" do
123
+ code, data = Qiniu::Storage.delete(@bucket, @key)
124
+ puts data.inspect
125
+ code.should == 200
126
+ end
127
+ end
128
+
129
+ ### 测试断点续上传
78
130
  context ".resumable_upload_with_token" do
79
131
  it "should works" do
80
132
  upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
81
133
  uptoken = Qiniu.generate_upload_token(upopts)
82
- code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile1, @bucket, @key1)
83
- puts data.inspect
134
+ code, data, raw_headers = Qiniu::Storage.resumable_upload_with_token(
135
+ uptoken,
136
+ @localfile_5m,
137
+ @bucket,
138
+ @key_5m
139
+ )
84
140
  (code/100).should == 2
141
+ puts data.inspect
142
+ puts raw_headers.inspect
143
+ puts "key_5m=#{@key_5m}"
85
144
  end
86
145
  end
87
146
 
88
147
  context ".stat" do
89
148
  it "should exists" do
90
- code, data = Qiniu::Storage.stat(@bucket, @key1)
149
+ code, data = Qiniu::Storage.stat(@bucket, @key_5m)
91
150
  puts data.inspect
92
151
  code.should == 200
93
152
  end
@@ -95,7 +154,7 @@ module Qiniu
95
154
 
96
155
  context ".delete" do
97
156
  it "should works" do
98
- code, data = Qiniu::Storage.delete(@bucket, @key1)
157
+ code, data = Qiniu::Storage.delete(@bucket, @key_5m)
99
158
  puts data.inspect
100
159
  code.should == 200
101
160
  end
@@ -105,15 +164,22 @@ module Qiniu
105
164
  it "should works" do
106
165
  upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
107
166
  uptoken = Qiniu.generate_upload_token(upopts)
108
- code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile2, @bucket, @key2)
109
- puts data.inspect
167
+ code, data, raw_headers = Qiniu::Storage.resumable_upload_with_token(
168
+ uptoken,
169
+ @localfile_4m,
170
+ @bucket,
171
+ @key_4m
172
+ )
110
173
  (code/100).should == 2
174
+ puts data.inspect
175
+ puts raw_headers.inspect
176
+ puts "key_4m=#{@key_4m}"
111
177
  end
112
178
  end
113
179
 
114
180
  context ".stat" do
115
181
  it "should exists" do
116
- code, data = Qiniu::Storage.stat(@bucket, @key2)
182
+ code, data = Qiniu::Storage.stat(@bucket, @key_4m)
117
183
  puts data.inspect
118
184
  code.should == 200
119
185
  end
@@ -121,7 +187,7 @@ module Qiniu
121
187
 
122
188
  context ".delete" do
123
189
  it "should works" do
124
- code, data = Qiniu::Storage.delete(@bucket, @key2)
190
+ code, data = Qiniu::Storage.delete(@bucket, @key_4m)
125
191
  puts data.inspect
126
192
  code.should == 200
127
193
  end
@@ -131,15 +197,22 @@ module Qiniu
131
197
  it "should works" do
132
198
  upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
133
199
  uptoken = Qiniu.generate_upload_token(upopts)
134
- code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile3, @bucket, @key3)
135
- puts data.inspect
200
+ code, data, raw_headers = Qiniu::Storage.resumable_upload_with_token(
201
+ uptoken,
202
+ @localfile_8m,
203
+ @bucket,
204
+ @key_8m
205
+ )
136
206
  (code/100).should == 2
207
+ puts data.inspect
208
+ puts raw_headers.inspect
209
+ puts "key_8m=#{@key_8m}"
137
210
  end
138
211
  end
139
212
 
140
213
  context ".stat" do
141
214
  it "should exists" do
142
- code, data = Qiniu::Storage.stat(@bucket, @key3)
215
+ code, data = Qiniu::Storage.stat(@bucket, @key_8m)
143
216
  puts data.inspect
144
217
  code.should == 200
145
218
  end
@@ -147,7 +220,7 @@ module Qiniu
147
220
 
148
221
  context ".delete" do
149
222
  it "should works" do
150
- code, data = Qiniu::Storage.delete(@bucket, @key3)
223
+ code, data = Qiniu::Storage.delete(@bucket, @key_8m)
151
224
  puts data.inspect
152
225
  code.should == 200
153
226
  end
@@ -157,15 +230,22 @@ module Qiniu
157
230
  it "should works" do
158
231
  upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
159
232
  uptoken = Qiniu.generate_upload_token(upopts)
160
- code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile4, @bucket, @key4)
161
- puts data.inspect
233
+ code, data, raw_headers = Qiniu::Storage.resumable_upload_with_token(
234
+ uptoken,
235
+ @localfile_1m,
236
+ @bucket,
237
+ @key_1m
238
+ )
162
239
  (code/100).should == 2
240
+ puts data.inspect
241
+ puts raw_headers.inspect
242
+ puts "key_1m=#{@key_1m}"
163
243
  end
164
244
  end
165
245
 
166
246
  context ".stat" do
167
247
  it "should exists" do
168
- code, data = Qiniu::Storage.stat(@bucket, @key4)
248
+ code, data = Qiniu::Storage.stat(@bucket, @key_1m)
169
249
  puts data.inspect
170
250
  code.should == 200
171
251
  end
@@ -173,7 +253,7 @@ module Qiniu
173
253
 
174
254
  context ".delete" do
175
255
  it "should works" do
176
- code, data = Qiniu::Storage.delete(@bucket, @key4)
256
+ code, data = Qiniu::Storage.delete(@bucket, @key_1m)
177
257
  puts data.inspect
178
258
  code.should == 200
179
259
  end
@@ -28,7 +28,7 @@ module Qiniu
28
28
  FakeWeb.allow_net_connect = false
29
29
  FakeWeb.register_uri(:get, "http://docs.qiniutek.com/", :body => {:abc => 123}.to_json)
30
30
  res = Utils.send_request_with 'http://docs.qiniutek.com/', nil, :method => :get
31
- res.should == [200, {"abc" => 123}]
31
+ res.should == [200, {"abc" => 123}, {}]
32
32
  end
33
33
 
34
34
  [400, 500].each do |code|
data/spec/spec_helper.rb CHANGED
@@ -9,3 +9,11 @@ RSpec.configure do |config|
9
9
  Qiniu.establish_connection! :access_key => ENV["QINIU_ACCESS_KEY"], :secret_key => ENV["QINIU_SECRET_KEY"]
10
10
  end
11
11
  end
12
+
13
+ def make_unique_bucket (bucket)
14
+ bucket + "-" + ENV["QINIU_ACCESS_KEY"][0, 8]
15
+ end # make_unique_bucket
16
+
17
+ def make_unique_key_in_bucket (key)
18
+ "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}-" + key
19
+ end # make_unique_key_in_bucket
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiniu
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.1
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - why404
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake