Sha256: 6ee37fd1fa0377a936fea84f2c6b2884849b93387fadb247d5fc6276eda7a5e6

Contents?: true

Size: 1.38 KB

Versions: 65

Compression:

Stored size: 1.38 KB

Contents

#
# @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] | unplug_pbd request', ['xenserver']) do

  compute = Fog::Compute[:xenserver]
  # Creating a new SR automatically plugs the PBD
  # We need the SR available for this to work, so create it first
  ref = compute.create_sr compute.hosts.first.reference,
                         'FOG TEST SR',
                         'ext',
                         '',
                         { :device => '/dev/sdb' },
                         '0',
                         'user',
                         false,
                         {}
  
  tests('#unplug_pbd') do
    test('unplugged') do
      sr = compute.storage_repositories.find { |sr| sr.name == 'FOG TEST SR' }
      pbd = sr.pbds.first
      compute.unplug_pbd pbd.reference
      pbd.reload
      pbd.currently_attached == false
    end
  end

  tests('The expected options') do
    raises(ArgumentError, 'raises ArgumentError when arguments missing') \
      { compute.unplug_pbd }
  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

Version data entries

65 entries across 65 versions & 6 rubygems

Version Path
fog-1.10.0 tests/xenserver/requests/compute/unplug_pbd_tests.rb
fog-1.9.0 tests/xenserver/requests/compute/unplug_pbd_tests.rb
fog-maestrodev-1.8.0.20130114204828 tests/xenserver/requests/compute/unplug_pbd_tests.rb
fog-maestrodev-1.8.0.20130111070250 tests/xenserver/requests/compute/unplug_pbd_tests.rb
fog-maestrodev-1.8.0.20130109172219 tests/xenserver/requests/compute/unplug_pbd_tests.rb