diff --git a/tests/hp/requests/block_storage/volume_tests.rb b/tests/hp/requests/block_storage/volume_tests.rb new file mode 100644 index 000000000..db4def0e2 --- /dev/null +++ b/tests/hp/requests/block_storage/volume_tests.rb @@ -0,0 +1,62 @@ +Shindo.tests('Fog::BlockStorage[:hp] | volume requests', ['hp', 'block_storage']) do + + @volume_format = { + 'status' => String, + 'displayDescription' => String, + 'availabilityZone' => String, + 'displayName' => String, + 'attachments' => [Fog::Nullable::Hash], + 'volumeType' => Fog::Nullable::String, + 'snapshotId' => String, + 'size' => Integer, + 'id' => Integer, + 'createdAt' => String, + 'metadata' => Fog::Nullable::Hash + } + + tests('success') do + + @volume_id = nil + @volume_name = "fogvolumetests" + @volume_desc = @volume_name + " desc" + + tests("#create_volume(#{@volume_name}, #{@volume_desc}, 1)").formats(@volume_format) do + data = Fog::BlockStorage[:hp].create_volume(@volume_name, @volume_desc, 1).body['volume'] + @volume_id = data['id'] + data + end + + #Fog::BlockStorage[:hp].volumes.get(@volume_id).wait_for { ready? } + # + tests("#get_volume_details(#{@volume_id})").formats(@volume_format) do + Fog::BlockStorage[:hp].get_volume_details(@volume_id).body['volume'] + end + + tests('#list_volumes').formats({'volumes' => [@volume_format]}) do + Fog::BlockStorage[:hp].list_volumes.body + end + + #Fog::BlockStorage[:hp].volumes.get(@volume_id).wait_for { ready? } + # + tests("#delete_volume(#{@volume_id})").succeeds do + Fog::BlockStorage[:hp].delete_volume(@volume_id) + end + + # Add attach_volume and detach_volume tests + + end + + tests('failure') do + + tests('#delete_volume(0)').raises(Fog::BlockStorage::HP::NotFound) do + Fog::BlockStorage[:hp].delete_volume(0) + end + + tests('#get_volume_details(0)').raises(Fog::BlockStorage::HP::NotFound) do + Fog::BlockStorage[:hp].get_volume_details(0) + end + + # Add attach_volume and detach_volume tests + end + +end