调整所有的测试用例,使用新组织好的函数。

This commit is contained in:
Liang Tao
2014-03-03 17:17:42 +08:00
parent 36c492b9b9
commit f1cb65d79a
11 changed files with 79 additions and 163 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
qiniu-rs (3.4.6)
qiniu-rs (3.5.0)
json (~> 1.7)
mime-types (~> 1.19)
rest-client (~> 1.6)
+23 -25
View File
@@ -7,9 +7,6 @@ module Qiniu
autoload :Config, 'qiniu/config'
autoload :Log, 'qiniu/log'
autoload :Exception, 'qiniu/exceptions'
autoload :IO, 'qiniu/io'
autoload :UP, 'qiniu/up'
autoload :RS, 'qiniu/rs'
autoload :Pub, 'qiniu/pub'
autoload :Image, 'qiniu/image'
autoload :AccessToken, 'qiniu/tokens/access_token'
@@ -17,6 +14,7 @@ module Qiniu
autoload :UploadToken, 'qiniu/tokens/upload_token'
autoload :DownloadToken, 'qiniu/tokens/download_token'
autoload :Abstract, 'qiniu/abstract'
autoload :Storage, 'qiniu/storage'
class << self
@@ -27,12 +25,12 @@ module Qiniu
end
def mkbucket(bucket_name)
code, data = RS.mkbucket(bucket_name)
code, data = Storage.mkbucket(bucket_name)
code == StatusOK
end
def buckets
code, data = RS.buckets
code, data = Storage.buckets
code == StatusOK ? data : false
end
@@ -57,7 +55,7 @@ module Qiniu
end
def put_file opts = {}
code, data = IO.put_file(opts[:file],
code, data = Storage.put_file(opts[:file],
opts[:bucket],
opts[:key],
opts[:mime_type],
@@ -76,7 +74,7 @@ module Qiniu
opts[:enable_resumable_upload] = true unless opts.has_key?(:enable_resumable_upload)
if opts[:enable_resumable_upload] && File::size(source_file) > Config.settings[:block_size]
code, data = UP.upload_with_token(opts[:uptoken],
code, data = Storage.upload_with_token(opts[:uptoken],
opts[:file],
opts[:bucket],
opts[:key],
@@ -86,7 +84,7 @@ module Qiniu
opts[:callback_params],
opts[:rotate])
else
code, data = IO.upload_with_token(opts[:uptoken],
code, data = Storage.upload_with_token(opts[:uptoken],
opts[:file],
opts[:bucket],
opts[:key],
@@ -101,62 +99,62 @@ module Qiniu
end
def stat(bucket, key)
code, data = RS.stat(bucket, key)
code, data = Storage.stat(bucket, key)
code == StatusOK ? data : false
end
def get(bucket, key, save_as = nil, expires_in = nil, version = nil)
code, data = RS.get(bucket, key, save_as, expires_in, version)
code, data = Storage.get(bucket, key, save_as, expires_in, version)
code == StatusOK ? data : false
end
def download(bucket, key, save_as = nil, expires_in = nil, version = nil)
code, data = RS.get(bucket, key, save_as, expires_in, version)
code, data = Storage.get(bucket, key, save_as, expires_in, version)
code == StatusOK ? data["url"] : false
end
def copy(source_bucket, source_key, target_bucket, target_key)
code, data = RS.copy(source_bucket, source_key, target_bucket, target_key)
code, data = Storage.copy(source_bucket, source_key, target_bucket, target_key)
code == StatusOK
end
def move(source_bucket, source_key, target_bucket, target_key)
code, data = RS.move(source_bucket, source_key, target_bucket, target_key)
code, data = Storage.move(source_bucket, source_key, target_bucket, target_key)
code == StatusOK
end
def delete(bucket, key)
code, data = RS.delete(bucket, key)
code, data = Storage.delete(bucket, key)
code == StatusOK
end
def batch(command, bucket, keys)
code, data = RS.batch(command, bucket, keys)
code, data = Storage.batch(command, bucket, keys)
code == StatusOK ? data : false
end
def batch_stat(bucket, keys)
code, data = RS.batch_stat(bucket, keys)
code, data = Storage.batch_stat(bucket, keys)
code == StatusOK ? data : false
end
def batch_get(bucket, keys)
code, data = RS.batch_get(bucket, keys)
code, data = Storage.batch_get(bucket, keys)
code == StatusOK ? data : false
end
def batch_copy(*args)
code, data = RS.batch_copy(args)
code, data = Storage.batch_copy(args)
code == StatusOK
end
def batch_move(*args)
code, data = RS.batch_move(args)
code, data = Storage.batch_move(args)
code == StatusOK
end
def batch_download(bucket, keys)
code, data = RS.batch_get(bucket, keys)
code, data = Storage.batch_get(bucket, keys)
return false unless code == StatusOK
links = []
data.each { |e| links << e["data"]["url"] }
@@ -164,22 +162,22 @@ module Qiniu
end
def batch_delete(bucket, keys)
code, data = RS.batch_delete(bucket, keys)
code, data = Storage.batch_delete(bucket, keys)
code == StatusOK ? data : false
end
def publish(domain, bucket)
code, data = RS.publish(domain, bucket)
code, data = Storage.publish(domain, bucket)
code == StatusOK
end
def unpublish(domain)
code, data = RS.unpublish(domain)
code, data = Storage.unpublish(domain)
code == StatusOK
end
def drop(bucket)
code, data = RS.drop(bucket)
code, data = Storage.drop(bucket)
code == StatusOK
end
@@ -198,7 +196,7 @@ module Qiniu
end
def image_mogrify_save_as(bucket, key, source_image_url, options)
code, data = RS.image_mogrify_save_as(bucket, key, source_image_url, options)
code, data = Storage.image_mogrify_save_as(bucket, key, source_image_url, options)
code == StatusOK ? data : false
end
-70
View File
@@ -1,70 +0,0 @@
# -*- encoding: utf-8 -*-
require 'mime/types'
require 'digest/sha1'
require 'qiniu/exceptions'
module Qiniu
module IO
class << self
include Utils
def put_file(local_file, bucket, key = nil, mime_type = nil, custom_meta = nil, enable_crc32_check = false)
action_params = _generate_action_params(local_file, bucket, key, mime_type, custom_meta, enable_crc32_check)
url = Config.settings[:io_host] + action_params
options = {:content_type => 'application/octet-stream'}
Auth.request url, ::IO.read(local_file), options
end
def upload_with_token(uptoken, local_file, bucket, key = nil, mime_type = nil, custom_meta = nil, callback_params = nil, enable_crc32_check = false, rotate = nil)
action_params = _generate_action_params(local_file, bucket, key, mime_type, custom_meta, enable_crc32_check, rotate)
callback_params = {:bucket => bucket, :key => key, :mime_type => mime_type} if callback_params.nil?
callback_query_string = Utils.generate_query_string(callback_params)
url = Config.settings[:up_host] + '/upload'
Utils.upload_multipart_data(url, local_file, action_params, callback_query_string, uptoken)
end
def upload_with_token_2(uptoken, local_file, key = nil, x_vars = nil)
### 构造URL
url = Config.settings[:up_host]
url[/\/*$/] = ''
url += '/'
### 构造HTTP Body
post_data = {
:file => File.new(local_file, 'rb'),
:multipart => true,
}
if not uptoken.nil? then
post_data[:token] = uptoken
end
if not key.nil? then
post_data[:key] = key
end
if x_vars.is_a?(Hash) then
post_data.merge!(x_vars)
end
### 发送请求
Utils.http_request url, post_data
end # upload_with_token_2
private
def _generate_action_params(local_file, bucket, key = nil, mime_type = nil, custom_meta = nil, enable_crc32_check = false, rotate = nil)
raise NoSuchFileError, local_file unless File.exist?(local_file)
key = Digest::SHA1.hexdigest(local_file + Time.now.to_s) if key.nil?
entry_uri = bucket + ':' + key
if mime_type.nil? || mime_type.empty?
mime = MIME::Types.type_for local_file
mime_type = mime.empty? ? 'application/octet-stream' : mime[0].content_type
end
action_params = '/rs-put/' + Utils.urlsafe_base64_encode(entry_uri) + '/mimeType/' + Utils.urlsafe_base64_encode(mime_type)
action_params += '/meta/' + Utils.urlsafe_base64_encode(custom_meta) unless custom_meta.nil?
action_params += '/crc32/' + Utils.crc32checksum(local_file).to_s if enable_crc32_check
action_params += '/rotate/' + rotate if !rotate.nil? && rotate.to_i >= 0
action_params
end
end
end # module IO
end # module Qiniu
+21 -32
View File
@@ -1,21 +1,21 @@
# -*- encoding: utf-8 -*-
module Qiniu
module RS
module Storage
class << self
include Utils
def buckets
Auth.request Config.settings[:rs_host] + '/buckets'
end
end # buckets
def mkbucket(bucket_name)
Auth.request Config.settings[:rs_host] + '/mkbucket/' + bucket_name
end
end # mkbucket
def stat(bucket, key)
Auth.request Config.settings[:rs_host] + '/stat/' + encode_entry_uri(bucket, key)
end
end # stat
def get(bucket, key, save_as = nil, expires_in = nil, version = nil)
url = Config.settings[:rs_host] + '/get/' + encode_entry_uri(bucket, key)
@@ -23,35 +23,35 @@ module Qiniu
url += '/attName/' + Utils.urlsafe_base64_encode(save_as) unless save_as.nil?
url += '/expires/' + expires_in.to_s if !expires_in.nil? && expires_in > 0
Auth.request url
end
end # get
def copy(source_bucket, source_key, target_bucket, target_key)
uri = _generate_cp_or_mv_opstr('copy', source_bucket, source_key, target_bucket, target_key)
Auth.request Config.settings[:rs_host] + uri
end
end # copy
def move(source_bucket, source_key, target_bucket, target_key)
uri = _generate_cp_or_mv_opstr('move', source_bucket, source_key, target_bucket, target_key)
Auth.request Config.settings[:rs_host] + uri
end
end # move
def delete(bucket, key)
Auth.request Config.settings[:rs_host] + '/delete/' + encode_entry_uri(bucket, key)
end
end # delete
def publish(domain, bucket)
encoded_domain = Utils.urlsafe_base64_encode(domain)
Auth.request Config.settings[:rs_host] + "/publish/#{encoded_domain}/from/#{bucket}"
end
end # publish
def unpublish(domain)
encoded_domain = Utils.urlsafe_base64_encode(domain)
Auth.request Config.settings[:rs_host] + "/unpublish/#{encoded_domain}"
end
end # unpublish
def drop(bucket)
Auth.request Config.settings[:rs_host] + "/drop/#{bucket}"
end
end # drop
def batch(command, bucket, keys)
execs = []
@@ -60,39 +60,39 @@ module Qiniu
execs << "op=/#{command}/#{encoded_uri}"
end
Auth.request Config.settings[:rs_host] + "/batch?" + execs.join("&")
end
end # batch
def batch_get(bucket, keys)
batch("get", bucket, keys)
end
end # batch_get
def batch_stat(bucket, keys)
batch("stat", bucket, keys)
end
end # batch_stat
def batch_copy(*args)
_batch_cp_or_mv('copy', args)
end
end # batch_copy
def batch_move(*args)
_batch_cp_or_mv('move', args)
end
end # batch_move
def batch_delete(bucket, keys)
batch("delete", bucket, keys)
end
end # batch_delete
def save_as(bucket, key, source_url, op_params_string)
encoded_uri = encode_entry_uri(bucket, key)
save_as_string = '/save-as/' + encoded_uri
new_url = source_url + '?' + op_params_string + save_as_string
Auth.request new_url
end
end # save_as
def image_mogrify_save_as(bucket, key, source_image_url, options)
mogrify_params_string = Image.generate_mogrify_params_string(options)
save_as(bucket, key, source_image_url, mogrify_params_string)
end
end # image_mogrify_save_as
private
@@ -100,18 +100,7 @@ module Qiniu
source_encoded_entry_uri = encode_entry_uri(source_bucket, source_key)
target_encoded_entry_uri = encode_entry_uri(target_bucket, target_key)
%Q(/#{command}/#{source_encoded_entry_uri}/#{target_encoded_entry_uri})
end
=begin
def _batch_cp_or_mv(command, *op_args)
execs = []
op_args.each do |e|
execs << 'op=' + _generate_cp_or_mv_opstr(command, e[0], e[1], e[2], e[3]) if e.size == 4
end
Auth.request Config.settings[:rs_host] + "/batch?" + execs.join("&")
end
=end
end # _generate_cp_or_mv_opstr
end
end # module RS
end # module Storage
end # module Qiniu
-1
View File
@@ -8,7 +8,6 @@ require 'mime/types'
require 'digest/sha1'
require 'qiniu/abstract'
require 'qiniu/exceptions'
require 'qiniu/io'
module Qiniu
module Storage
+1
View File
@@ -2,3 +2,4 @@
require 'qiniu/upload'
require 'qiniu/resumable_upload'
require 'qiniu/management'
+2 -2
View File
@@ -3,8 +3,8 @@
module Qiniu
module Version
MAJOR = 3
MINOR = 4
PATCH = 6
MINOR = 5
PATCH = 0
# Returns a version string by joining <tt>MAJOR</tt>, <tt>MINOR</tt>, and <tt>PATCH</tt> with <tt>'.'</tt>
#
# Example
+1 -1
View File
@@ -2,7 +2,7 @@
require 'spec_helper'
require 'qiniu/auth'
require 'qiniu/rs'
require 'qiniu'
require 'qiniu/image'
module Qiniu
@@ -3,33 +3,32 @@
require 'digest/sha1'
require 'spec_helper'
require 'qiniu/auth'
require 'qiniu/io'
require 'qiniu/management'
require 'qiniu'
module Qiniu
module RS
describe RS do
module Storage
describe Storage do
before :all do
@bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
@key = Digest::SHA1.hexdigest((Time.now.to_i+rand(100)).to_s)
@key2 = @key + rand(100).to_s
#@domain = @bucket + '.dn.qbox.me'
code, data = Qiniu::RS.mkbucket(@bucket)
code, data = Storage.mkbucket(@bucket)
puts [code, data].inspect
code.should == 200
end
after :all do
code, data = Qiniu::RS.drop(@bucket)
code, data = Storage.drop(@bucket)
puts [code, data].inspect
code.should == 200
end
context ".put_file" do
it "should works" do
code, data = Qiniu::IO.put_file(__FILE__, @bucket, @key, 'application/x-ruby', 'customMeta', true)
code, data = Storage.put_file(__FILE__, @bucket, @key, 'application/x-ruby', 'customMeta', true)
code.should == 200
puts data.inspect
end
@@ -37,7 +36,7 @@ module Qiniu
context ".buckets" do
it "should works" do
code, data = Qiniu::RS.buckets
code, data = Storage.buckets
code.should == 200
puts data.inspect
end
@@ -45,7 +44,7 @@ module Qiniu
context ".stat" do
it "should works" do
code, data = Qiniu::RS.stat(@bucket, @key)
code, data = Storage.stat(@bucket, @key)
code.should == 200
puts data.inspect
end
@@ -53,7 +52,7 @@ module Qiniu
context ".get" do
it "should works" do
code, data = Qiniu::RS.get(@bucket, @key, "rs_spec.rb", 1)
code, data = Storage.get(@bucket, @key, "rs_spec.rb", 1)
code.should == 200
puts data.inspect
end
@@ -61,7 +60,7 @@ module Qiniu
context ".batch" do
it "should works" do
code, data = Qiniu::RS.batch("stat", @bucket, [@key])
code, data = Storage.batch("stat", @bucket, [@key])
code.should == 200
puts data.inspect
end
@@ -69,7 +68,7 @@ module Qiniu
context ".batch_stat" do
it "should works" do
code, data = Qiniu::RS.batch_stat(@bucket, [@key])
code, data = Storage.batch_stat(@bucket, [@key])
code.should == 200
puts data.inspect
end
@@ -77,7 +76,7 @@ module Qiniu
context ".batch_get" do
it "should works" do
code, data = Qiniu::RS.batch_get(@bucket, [@key])
code, data = Storage.batch_get(@bucket, [@key])
code.should == 200
puts data.inspect
end
@@ -133,15 +132,15 @@ module Qiniu
context ".move" do
it "should works" do
code, data = Qiniu::RS.move(@bucket, @key, @bucket, @key2)
code, data = Storage.move(@bucket, @key, @bucket, @key2)
code.should == 200
puts data.inspect
code2, data2 = Qiniu::RS.stat(@bucket, @key2)
code2, data2 = Storage.stat(@bucket, @key2)
code2.should == 200
puts data2.inspect
code3, data3 = Qiniu::RS.move(@bucket, @key2, @bucket, @key)
code3, data3 = Storage.move(@bucket, @key2, @bucket, @key)
code3.should == 200
puts data3.inspect
end
@@ -149,7 +148,7 @@ module Qiniu
context ".copy" do
it "should works" do
code, data = Qiniu::RS.copy(@bucket, @key, @bucket, @key2)
code, data = Storage.copy(@bucket, @key, @bucket, @key2)
code.should == 200
puts data.inspect
@@ -161,7 +160,7 @@ module Qiniu
context ".delete" do
it "should works" do
code, data = Qiniu::RS.delete(@bucket, @key)
code, data = Storage.delete(@bucket, @key)
code.should == 200
puts data.inspect
end
@@ -169,12 +168,12 @@ module Qiniu
context ".drop" do
it "should works" do
code, data = Qiniu::RS.drop(@bucket)
code, data = Storage.drop(@bucket)
code.should == 200
puts data.inspect
end
end
end
end
end
end # module Storage
end # module Qiniu
+2 -2
View File
@@ -2,11 +2,11 @@
require 'digest/sha1'
require 'spec_helper'
require 'qiniu/rs'
require 'qiniu'
require 'qiniu/exceptions'
module Qiniu
describe RS do
describe Qiniu do
before :all do
@bucket = 'RubySdkTest' + (Time.now.to_i+rand(1000)).to_s
@@ -87,7 +87,7 @@ module Qiniu
context ".stat" do
it "should exists" do
code, data = Qiniu::RS.stat(@bucket, @key1)
code, data = Qiniu::Storage.stat(@bucket, @key1)
puts data.inspect
code.should == 200
end
@@ -95,7 +95,7 @@ module Qiniu
context ".delete" do
it "should works" do
code, data = Qiniu::RS.delete(@bucket, @key1)
code, data = Qiniu::Storage.delete(@bucket, @key1)
puts data.inspect
code.should == 200
end
@@ -113,7 +113,7 @@ module Qiniu
context ".stat" do
it "should exists" do
code, data = Qiniu::RS.stat(@bucket, @key2)
code, data = Qiniu::Storage.stat(@bucket, @key2)
puts data.inspect
code.should == 200
end
@@ -121,7 +121,7 @@ module Qiniu
context ".delete" do
it "should works" do
code, data = Qiniu::RS.delete(@bucket, @key2)
code, data = Qiniu::Storage.delete(@bucket, @key2)
puts data.inspect
code.should == 200
end
@@ -139,7 +139,7 @@ module Qiniu
context ".stat" do
it "should exists" do
code, data = Qiniu::RS.stat(@bucket, @key3)
code, data = Qiniu::Storage.stat(@bucket, @key3)
puts data.inspect
code.should == 200
end
@@ -147,7 +147,7 @@ module Qiniu
context ".delete" do
it "should works" do
code, data = Qiniu::RS.delete(@bucket, @key3)
code, data = Qiniu::Storage.delete(@bucket, @key3)
puts data.inspect
code.should == 200
end
@@ -165,7 +165,7 @@ module Qiniu
context ".stat" do
it "should exists" do
code, data = Qiniu::RS.stat(@bucket, @key4)
code, data = Qiniu::Storage.stat(@bucket, @key4)
puts data.inspect
code.should == 200
end
@@ -173,7 +173,7 @@ module Qiniu
context ".delete" do
it "should works" do
code, data = Qiniu::RS.delete(@bucket, @key4)
code, data = Qiniu::Storage.delete(@bucket, @key4)
puts data.inspect
code.should == 200
end