qiniu 6.0.1

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.
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+ require 'qiniu/tokens/qbox_token'
5
+
6
+ module Qiniu
7
+ module RS
8
+ describe QboxToken do
9
+ before :all do
10
+ @qbox_token = QboxToken.new(:url => 'www.qiniutek.com?key1=value1',
11
+ :params => { :key2 => 'value2' })
12
+ @qbox_token.access_key = 'access_key'
13
+ @qbox_token.secret_key = 'secret_key'
14
+ end
15
+
16
+ context "#generate_token" do
17
+ it "should generate token" do
18
+ @qbox_token.generate_token.should_not be_empty
19
+ end
20
+ end
21
+
22
+ context "#generate_signature" do
23
+ it "should generate signature" do
24
+ @qbox_token.generate_signature.should == "www.qiniutek.com?key1=value1\nkey2=value2"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,184 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+ require 'qiniu/auth'
5
+ require 'qiniu/storage'
6
+ require 'digest/sha1'
7
+
8
+ module Qiniu
9
+ module Storage
10
+ describe Storage do
11
+
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)
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)
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)
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)
27
+
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)
31
+
32
+ result = Qiniu.mkbucket(@bucket)
33
+ puts result.inspect
34
+ result.should be_true
35
+ end
36
+
37
+ 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)
42
+
43
+ result = Qiniu.drop(@bucket)
44
+ puts result.inspect
45
+ result.should_not be_false
46
+ end
47
+
48
+ context ".put_file" do
49
+ it "should works" do
50
+ code, data = Qiniu::Storage.put_file(__FILE__, @bucket, @key, 'application/x-ruby', 'customMeta', true)
51
+ code.should == 200
52
+ puts data.inspect
53
+ end
54
+ end
55
+
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)
61
+ code.should == 200
62
+ puts data.inspect
63
+ end
64
+ end
65
+
66
+ context ".upload_with_token_2" do
67
+ it "should works" do
68
+ upopts = {:scope => @bucket, :expires_in => 3600, :endUser => "why404@gmail.com"}
69
+ uptoken = Qiniu.generate_upload_token(upopts)
70
+
71
+ code, data = Qiniu::Storage.upload_with_token_2(uptoken, __FILE__, @key)
72
+
73
+ code.should == 200
74
+ puts data.inspect
75
+ end
76
+ end # .upload_with_token_2
77
+
78
+ context ".resumable_upload_with_token" do
79
+ it "should works" do
80
+ upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
81
+ uptoken = Qiniu.generate_upload_token(upopts)
82
+ code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile1, @bucket, @key1)
83
+ puts data.inspect
84
+ (code/100).should == 2
85
+ end
86
+ end
87
+
88
+ context ".stat" do
89
+ it "should exists" do
90
+ code, data = Qiniu::Storage.stat(@bucket, @key1)
91
+ puts data.inspect
92
+ code.should == 200
93
+ end
94
+ end
95
+
96
+ context ".delete" do
97
+ it "should works" do
98
+ code, data = Qiniu::Storage.delete(@bucket, @key1)
99
+ puts data.inspect
100
+ code.should == 200
101
+ end
102
+ end
103
+
104
+ context ".resumable_upload_with_token2" do
105
+ it "should works" do
106
+ upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
107
+ uptoken = Qiniu.generate_upload_token(upopts)
108
+ code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile2, @bucket, @key2)
109
+ puts data.inspect
110
+ (code/100).should == 2
111
+ end
112
+ end
113
+
114
+ context ".stat" do
115
+ it "should exists" do
116
+ code, data = Qiniu::Storage.stat(@bucket, @key2)
117
+ puts data.inspect
118
+ code.should == 200
119
+ end
120
+ end
121
+
122
+ context ".delete" do
123
+ it "should works" do
124
+ code, data = Qiniu::Storage.delete(@bucket, @key2)
125
+ puts data.inspect
126
+ code.should == 200
127
+ end
128
+ end
129
+
130
+ context ".resumable_upload_with_token3" do
131
+ it "should works" do
132
+ upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
133
+ uptoken = Qiniu.generate_upload_token(upopts)
134
+ code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile3, @bucket, @key3)
135
+ puts data.inspect
136
+ (code/100).should == 2
137
+ end
138
+ end
139
+
140
+ context ".stat" do
141
+ it "should exists" do
142
+ code, data = Qiniu::Storage.stat(@bucket, @key3)
143
+ puts data.inspect
144
+ code.should == 200
145
+ end
146
+ end
147
+
148
+ context ".delete" do
149
+ it "should works" do
150
+ code, data = Qiniu::Storage.delete(@bucket, @key3)
151
+ puts data.inspect
152
+ code.should == 200
153
+ end
154
+ end
155
+
156
+ context ".resumable_upload_with_token4" do
157
+ it "should works" do
158
+ upopts = {:scope => @bucket, :expires_in => 3600, :customer => "why404@gmail.com"}
159
+ uptoken = Qiniu.generate_upload_token(upopts)
160
+ code, data = Qiniu::Storage.resumable_upload_with_token(uptoken, @localfile4, @bucket, @key4)
161
+ puts data.inspect
162
+ (code/100).should == 2
163
+ end
164
+ end
165
+
166
+ context ".stat" do
167
+ it "should exists" do
168
+ code, data = Qiniu::Storage.stat(@bucket, @key4)
169
+ puts data.inspect
170
+ code.should == 200
171
+ end
172
+ end
173
+
174
+ context ".delete" do
175
+ it "should works" do
176
+ code, data = Qiniu::Storage.delete(@bucket, @key4)
177
+ puts data.inspect
178
+ code.should == 200
179
+ end
180
+ end
181
+
182
+ end
183
+ end # module Storage
184
+ end # module Qiniu
@@ -0,0 +1,49 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+ require 'fakeweb'
5
+ require 'qiniu/utils'
6
+
7
+ module Qiniu
8
+ module RS
9
+ describe Utils do
10
+ before :all do
11
+ Struct.new("Response", :code, :body)
12
+ end
13
+
14
+ after :each do
15
+ FakeWeb.clean_registry
16
+ FakeWeb.allow_net_connect = true
17
+ end
18
+
19
+ context "safe_json_parse" do
20
+ it "should works" do
21
+ Utils.safe_json_parse('{"foo": "bar"}').should == {"foo" => "bar"}
22
+ Utils.safe_json_parse('{}').should == {}
23
+ end
24
+ end
25
+
26
+ context ".send_request_with" do
27
+ it "should works" do
28
+ FakeWeb.allow_net_connect = false
29
+ FakeWeb.register_uri(:get, "http://docs.qiniutek.com/", :body => {:abc => 123}.to_json)
30
+ res = Utils.send_request_with 'http://docs.qiniutek.com/', nil, :method => :get
31
+ res.should == [200, {"abc" => 123}]
32
+ end
33
+
34
+ [400, 500].each do |code|
35
+ context "upstream return http #{code}" do
36
+ it "should raise RestClient::RequestFailed" do
37
+ FakeWeb.allow_net_connect = false
38
+ FakeWeb.register_uri(:get, "http://docs.qiniutek.com/", :status => code)
39
+ lambda {
40
+ res = Utils.send_request_with 'http://docs.qiniutek.com/', nil, :method => :get
41
+ }.should raise_error RestClient::RequestFailed
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,10 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+ require 'qiniu/version'
5
+
6
+ describe Qiniu::Version do
7
+ it "should has a VERSION" do
8
+ Qiniu::Version.to_s.should =~ /^\d+\.\d+\.\d+?$/
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'bundler/setup'
4
+ require 'qiniu'
5
+ require 'rspec'
6
+
7
+ RSpec.configure do |config|
8
+ config.before :all do
9
+ Qiniu.establish_connection! :access_key => ENV["QINIU_ACCESS_KEY"], :secret_key => ENV["QINIU_SECRET_KEY"]
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qiniu
3
+ version: !ruby/object:Gem::Version
4
+ version: 6.0.1
5
+ platform: ruby
6
+ authors:
7
+ - why404
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '2.11'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '2.11'
41
+ - !ruby/object:Gem::Dependency
42
+ name: fakeweb
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rest-client
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.6'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mime-types
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '1.19'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.19'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-hmac
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '0.4'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '0.4'
111
+ description: 'Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://developer.qiniu.com/docs/v6/sdk/ruby-sdk.html'
112
+ email:
113
+ - why404@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - .gitignore
119
+ - .rspec
120
+ - .travis.yml
121
+ - CHANGELOG.md
122
+ - Gemfile
123
+ - Gemfile.lock
124
+ - LICENSE
125
+ - README.md
126
+ - Rakefile
127
+ - docs/README.md
128
+ - lib/qiniu-rs.rb
129
+ - lib/qiniu.rb
130
+ - lib/qiniu/abstract.rb
131
+ - lib/qiniu/auth.rb
132
+ - lib/qiniu/config.rb
133
+ - lib/qiniu/exceptions.rb
134
+ - lib/qiniu/fop.rb
135
+ - lib/qiniu/image.rb
136
+ - lib/qiniu/log.rb
137
+ - lib/qiniu/management.rb
138
+ - lib/qiniu/misc.rb
139
+ - lib/qiniu/resumable_upload.rb
140
+ - lib/qiniu/storage.rb
141
+ - lib/qiniu/tokens/access_token.rb
142
+ - lib/qiniu/tokens/download_token.rb
143
+ - lib/qiniu/tokens/qbox_token.rb
144
+ - lib/qiniu/tokens/upload_token.rb
145
+ - lib/qiniu/upload.rb
146
+ - lib/qiniu/utils.rb
147
+ - lib/qiniu/version.rb
148
+ - qiniu.gemspec
149
+ - spec/qiniu/abstract_spec.rb
150
+ - spec/qiniu/image_logo_for_test.png
151
+ - spec/qiniu/image_spec.rb
152
+ - spec/qiniu/management_spec.rb
153
+ - spec/qiniu/misc_spec.rb
154
+ - spec/qiniu/qiniu_spec.rb
155
+ - spec/qiniu/tokens/qbox_token_spec.rb
156
+ - spec/qiniu/upload_spec.rb
157
+ - spec/qiniu/utils_spec.rb
158
+ - spec/qiniu/version_spec.rb
159
+ - spec/spec_helper.rb
160
+ homepage: https://github.com/qiniu/ruby-sdk
161
+ licenses: []
162
+ metadata: {}
163
+ post_install_message:
164
+ rdoc_options: []
165
+ require_paths:
166
+ - lib
167
+ required_ruby_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - '>='
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ required_rubygems_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ requirements: []
178
+ rubyforge_project:
179
+ rubygems_version: 2.0.3
180
+ signing_key:
181
+ specification_version: 4
182
+ summary: Qiniu Resource (Cloud) Storage SDK for Ruby
183
+ test_files:
184
+ - spec/qiniu/abstract_spec.rb
185
+ - spec/qiniu/image_logo_for_test.png
186
+ - spec/qiniu/image_spec.rb
187
+ - spec/qiniu/management_spec.rb
188
+ - spec/qiniu/misc_spec.rb
189
+ - spec/qiniu/qiniu_spec.rb
190
+ - spec/qiniu/tokens/qbox_token_spec.rb
191
+ - spec/qiniu/upload_spec.rb
192
+ - spec/qiniu/utils_spec.rb
193
+ - spec/qiniu/version_spec.rb
194
+ - spec/spec_helper.rb