1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/rackspace/models/compute_v2/metadata_tests.rb

44 lines
No EOL
1.4 KiB
Ruby

Shindo.tests('Fog::Compute::RackspaceV2 | metadata', ['rackspace']) do
pending if Fog.mocking?
service = Fog::Compute::RackspaceV2.new
test_time = Time.now.to_i.to_s
tests('success') do
begin
@server = service.servers.create(:name => "fog_server_#{test_time}",
:flavor_id => rackspace_test_flavor_id(service),
:image_id => rackspace_test_image_id(service))
@server.wait_for { ready? }
tests('server') do
collection_tests(@server.metadata, {:key => 'my_key', :value => 'my_value'}) do
@server.wait_for { ready? }
end
end
tests('image') do
@image = @server.create_image("fog_image_#{test_time}", :metadata => {:my_key => 'my_value'})
@image.wait_for { ready? }
tests("#all").succeeds do
pending if Fog.mocking? && !mocks_implemented
metadata = @image.metadata.all
my_metadata = metadata.select {|datum| datum.key == 'my_key'}
returns(1) { my_metadata.size }
returns('my_value') {my_metadata[0].value }
end
tests("#get('my_key')").returns('my_value') do
pending if Fog.mocking? && !mocks_implemented
@image.metadata.get('my_key').value
end
end
ensure
@image.destroy if @image
@server.destroy if @server
end
end
end