mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
55 lines
1.6 KiB
Ruby
55 lines
1.6 KiB
Ruby
|
#
|
||
|
# @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
|