qiniu 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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