qiniu-rs 3.4.6 → 3.4.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ddf083b2df630fdf57286a4c9395f2cb029ee0d4
4
+ data.tar.gz: 4a7c0cf9a120bd8c7da77387347915e49c25d5b9
5
+ SHA512:
6
+ metadata.gz: cec69bf917c779f6694bb03e9ad0b8a5a61fe1c5ecffcd696a229535f3f694421d8506aa670ca3a517e0cfaa19a18ddce0f00c251c723954559dc9023b81992a
7
+ data.tar.gz: 358319b26b7e9cdc619c2c38dc08465966abf721ad44bdb6cffaf02fd3b747d506c97f6399b4e9345a013b33db08dd91ca64201d23514041aca1e7da25e5ea04
@@ -3,10 +3,9 @@ rvm:
3
3
  - 1.8.7
4
4
  - 1.9.2
5
5
  - 1.9.3
6
+ - 2.0.0
6
7
  - jruby-18mode
7
8
  - jruby-19mode
8
- - rbx-18mode
9
- - rbx-19mode
10
9
  - jruby-head
11
10
  - ree
12
11
  before_script:
@@ -1,5 +1,9 @@
1
1
  ## CHANGE LOG
2
2
 
3
+ ### v3.4.7
4
+
5
+ - 停止追加新功能,仅进行Bug修正维护。
6
+
3
7
  ### v3.4.6
4
8
 
5
9
  - `Qiniu::RS.generate_download_token()` 方法的 `:pattern` 调整为必选项。
@@ -7,13 +11,13 @@
7
11
  ### v3.4.5
8
12
 
9
13
  - `Qiniu::RS.generate_upload_token()` 方法新增 `:callback_body` 和 `return_url` 选项。
10
- - 选项含义参考: <http://docs.qiniu.com/api/v6/put.html#uploadToken-args>
14
+ - 选项含义参考: <http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html#put-policy-callback-body>
11
15
 
12
16
  ### v3.4.2
13
17
 
14
18
  - `Qiniu::RS.generate_upload_token()` 方法新增 `:return_body` 选项。
15
19
 
16
- 该选项(`:return_body`)可设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](http://docs.qiniu.com/api/v6/put.html#uploadToken-returnBody)。
20
+ 该选项(`:return_body`)可设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html#put-policy-return-body)。
17
21
 
18
22
  ### v3.4.1
19
23
 
@@ -44,9 +48,9 @@ Ruby 宿主环境如下
44
48
 
45
49
  ### v3.3.0
46
50
 
47
- 私有资源下载新版实现,添加 Qiniu::RS.generate_download_token() 方法。参考 [downloadToken](http://docs.qiniutek.com/v3/api/io/#get)
51
+ 私有资源下载新版实现,添加 Qiniu::RS.generate_download_token() 方法。参考 [downloadToken](http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html)
48
52
 
49
- 详见 [Ruby SDK 使用文档之私有资源下载](http://docs.qiniutek.com/v3/sdk/ruby/#download-private-files)
53
+ 详见 [Ruby SDK 使用文档之私有资源下载](http://developer.qiniu.com/docs/v6/api/overview/dn/security.html)
50
54
 
51
55
  ### v3.2.2
52
56
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiniu-rs (3.4.6)
4
+ qiniu-rs (3.4.7)
5
5
  json (~> 1.7)
6
6
  mime-types (~> 1.19)
7
7
  rest-client (~> 1.6)
data/README.md CHANGED
@@ -1,8 +1,13 @@
1
- # Qiniu Resource (Cloud) Storage SDK for Ruby - [![Build Status](https://api.travis-ci.org/qiniu/ruby-sdk.png?branch=master)](https://travis-ci.org/qiniu/ruby-sdk) [![Dependency Status](https://gemnasium.com/why404/qiniu-rs-for-ruby.png)](https://gemnasium.com/why404/qiniu-rs-for-ruby)
1
+ # Qiniu Resource (Cloud) Storage SDK for Ruby
2
+
3
+ # 版本说明
4
+
5
+ 此版本不再进行技术升级,仅做Bug修正维护。
6
+ 请移步 [https://github.com/qiniu/ruby-sdk](https://github.com/qiniu/ruby-sdk) 查看最新版本。
2
7
 
3
8
  # 关于
4
9
 
5
- 此 Ruby SDK 适用于 Ruby 1.8.x, 1.9.x, jruby, rbx, ree 版本,基于 [七牛云存储官方API](http://docs.qiniutek.com/v3/api/) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
10
+ 此 Ruby SDK 适用于 Ruby 1.8.x, 1.9.x, jruby, rbx, ree 版本,基于 [七牛云存储官方API](http://developer.qiniu.com/docs/v6/index.html) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
6
11
 
7
12
  ## 安装
8
13
 
@@ -20,7 +25,7 @@
20
25
 
21
26
  ## 使用
22
27
 
23
- 参考文档:[七牛云存储 Ruby SDK 使用指南](http://docs.qiniutek.com/v3/sdk/ruby/)
28
+ 参考文档:[七牛云存储 Ruby SDK 使用指南](http://developer.qiniu.com/docs/v6/sdk/ruby-sdk.html)
24
29
 
25
30
  ## 贡献代码
26
31
 
@@ -182,12 +182,12 @@ module Qiniu
182
182
  end
183
183
 
184
184
  def batch_copy(*args)
185
- code, data = RS.batch_copy(args)
185
+ code, data = RS.batch_copy(*args)
186
186
  code == StatusOK
187
187
  end
188
188
 
189
189
  def batch_move(*args)
190
- code, data = RS.batch_move(args)
190
+ code, data = RS.batch_move(*args)
191
191
  code == StatusOK
192
192
  end
193
193
 
@@ -8,78 +8,13 @@ module Qiniu
8
8
  class << self
9
9
  include Utils
10
10
 
11
- def exchange_by_password!(username, password)
12
- @username = username
13
- @password = password
14
- post_data = {
15
- :client_id => Config.settings[:client_id],
16
- :grant_type => "password",
17
- :username => username,
18
- :password => password
19
- }
20
- code, data = http_request Config.settings[:auth_url], post_data
21
- reset_token(data["access_token"], data["refresh_token"]) if Utils.is_response_ok?(code)
22
- [code, data]
23
- end
24
-
25
- def exchange_by_refresh_token!(refresh_token)
26
- post_data = {
27
- :client_id => Config.settings[:client_id],
28
- :grant_type => "refresh_token",
29
- :refresh_token => refresh_token
30
- }
31
- code, data = http_request Config.settings[:auth_url], post_data
32
- reset_token(data["access_token"], data["refresh_token"]) if Utils.is_response_ok?(code)
33
- [code, data]
34
- end
35
-
36
- def reset_token(access_token, refresh_token)
37
- @access_token = access_token
38
- @refresh_token = refresh_token
39
- end
40
-
41
- def call_with_logged_in(url, data, retry_times = 0)
42
- raise MissingAccessToken if @access_token.nil?
43
- code, data = http_request url, data, {:access_token => @access_token}
44
- if code == 401
45
- raise MissingRefreshToken if @refresh_token.nil?
46
- code, data = exchange_by_refresh_token!(@refresh_token)
47
- if code == 401
48
- raise MissingUsernameOrPassword if (@username.nil? || @password.nil?)
49
- code, data = exchange_by_password!(@username, @password)
50
- end
51
- if Utils.is_response_ok?(code)
52
- retry_times += 1
53
- if Config.settings[:auto_reconnect] && retry_times < Config.settings[:max_retry_times]
54
- return call_with_logged_in(url, data, retry_times)
55
- end
56
- end
57
- end
58
- [code, data]
59
- end
60
-
61
11
  def call_with_signature(url, data, retry_times = 0, options = {})
62
- code, data = http_request url, data, options.merge({:qbox_signature_token => generate_qbox_signature(url, data)})
12
+ code, data = http_request url, data, options.merge({:qbox_signature_token => generate_qbox_signature(url, data, options[:mime])})
63
13
  [code, data]
64
14
  end
65
15
 
66
16
  def request(url, data = nil, options = {})
67
- begin
68
- if Config.settings[:access_key].empty? || Config.settings[:secret_key].empty?
69
- code, data = Auth.call_with_logged_in(url, data)
70
- else
71
17
  code, data = Auth.call_with_signature(url, data, 0, options)
72
- end
73
- rescue MissingAccessToken => e
74
- Log.logger.error e
75
- code, data = 401, {}
76
- rescue MissingRefreshToken => e
77
- Log.logger.error e
78
- code, data = 401, {}
79
- rescue MissingUsernameOrPassword => e
80
- Log.logger.error e
81
- code, data = 401, {}
82
- end
83
18
  [code, data]
84
19
  end
85
20
 
@@ -20,9 +20,9 @@ module Qiniu
20
20
  :method => :post,
21
21
  :content_type => 'application/x-www-form-urlencoded',
22
22
  :auth_url => "https://acc.qbox.me/oauth2/token",
23
- :rs_host => "http://rs.qbox.me",
23
+ :rs_host => "http://rs.qiniu.com",
24
24
  :io_host => "http://iovip.qbox.me",
25
- :up_host => "http://up.qbox.me",
25
+ :up_host => "http://up.qiniu.com",
26
26
  :pub_host => "http://pu.qbox.me:10200",
27
27
  :eu_host => "http://eu.qbox.me",
28
28
  :client_id => "a75604760c4da4caaa456c0c5895c061c3065c5a",
@@ -60,7 +60,7 @@ module Qiniu
60
60
  encoded_uri = encode_entry_uri(bucket, key)
61
61
  execs << "op=/#{command}/#{encoded_uri}"
62
62
  end
63
- Auth.request Config.settings[:rs_host] + "/batch?" + execs.join("&")
63
+ Auth.request Config.settings[:rs_host] + "/batch", execs.join("&"), {:mime => "application/x-www-form-urlencoded" }
64
64
  end
65
65
 
66
66
  def batch_get(bucket, keys)
@@ -108,7 +108,7 @@ module Qiniu
108
108
  op_args.each do |e|
109
109
  execs << 'op=' + _generate_cp_or_mv_opstr(command, e[0], e[1], e[2], e[3]) if e.size == 4
110
110
  end
111
- Auth.request Config.settings[:rs_host] + "/batch?" + execs.join("&")
111
+ Auth.request Config.settings[:rs_host] + "/batch", execs.join("&"), {:mime => "application/x-www-form-urlencoded" }
112
112
  end
113
113
 
114
114
  end
@@ -127,7 +127,7 @@ module Qiniu
127
127
  File.open(filepath, "rb") { |f| Zlib.crc32 f.read }
128
128
  end
129
129
 
130
- def generate_qbox_signature(url, params)
130
+ def generate_qbox_signature(url, params, mime = nil)
131
131
  access_key = Config.settings[:access_key]
132
132
  secret_key = Config.settings[:secret_key]
133
133
  uri = URI.parse(url)
@@ -139,6 +139,9 @@ module Qiniu
139
139
  params_string = generate_query_string(params)
140
140
  signature += params_string
141
141
  end
142
+ if mime.is_a?(String) && mime == "application/x-www-form-urlencoded" && params.is_a?(String)
143
+ signature += params
144
+ end
142
145
  hmac = HMAC::SHA1.new(secret_key)
143
146
  hmac.update(signature)
144
147
  encoded_digest = urlsafe_base64_encode(hmac.digest)
@@ -5,7 +5,7 @@ module Qiniu
5
5
  module Version
6
6
  MAJOR = 3
7
7
  MINOR = 4
8
- PATCH = 6
8
+ PATCH = 7
9
9
  # Returns a version string by joining <tt>MAJOR</tt>, <tt>MINOR</tt>, and <tt>PATCH</tt> with <tt>'.'</tt>
10
10
  #
11
11
  # Example
@@ -5,9 +5,9 @@ require File.expand_path('../lib/qiniu/rs/version', __FILE__)
5
5
  Gem::Specification.new do |gem|
6
6
  gem.authors = ["why404"]
7
7
  gem.email = ["why404@gmail.com"]
8
- gem.description = %q{Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniu.com/ruby-sdk/}
8
+ gem.description = %q{Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://developer.qiniu.com/docs/v6/sdk/ruby-sdk.html}
9
9
  gem.summary = %q{Qiniu Resource (Cloud) Storage SDK for Ruby}
10
- gem.homepage = "https://github.com/qiniu/ruby-sdk"
10
+ gem.homepage = "https://github.com/qiniu/ruby-sdk/tree/qiniu-rs"
11
11
 
12
12
  gem.files = `git ls-files`.split($\)
13
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -92,19 +92,24 @@ module Qiniu
92
92
 
93
93
  context ".batch_copy" do
94
94
  it "should works" do
95
- code, data = Qiniu::RS::RS.batch_copy [@bucket, @key, @bucket, @key2]
95
+ code, data = Qiniu::RS::RS.batch_copy @bucket, @key, @bucket, @key2
96
96
  code.should == 200
97
97
  puts data.inspect
98
98
 
99
99
  #code2, data2 = Qiniu::RS::RS.stat(@bucket, @key2)
100
100
  #code2.should == 200
101
101
  #puts data2.inspect
102
+ #
103
+ code, data = Qiniu::RS::RS.delete(@bucket, @key2)
104
+ code.should == 200
105
+ puts data.inspect
106
+
102
107
  end
103
108
  end
104
109
 
105
110
  context ".batch_move" do
106
111
  it "should works" do
107
- code, data = Qiniu::RS::RS.batch_move [@bucket, @key, @bucket, @key2]
112
+ code, data = Qiniu::RS::RS.batch_move @bucket, @key, @bucket, @key2
108
113
  code.should == 200
109
114
  puts data.inspect
110
115
 
@@ -112,7 +117,7 @@ module Qiniu
112
117
  #code2.should == 200
113
118
  #puts data2.inspect
114
119
 
115
- code3, data3 = Qiniu::RS::RS.batch_move [@bucket, @key2, @bucket, @key]
120
+ code3, data3 = Qiniu::RS::RS.batch_move @bucket, @key2, @bucket, @key
116
121
  code3.should == 200
117
122
  puts data3.inspect
118
123
  end
@@ -298,23 +298,26 @@ module Qiniu
298
298
 
299
299
  context ".batch_copy" do
300
300
  it "should works" do
301
- result = Qiniu::RS.batch_copy [@bucket, @key, @bucket, @key2]
301
+ result = Qiniu::RS.batch_copy @bucket, @key, @bucket, @key2
302
302
  result.should_not be_false
303
303
 
304
304
  #result2 = Qiniu::RS.stat(@bucket, @key2)
305
305
  #result2.should_not be_false
306
+
307
+ result = Qiniu::RS.delete @bucket, @key2
308
+ result.should_not be_false
306
309
  end
307
310
  end
308
311
 
309
312
  context ".batch_move" do
310
313
  it "should works" do
311
- result = Qiniu::RS::RS.batch_move [@bucket, @key, @bucket, @key2]
314
+ result = Qiniu::RS.batch_move @bucket, @key, @bucket, @key2
312
315
  result.should_not be_false
313
316
 
314
317
  #result2 = Qiniu::RS.stat(@bucket, @key2)
315
318
  #result2.should_not be_false
316
319
 
317
- result3 = Qiniu::RS.batch_move [@bucket, @key2, @bucket, @key]
320
+ result3 = Qiniu::RS.batch_move @bucket, @key2, @bucket, @key
318
321
  result3.should_not be_false
319
322
  end
320
323
  end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiniu-rs
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.6
5
- prerelease:
4
+ version: 3.4.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - why404
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-27 00:00:00.000000000 Z
11
+ date: 2014-03-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.9'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0.9'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '2.11'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '2.11'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: fakeweb
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: json
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rest-client
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: mime-types
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: ruby-hmac
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,12 +104,11 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0.4'
126
- description: ! 'Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniu.com/ruby-sdk/'
111
+ description: 'Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://developer.qiniu.com/docs/v6/sdk/ruby-sdk.html'
127
112
  email:
128
113
  - why404@gmail.com
129
114
  executables: []
@@ -161,7 +146,6 @@ files:
161
146
  - lib/qiniu/tokens/upload_token.rb
162
147
  - qiniu-rs.gemspec
163
148
  - spec/qiniu/rs/abstract_spec.rb
164
- - spec/qiniu/rs/auth_spec.rb
165
149
  - spec/qiniu/rs/eu_spec.rb
166
150
  - spec/qiniu/rs/image_logo_for_test.png
167
151
  - spec/qiniu/rs/image_spec.rb
@@ -174,39 +158,31 @@ files:
174
158
  - spec/qiniu/rs_spec.rb
175
159
  - spec/qiniu/tokens/qbox_token_spec.rb
176
160
  - spec/spec_helper.rb
177
- homepage: https://github.com/qiniu/ruby-sdk
161
+ homepage: https://github.com/qiniu/ruby-sdk/tree/qiniu-rs
178
162
  licenses: []
163
+ metadata: {}
179
164
  post_install_message:
180
165
  rdoc_options: []
181
166
  require_paths:
182
167
  - lib
183
168
  required_ruby_version: !ruby/object:Gem::Requirement
184
- none: false
185
169
  requirements:
186
- - - ! '>='
170
+ - - '>='
187
171
  - !ruby/object:Gem::Version
188
172
  version: '0'
189
- segments:
190
- - 0
191
- hash: 4277870360728960910
192
173
  required_rubygems_version: !ruby/object:Gem::Requirement
193
- none: false
194
174
  requirements:
195
- - - ! '>='
175
+ - - '>='
196
176
  - !ruby/object:Gem::Version
197
177
  version: '0'
198
- segments:
199
- - 0
200
- hash: 4277870360728960910
201
178
  requirements: []
202
179
  rubyforge_project:
203
- rubygems_version: 1.8.25
180
+ rubygems_version: 2.0.3
204
181
  signing_key:
205
- specification_version: 3
182
+ specification_version: 4
206
183
  summary: Qiniu Resource (Cloud) Storage SDK for Ruby
207
184
  test_files:
208
185
  - spec/qiniu/rs/abstract_spec.rb
209
- - spec/qiniu/rs/auth_spec.rb
210
186
  - spec/qiniu/rs/eu_spec.rb
211
187
  - spec/qiniu/rs/image_logo_for_test.png
212
188
  - spec/qiniu/rs/image_spec.rb
@@ -1,58 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- require 'spec_helper'
4
- require 'qiniu/rs/auth'
5
-
6
- module Qiniu
7
- module RS
8
- describe Auth do
9
-
10
- before :all do
11
- @username = "qboxtest"
12
- @password = "qboxtest123"
13
-
14
- code, data = Qiniu::RS::Auth.exchange_by_password!(@username, @password)
15
- code.should == 200
16
- data.should be_an_instance_of(Hash)
17
- data["access_token"].should_not be_empty
18
- data["refresh_token"].should_not be_empty
19
- data["refresh_token"].should_not be_empty
20
-
21
- @access_token = data["access_token"]
22
- @refresh_token = data["refresh_token"]
23
- puts data.inspect
24
- end
25
-
26
- context ".exchange_by_password" do
27
- it "should sign in failed when pass a non-existent username" do
28
- code, data = Qiniu::RS::Auth.exchange_by_password!("a_non_existent_user@example.com", "password")
29
- code.should == 401
30
- data["error_code"].should == 11
31
- data["error"].should == "failed_authentication"
32
- puts data.inspect
33
- end
34
-
35
- it "should sign in failed when pass a wrong password" do
36
- code, data = Qiniu::RS::Auth.exchange_by_password!(@username, "a-wrong-password")
37
- code.should == 401
38
- data["error_code"].should == 11
39
- data["error"].should == "failed_authentication"
40
- puts data.inspect
41
- end
42
- end
43
-
44
- context ".exchange_by_refresh_token" do
45
- it "should works" do
46
- @refresh_token.should_not be_empty
47
- code, data = Qiniu::RS::Auth.exchange_by_refresh_token!(@refresh_token)
48
- code.should == 200
49
- data["access_token"].should_not be_empty
50
- data["refresh_token"].should_not be_empty
51
- data["expires_in"].should_not be_zero
52
- puts data.inspect
53
- end
54
- end
55
-
56
- end
57
- end
58
- end