[aws|storage} more test work
This commit is contained in:
parent
c53b5e273c
commit
068c7162b1
|
@ -1,58 +0,0 @@
|
||||||
require File.dirname(__FILE__) + '/../../../spec_helper'
|
|
||||||
|
|
||||||
describe 'Storage.get_object' do
|
|
||||||
describe 'success' do
|
|
||||||
|
|
||||||
before(:each) do
|
|
||||||
AWS[:storage].put_bucket('foggetobject')
|
|
||||||
AWS[:storage].put_object('foggetobject', 'fog_get_object', lorem_file)
|
|
||||||
end
|
|
||||||
|
|
||||||
after(:each) do
|
|
||||||
AWS[:storage].delete_object('foggetobject', 'fog_get_object')
|
|
||||||
AWS[:storage].delete_bucket('foggetobject')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should return proper attributes' do
|
|
||||||
actual = AWS[:storage].get_object('foggetobject', 'fog_get_object')
|
|
||||||
actual.status.should == 200
|
|
||||||
data = lorem_file.read
|
|
||||||
actual.body.should == data
|
|
||||||
actual.headers['Content-Length'].should == data.length.to_s
|
|
||||||
actual.headers['Content-Type'].should be_a(String)
|
|
||||||
actual.headers['ETag'].should be_a(String)
|
|
||||||
actual.headers['Last-Modified'].should be_a(String)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should return chunks with optional block' do
|
|
||||||
data = ''
|
|
||||||
AWS[:storage].get_object('foggetobject', 'fog_get_object') do |chunk|
|
|
||||||
data << chunk
|
|
||||||
end
|
|
||||||
data.should == lorem_file.read
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should return a signed expiring url' do
|
|
||||||
url = AWS[:storage].get_object_url('foggetobject', 'fog_get_object', Time.now + 60 * 10)
|
|
||||||
unless Fog.mocking?
|
|
||||||
open(url).read.should == lorem_file.read
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
describe 'failure' do
|
|
||||||
|
|
||||||
it 'should raise a NotFound error if the bucket does not exist' do
|
|
||||||
lambda {
|
|
||||||
AWS[:storage].get_object('fognotabucket', 'fog_get_object')
|
|
||||||
}.should raise_error(Excon::Errors::NotFound)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should raise a NotFound error if the object does not exist' do
|
|
||||||
lambda {
|
|
||||||
AWS[:storage].get_object('foggetobject', 'fog_not_an_object')
|
|
||||||
}.should raise_error(Excon::Errors::NotFound)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,26 +0,0 @@
|
||||||
require File.dirname(__FILE__) + '/../../../spec_helper'
|
|
||||||
|
|
||||||
describe 'Storage.head_object' do
|
|
||||||
describe 'success' do
|
|
||||||
|
|
||||||
before(:each) do
|
|
||||||
AWS[:storage].put_bucket('fogheadobject')
|
|
||||||
AWS[:storage].put_object('fogheadobject', 'fog_head_object', lorem_file)
|
|
||||||
end
|
|
||||||
|
|
||||||
after(:each) do
|
|
||||||
AWS[:storage].delete_object('fogheadobject', 'fog_head_object')
|
|
||||||
AWS[:storage].delete_bucket('fogheadobject')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should return proper attributes' do
|
|
||||||
actual = AWS[:storage].head_object('fogheadobject', 'fog_head_object')
|
|
||||||
actual.status.should == 200
|
|
||||||
data = lorem_file.read
|
|
||||||
actual.headers['Content-Length'].should == data.length.to_s
|
|
||||||
actual.headers['ETag'].should be_a(String)
|
|
||||||
actual.headers['Last-Modified'].should be_a(String)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -8,7 +8,21 @@ Shindo.tests('AWS::Storage | object requests', ['aws']) do
|
||||||
AWS[:storage].put_object(@directory.identity, 'fog_object', lorem_file)
|
AWS[:storage].put_object(@directory.identity, 'fog_object', lorem_file)
|
||||||
end
|
end
|
||||||
|
|
||||||
tests("#get_object")
|
tests("#get_object('#{@directory.identity}', 'fog_object')").returns(lorem_file.read) do
|
||||||
|
AWS[:storage].get_object(@directory.identity, 'fog_object').body
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#get_object('#{@directory.identity}', 'fog_object', &block)").returns(lorem_file.read) do
|
||||||
|
data = ''
|
||||||
|
AWS[:storage].get_object(@directory.identity, 'fog_object') do |chunk|
|
||||||
|
data << chunk
|
||||||
|
end
|
||||||
|
data
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#head_object('#{@directory.identity}', 'fog_object')").succeeds do
|
||||||
|
AWS[:storage].head_object(@directory.identity, 'fog_object')
|
||||||
|
end
|
||||||
|
|
||||||
tests("#delete_object('#{@directory.identity}', 'fog_object')").succeeds do
|
tests("#delete_object('#{@directory.identity}', 'fog_object')").succeeds do
|
||||||
AWS[:storage].delete_object(@directory.identity, 'fog_object')
|
AWS[:storage].delete_object(@directory.identity, 'fog_object')
|
||||||
|
@ -18,8 +32,24 @@ Shindo.tests('AWS::Storage | object requests', ['aws']) do
|
||||||
|
|
||||||
tests('failure') do
|
tests('failure') do
|
||||||
|
|
||||||
tests("#put_object('fognonbucket', 'fog_object', lorem_file)").raises(Excon::Errors::NotFound) do
|
tests("#put_object('fognonbucket', 'fog_non_object', lorem_file)").raises(Excon::Errors::NotFound) do
|
||||||
AWS[:storage].put_object('fognonbucket', 'fog_object', lorem_file)
|
AWS[:storage].put_object('fognonbucket', 'fog_non_object', lorem_file)
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#get_object('fognonbucket', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
||||||
|
AWS[:storage].get_object('fognonbucket', 'fog_non_object')
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#get_object('#{@directory.identity}', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
||||||
|
AWS[:storage].get_object(@directory.identity, 'fog_non_object')
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#head_object('fognonbucket', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
||||||
|
AWS[:storage].head_object('fognonbucket', 'fog_non_object')
|
||||||
|
end
|
||||||
|
|
||||||
|
tests("#head_object('#{@directory.identity}', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
||||||
|
AWS[:storage].head_object(@directory.identity, 'fog_non_object')
|
||||||
end
|
end
|
||||||
|
|
||||||
tests("#delete_object('fognonbucket', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
tests("#delete_object('fognonbucket', 'fog_non_object')").raises(Excon::Errors::NotFound) do
|
||||||
|
|
Loading…
Reference in New Issue