mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
449b227f56
Added rackspace/models/storage/file_tests. Added tests for Fog::Storage::Rackspace::File#metadata Added Fog::Rackspace::Storage::File#metadata
64 lines
No EOL
1.7 KiB
Ruby
64 lines
No EOL
1.7 KiB
Ruby
Shindo.tests('Fog::Rackspace::Storage | file', ['rackspace']) do
|
|
|
|
file_attributes = {
|
|
:key => 'fog_file_tests',
|
|
:body => lorem_file
|
|
}
|
|
|
|
directory_attributes = {
|
|
# Add a random suffix to prevent collision
|
|
:key => "fogfilestests-#{rand(65536)}"
|
|
}
|
|
|
|
@directory = Fog::Storage[:rackspace].
|
|
directories.
|
|
create(directory_attributes)
|
|
|
|
model_tests(@directory.files, file_attributes, Fog.mocking?) do
|
|
|
|
tests("#metadata") do
|
|
|
|
tests("#metadata should default to empty").returns({}) do
|
|
@instance.metadata
|
|
end
|
|
|
|
@instance.attributes['X-Object-Meta-Fog-Foo'] = 'foo'
|
|
tests("#metadata should return only metadata attributes").returns({'X-Object-Meta-Fog-Foo' => 'foo'}) do
|
|
@instance.metadata
|
|
end
|
|
@instance.attributes.delete('X-Object-Meta-Fog-Foo')
|
|
|
|
@instance.attributes['X-Object-Meta-Fog-Foo'] = 'foo'
|
|
tests("#metadata= should update metadata").returns('bar') do
|
|
@instance.metadata = {'X-Object-Meta-Fog-Foo' => 'bar'}
|
|
@instance.attributes['X-Object-Meta-Fog-Foo']
|
|
end
|
|
|
|
tests("#metadata= should not blow up on nil") do
|
|
@instance.metadata = nil
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
model_tests(@directory.files, file_attributes.merge('X-Object-Meta-Fog-Foo' => 'foo'), Fog.mocking?) do
|
|
|
|
tests("#save") do
|
|
|
|
tests("#save should merge metadata").returns('foo') do
|
|
@instance.metadata['X-Object-Meta-Fog-Foo']
|
|
end
|
|
|
|
@instance.attributes['X-Object-Meta-Fog-Foo'] = nil
|
|
tests("#save should remove empty metadata").returns(false) do
|
|
@instance.save
|
|
@instance.attributes.has_key?('X-Object-Meta-Fog-Foo')
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@directory.destroy
|
|
end |