# # @rubiojr # # Testing this requires a very specific setup: # # I use VirtualBox to virtualize XenServer/XCP and create the XenServer VM using # two virtual disks under the same SATA controller. One of the virtual disks # will be /dev/sdb, used to perform the tests. # Shindo.tests('Fog::Compute[:xenserver] | create_sr request', ['xenserver']) do compute = Fog::Compute[:xenserver] tests('#create_sr "FOG TEST SR" with device /dev/sdb') do test('create an EXT SR') do ref = compute.create_sr compute.hosts.first.reference, 'FOG TEST SR', 'ext', '', { :device => '/dev/sdb' }, '0', 'user', false, {} valid_ref? ref end raises(Fog::XenServer::RequestFailed, 'raise when device in use') do ref = compute.create_sr compute.hosts.first.reference, 'FOG TEST SR', 'ext', '', { :device => '/dev/sdb' }, '0', 'user', false, {} valid_ref? ref end end tests('The expected options') do raises(ArgumentError, 'raises ArgumentError when arguments missing') { compute.create_sr } end # Clean-up compute.storage_repositories.each do |sr| next unless sr.name == 'FOG TEST SR' sr.pbds.each { |pbd| pbd.unplug } sr.destroy end end