You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2011/01/05 17:00:09 UTC

[PATCH core 3/3] Added Cucumber features and mock data for new RHEV-M driver

From: Michal Fojtik <mf...@redhat.com>

---
 tests/rhevm/hardware_profiles.feature              |   34 ++++++++
 tests/rhevm/images.feature                         |   30 +++++++
 tests/rhevm/instances.feature                      |   66 ++++++++++++++++
 tests/rhevm/realms.feature                         |   25 ++++++
 .../step_definitions/hardware_profiles_steps.rb    |   82 ++++++++++++++++++++
 tests/rhevm/step_definitions/images_steps.rb       |   12 +++
 tests/rhevm/step_definitions/instances_steps.rb    |   55 +++++++++++++
 .../step_definitions/storage_volumes_steps.rb      |    4 +
 tests/rhevm/storage_volumes.feature                |   28 +++++++
 tests/rhevm/support/env.rb                         |   62 +++++++++++++++
 .../18ec06387f4e0a980cbbbbedeee85d71.fixture       |    1 +
 .../32c55dd505856722696e5923cbde59b7.fixture       |    1 +
 .../530d1fad492a210b11e64a6714645727.fixture       |    1 +
 .../64ff6e46deac14db514471f2f0d1e48c.fixture       |    1 +
 .../7e8842773bdafb5d319076e1c2d28adb.fixture       |    1 +
 .../7fbe6810c9082b32ba685ad9afe7804c.fixture       |    1 +
 .../812b32fd276b1d09f3238088bc3a69a6.fixture       |    1 +
 .../9361e31db701da1105c6adb528e6dc61.fixture       |    1 +
 .../982d14009191fe725d6a18a96f397c83.fixture       |    1 +
 .../9b71abd5067c1079052d4c88f81f7f81.fixture       |    1 +
 .../b3374f5480b46b5751c5ae508b9c4914.fixture       |    1 +
 .../bebe17c656cd81972487b80da37f002e.fixture       |    1 +
 .../c02f885ab565fc077632ddda1b92db80.fixture       |    1 +
 .../c9a5c35d6c00ea0207e2faa354504a41.fixture       |    1 +
 .../d0a9e8781f9f06027b818c4cb6f612ae.fixture       |    1 +
 .../d281d71e7c066ae78c4a00da2066149a.fixture       |    1 +
 .../ee8de9dfd3d696e5bfc1537a6405aab1.fixture       |    1 +
 .../fb8424ef5b5bcaa21c59e124fe316c1c.fixture       |    1 +
 28 files changed, 416 insertions(+), 0 deletions(-)
 create mode 100644 tests/rhevm/hardware_profiles.feature
 create mode 100644 tests/rhevm/images.feature
 create mode 100644 tests/rhevm/instances.feature
 create mode 100644 tests/rhevm/realms.feature
 create mode 100644 tests/rhevm/step_definitions/hardware_profiles_steps.rb
 create mode 100644 tests/rhevm/step_definitions/images_steps.rb
 create mode 100644 tests/rhevm/step_definitions/instances_steps.rb
 create mode 100644 tests/rhevm/step_definitions/storage_volumes_steps.rb
 create mode 100644 tests/rhevm/storage_volumes.feature
 create mode 100644 tests/rhevm/support/env.rb
 create mode 100644 tests/rhevm/support/fixtures/18ec06387f4e0a980cbbbbedeee85d71.fixture
 create mode 100644 tests/rhevm/support/fixtures/32c55dd505856722696e5923cbde59b7.fixture
 create mode 100644 tests/rhevm/support/fixtures/530d1fad492a210b11e64a6714645727.fixture
 create mode 100644 tests/rhevm/support/fixtures/64ff6e46deac14db514471f2f0d1e48c.fixture
 create mode 100644 tests/rhevm/support/fixtures/7e8842773bdafb5d319076e1c2d28adb.fixture
 create mode 100644 tests/rhevm/support/fixtures/7fbe6810c9082b32ba685ad9afe7804c.fixture
 create mode 100644 tests/rhevm/support/fixtures/812b32fd276b1d09f3238088bc3a69a6.fixture
 create mode 100644 tests/rhevm/support/fixtures/9361e31db701da1105c6adb528e6dc61.fixture
 create mode 100644 tests/rhevm/support/fixtures/982d14009191fe725d6a18a96f397c83.fixture
 create mode 100644 tests/rhevm/support/fixtures/9b71abd5067c1079052d4c88f81f7f81.fixture
 create mode 100644 tests/rhevm/support/fixtures/b3374f5480b46b5751c5ae508b9c4914.fixture
 create mode 100644 tests/rhevm/support/fixtures/bebe17c656cd81972487b80da37f002e.fixture
 create mode 100644 tests/rhevm/support/fixtures/c02f885ab565fc077632ddda1b92db80.fixture
 create mode 100644 tests/rhevm/support/fixtures/c9a5c35d6c00ea0207e2faa354504a41.fixture
 create mode 100644 tests/rhevm/support/fixtures/d0a9e8781f9f06027b818c4cb6f612ae.fixture
 create mode 100644 tests/rhevm/support/fixtures/d281d71e7c066ae78c4a00da2066149a.fixture
 create mode 100644 tests/rhevm/support/fixtures/ee8de9dfd3d696e5bfc1537a6405aab1.fixture
 create mode 100644 tests/rhevm/support/fixtures/fb8424ef5b5bcaa21c59e124fe316c1c.fixture

diff --git a/tests/rhevm/hardware_profiles.feature b/tests/rhevm/hardware_profiles.feature
new file mode 100644
index 0000000..8fae42f
--- /dev/null
+++ b/tests/rhevm/hardware_profiles.feature
@@ -0,0 +1,34 @@
+Feature: Working with RHEV-M hardware profiles 
+
+  Scenario: Get list of available hardware profiles
+    Given I enter hardware_profiles collection
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain 2 hardware_profiles
+    And name of these hardware_profiles should be
+      | SERVER  |
+      | DESKTOP |
+    And range properties should be
+      | memory  |
+      | cpu     |
+      | storage |
+    And fixed properties should be
+      | architecture |
+    
+
+  Scenario: Get details about SERVER hardware_profile
+    Given I enter hardware_profiles collection
+    And I choose hardware_profile with id SERVER
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one hardware_profile
+    And name of this hardware_profile should be SERVER
+    And range properties should have default, first and last values:
+      |   memory  |   512   |   512   |   32768   |
+      |   cpu     |   1     |   1     |   4       |
+      |   storage |   1     |   1     |   102400  |
+    And range properties should have param for instance create operation
diff --git a/tests/rhevm/images.feature b/tests/rhevm/images.feature
new file mode 100644
index 0000000..f52dba0
--- /dev/null
+++ b/tests/rhevm/images.feature
@@ -0,0 +1,30 @@
+Feature: Working with RHEV-M images
+
+  Scenario: Get list of available images
+    Given I enter images collection
+    And I am authorized with my credentials
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain 3 images
+    And name of these images should be
+      | Blank |
+      | DamnSmallLinux |
+      | Fedora14Live |
+    And each image should have properties set to
+      | architecture |  x86_64                     |
+      | owner_id     |  admin@rhevm.brq.redhat.com |
+      | state        |  OK                         |
+
+
+  Scenario: Get details about Fedora image
+    Given I enter images collection
+    And I am authorized with my credentials
+    And I choose image with id f7c71c82-ad3f-4b08-b741-db37a40429b4
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one image
+    And attribute id should be set to f7c71c82-ad3f-4b08-b741-db37a40429b4
diff --git a/tests/rhevm/instances.feature b/tests/rhevm/instances.feature
new file mode 100644
index 0000000..c9063c9
--- /dev/null
+++ b/tests/rhevm/instances.feature
@@ -0,0 +1,66 @@
+Feature: Working with RHEV-M instances
+
+  Scenario: Get list of all instances
+    Given I enter instances collection
+    And I am authorized with my credentials
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain 5 instances
+    And name of these instances should be
+      |  apitest1  |
+      |  bababab   |
+      |  test1     |
+      |  test5     |
+      | TestPool-1 |
+    And each instance should have properties set to
+      | owner_id     |  admin@rhevm.brq.redhat.com |
+
+
+  Scenario: Get details about bababab instance
+    Given I enter instances collection
+    And I am authorized with my credentials
+    And I choose instance with id 5b2555c9-73f1-46dc-b379-a1f6dd382c86
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one instance
+    And attribute id should be set to 5b2555c9-73f1-46dc-b379-a1f6dd382c86
+    And instance should have launch_time set to valid time
+    And instance should be in RUNNING state
+    And instance should have defined actions
+      | reboot |
+      | stop   |
+    And instance should have set of public_addresses 
+      | 10.34.2.121      |
+    And instance should have linked valid
+      | realm            |
+      | image            |
+      | hardware_profile |
+
+  Scenario: Stop bababab instance
+    Given I enter instances collection
+    And I am authorized with my credentials
+    And I choose instance with id 5b2555c9-73f1-46dc-b379-a1f6dd382c86
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one instance
+    And attribute id should be set to 5b2555c9-73f1-46dc-b379-a1f6dd382c86
+    Then I want to stop this instance
+    And I follow stop link in actions
+    And this instance should be in STOPPED state
+
+  Scenario: Start test1 instance
+    Given I enter instances collection
+    And I am authorized with my credentials
+    And I choose instance with id 5b602d1a-4db0-4ab0-8842-5f3dfb551ba6
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one instance
+    And attribute id should be set to 5b602d1a-4db0-4ab0-8842-5f3dfb551ba6
+    Then I want to start this instance
+    And I follow start link in actions
+    And this instance should be in RUNNING state
+
diff --git a/tests/rhevm/realms.feature b/tests/rhevm/realms.feature
new file mode 100644
index 0000000..42a2abb
--- /dev/null
+++ b/tests/rhevm/realms.feature
@@ -0,0 +1,25 @@
+Feature: Working with RHEV-M realms
+
+  Scenario: Get list of available realms
+    Given I enter realms collection
+    And I am authorized with my credentials
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain 1 realms
+    And name of these realms should be
+      | Brno |
+    And each realm should have properties set to
+      | state |  AVAILABLE                     |
+
+  Scenario: Get details about Brno realm
+    Given I enter realms collection
+    And I am authorized with my credentials
+    And I choose realm with id 0
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one realm
+    And attribute id should be set to 0
diff --git a/tests/rhevm/step_definitions/hardware_profiles_steps.rb b/tests/rhevm/step_definitions/hardware_profiles_steps.rb
new file mode 100644
index 0000000..f463260
--- /dev/null
+++ b/tests/rhevm/step_definitions/hardware_profiles_steps.rb
@@ -0,0 +1,82 @@
+Given /^I enter ([A-Za-z_]+) collection$/ do |collection|
+  @current_collection = collection
+  @current_collection_url = "/api/%s" % collection.strip
+end
+
+Given /^I am authorized with my credentials$/ do
+  authorize CONFIG[:username], CONFIG[:password]
+end
+
+When /^I request ([A-Z]+) response$/ do |format|
+  if format == 'HTML'
+    header 'Accept', 'text/html'
+  end
+  if format == 'XML'
+    header 'Accept', 'application/xml'
+  end
+  get @current_collection_url, {}
+  last_response.status == 200
+end
+
+Then /^result should be valid ([A-Z]+)$/ do |format|
+  if format == 'HTML'
+    last_response.body.should =~ /^\<\!DOCTYPE html PUBLIC/
+  else
+    last_response.body.should_not =~ /^\<\!DOCTYPE html PUBLIC/
+  end
+end
+
+Then /^result should contain (\d+) ([A-Za-z_]+)$/ do |count, collection|
+  (xml/"/#{collection}/#{collection.gsub(/s$/, '')}").size.should == count.to_i
+end
+
+Then /^name of these ([A-Za-z_]+) should be$/ do |collection, table|
+  names = table.raw.flatten
+  (xml/"/#{collection}/#{collection.gsub(/s$/, '')}/name").each do |name|
+    names.delete(name.text)
+  end
+  names.should be_empty
+end
+
+Then /^([a-z]+) properties should be$/ do |type, table|
+  properties = table.raw.flatten
+  (xml/"hardware_profiles/hardware_profile/property[@kind='#{type}']").each do |name|
+    properties.delete(name[:name])
+  end
+  properties.should be_empty
+end
+
+Given /^I choose ([a-z_]+) with ([a-z_]+) ([0-9a-zA-Z_-]+)$/ do |collection, property, value|
+  @current_collection_url += "/%s" % value if property == 'id'
+end
+
+Then /^result should contain one ([A-Za-z_]+)$/ do |item|
+  (xml/"/#{item}").size.should == 1
+end
+
+Then /^([a-z_]+) of this ([A-Za-z_]+) should be ([A-Za-z_]+)$/ do |property, object, value|
+  (xml/"/#{object}/#{property}").text.strip.should == value.strip
+end
+
+Then /^range properties should have default, first and last values:$/ do |table|
+  table.raw.each do |property|
+    (xml/"/hardware_profile/property[@name='#{property[0]}']").first.should_not be_nil
+    (xml/"/hardware_profile/property[@name='#{property[0]}']").first[:value].should_not be_nil
+    (xml/"/hardware_profile/property[@name='#{property[0]}']").first[:value].should == property[1]
+    (xml/"/hardware_profile/property[@name='#{property[0]}']/range").first[:first].should_not be_nil
+    (xml/"/hardware_profile/property[@name='#{property[0]}']/range").first[:first].should == property[2]
+    (xml/"/hardware_profile/property[@name='#{property[0]}']/range").first[:last].should_not be_nil
+    (xml/"/hardware_profile/property[@name='#{property[0]}']/range").first[:last].should == property[3]
+  end
+end
+
+Then /^range properties should have param for instance create operation$/ do
+  (xml/"hardware_profile/*/param").length.should > 0
+  (xml/"/hardware_profile/*/param").each do |param|
+    param[:href].should_not be_nil
+    param[:method].should == "post"
+    param[:name].should_not be_nil
+    param[:operation].should == "create"
+  end
+end
+
diff --git a/tests/rhevm/step_definitions/images_steps.rb b/tests/rhevm/step_definitions/images_steps.rb
new file mode 100644
index 0000000..7a37a08
--- /dev/null
+++ b/tests/rhevm/step_definitions/images_steps.rb
@@ -0,0 +1,12 @@
+Then /^each ([A-Za-z_]+) should have properties set to$/ do |object, table|
+  table.raw.each do |property|
+    (xml/"*/#{object}/#{property[0]}").each do |element|
+      element.text.should == property[1]
+    end
+  end
+end
+
+Then /^attribute ([a-z_]+) should be set to ([0-9A-Za-z_-]+)$/ do |property, value|
+  (xml/"/#{@current_collection.gsub(/s$/, '')}").first[property.to_sym] == value
+end
+
diff --git a/tests/rhevm/step_definitions/instances_steps.rb b/tests/rhevm/step_definitions/instances_steps.rb
new file mode 100644
index 0000000..99a229e
--- /dev/null
+++ b/tests/rhevm/step_definitions/instances_steps.rb
@@ -0,0 +1,55 @@
+Then /^instance should have launch_time set to valid time$/ do
+  time = (xml/'instance/launch_time').first.text
+  lambda { Date.parse(time) }.should_not raise_error
+end
+
+Then /^instance should be in ([A-Z]+) state$/ do |state|
+  (xml/'instance/state').first.text.should == state
+end
+
+Then /^instance should have defined actions$/ do |table|
+  actions = table.raw.flatten
+  (xml/'instance/actions/link').each do |action|
+    actions.delete(action[:rel])
+  end
+  actions.should be_empty
+end
+
+Then /^instance should have linked valid$/ do |table|
+  original_xml = xml.dup
+  table.raw.flatten.each do |link|
+    (original_xml/"instance/#{link}").should_not be_empty
+    (original_xml/"instance/#{link}").first[:method].should_not nil
+    (original_xml/"instance/#{link}").first[:href].should_not nil
+    get (original_xml/"instance/#{link}").first[:href], {}
+    last_response.status.should == 200
+  end
+end
+
+Then /^instance should have set of public_addresses$/ do |table|
+  addresses = table.raw.flatten
+  (xml/'instance/public_addresses/address').each do |address|
+    addresses.delete(address.text)
+  end
+  addresses.should be_empty
+end
+
+Then /^I want to ([a-z]+) this instance$/ do |action|
+  get @current_collection_url
+end
+
+Then /^I follow ([a-z]+) link in actions$/ do |action|
+  link = (xml/"instance/actions/link[@rel='#{action}']").first
+  @instance_id = (xml/'instance').first[:id]
+  if link[:method].eql?('post')
+    post link[:href]
+  end
+  if link[:method].eql?('delete')
+    delete link[:href]
+  end
+end
+
+Then /^this instance should be in ([A-Z]+) state$/ do |state|
+  last_response.status.should == 302
+end
+
diff --git a/tests/rhevm/step_definitions/storage_volumes_steps.rb b/tests/rhevm/step_definitions/storage_volumes_steps.rb
new file mode 100644
index 0000000..258f6b5
--- /dev/null
+++ b/tests/rhevm/step_definitions/storage_volumes_steps.rb
@@ -0,0 +1,4 @@
+Then /^([a-z_]+) should have ([a-z_]+) set to$/ do |item, property, table|
+  (xml/"/#{item}/#{property}").first.text.should == table.raw.flatten.first
+end
+
diff --git a/tests/rhevm/storage_volumes.feature b/tests/rhevm/storage_volumes.feature
new file mode 100644
index 0000000..a6b08f0
--- /dev/null
+++ b/tests/rhevm/storage_volumes.feature
@@ -0,0 +1,28 @@
+Feature: Working with RHEV-M storage volumes
+
+  Scenario: Get list of available storage volumes
+    Given I enter storage_volumes collection
+    And I am authorized with my credentials
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain 2 storage_volumes
+    And name of these storage_volumes should be
+      |  isos |
+      |  windows |
+
+  Scenario: Get details about windows storage volume
+    Given I enter storage_volumes collection
+    And I am authorized with my credentials
+    And I choose storage_volume with id abbc1a9e-4a91-416e-9f62-a180d88f3825
+    When I request HTML response
+    Then result should be valid HTML
+    When I request XML response
+    Then result should be valid XML
+    And result should contain one storage_volume
+    And attribute id should be set to abbc1a9e-4a91-416e-9f62-a180d88f3825
+    And storage_volume should have capacity set to
+      | 194560.0 |
+    And storage_volume should have device set to
+      | 192.168.1.10:/RHEV |
diff --git a/tests/rhevm/support/env.rb b/tests/rhevm/support/env.rb
new file mode 100644
index 0000000..4efedfb
--- /dev/null
+++ b/tests/rhevm/support/env.rb
@@ -0,0 +1,62 @@
+SERVER_DIR = File::expand_path(File::join(File::dirname(__FILE__), "../../../server"))
+Dir.chdir(SERVER_DIR)
+
+require 'rubygems'
+require 'nokogiri'
+require '../server/server'
+require 'rack/test'
+
+Sinatra::Application.set :environment, :test
+Sinatra::Application.set :root, SERVER_DIR
+
+CONFIG = {
+  :username => 'admin@rhevm.brq.redhat.com',
+  :password => 'Redhat01'
+}
+
+ENV['RACK_ENV'] = 'test'
+
+
+World do
+
+  include Rack::Test::Methods
+
+  module Rack
+    module Test
+      class Session
+        def headers
+          @headers
+        end
+      end
+    end
+    class MockSession
+      def set_last_response(response)
+        @last_response = response
+      end
+    end
+  end
+
+  def app
+    @app = Rack::Builder.new do
+      set :environment => :development
+      set :loggining => true
+      set :raise_errors => true
+      set :show_exceptions => true
+      run Sinatra::Application
+    end
+  end
+
+  def xml
+    Nokogiri::XML(last_response.body)
+  end
+
+
+
+  Before do
+    unless @no_header
+      header 'Accept', 'application/xml;q=9'
+    end
+  end
+
+end
+
diff --git a/tests/rhevm/support/fixtures/18ec06387f4e0a980cbbbbedeee85d71.fixture b/tests/rhevm/support/fixtures/18ec06387f4e0a980cbbbbedeee85d71.fixture
new file mode 100644
index 0000000..5b28276
--- /dev/null
+++ b/tests/rhevm/support/fixtures/18ec06387f4e0a980cbbbbedeee85d71.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/nics","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<nics>\n    <nic id=\"4b31691a-d325-4907-86a7-b779a86cad7a\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/nics/4b31691a-d325-4907-86a7-b779a86cad7a\">\n        <name>nic1</name>\n        <vm id=\"f159bbf5-ecb5-40ad-acea-040096f916e7\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:13\"/>\n    </nic>\n</nics>\n"}]
diff --git a/tests/rhevm/support/fixtures/32c55dd505856722696e5923cbde59b7.fixture b/tests/rhevm/support/fixtures/32c55dd505856722696e5923cbde59b7.fixture
new file mode 100644
index 0000000..0250d49
--- /dev/null
+++ b/tests/rhevm/support/fixtures/32c55dd505856722696e5923cbde59b7.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/nics","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<nics>\n    <nic id=\"838bad06-bdeb-4c0c-a310-f42ca1254c69\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/nics/838bad06-bdeb-4c0c-a310-f42ca1254c69\">\n        <name>nic1</name>\n        <vm id=\"080d18f9-6832-4dca-9efb-63573aef7c12\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:1c\"/>\n    </nic>\n</nics>\n"}]
diff --git a/tests/rhevm/support/fixtures/530d1fad492a210b11e64a6714645727.fixture b/tests/rhevm/support/fixtures/530d1fad492a210b11e64a6714645727.fixture
new file mode 100644
index 0000000..d78d595
--- /dev/null
+++ b/tests/rhevm/support/fixtures/530d1fad492a210b11e64a6714645727.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/suspend","post",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<action id=\"87a841ce-6132-45c9-bfa3-768299e7ab26\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/suspend/87a841ce-6132-45c9-bfa3-768299e7ab26\">\n    <status>COMPLETE</status>\n    <link rel=\"parent\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86\"/>\n    <link rel=\"replay\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/suspend\"/>\n</action>\n"}]
diff --git a/tests/rhevm/support/fixtures/64ff6e46deac14db514471f2f0d1e48c.fixture b/tests/rhevm/support/fixtures/64ff6e46deac14db514471f2f0d1e48c.fixture
new file mode 100644
index 0000000..55deb74
--- /dev/null
+++ b/tests/rhevm/support/fixtures/64ff6e46deac14db514471f2f0d1e48c.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<api>\n    <link rel=\"capabilities\" href=\"/rhevm-api-powershell/capabilities/\"/>\n    <link rel=\"clusters\" href=\"/rhevm-api-powershell/clusters/\"/>\n    <link rel=\"clusters/search\" href=\"/rhevm-api-powershell/clusters/?search={query}\"/>\n    <link rel=\"datacenters\" href=\"/rhevm-api-powershell/datacenters/\"/>\n    <link rel=\"datacenters/search\" href=\"/rhevm-api-powershell/datacenters/?search={query}\"/>\n    <link rel=\"hosts\" href=\"/rhevm-api-powershell/hosts/\"/>\n    <link rel=\"hosts/search\" href=\"/rhevm-api-powershell/hosts/?search={query}\"/>\n    <link rel=\"networks\" href=\"/rhevm-api-powershell/networks/\"/>\n    <link rel=\"roles\" href=\"/rhevm-api-powershell/roles/\"/>\n    <link rel=\"storagedomains\" href=\"/rhevm-api-powershell/storagedomains/\"/>\n    <link rel=\"st!
 oragedomains/search\" href=\"/rhevm-api-powershell/storagedomains/?search={query}\"/>\n    <link rel=\"tags\" href=\"/rhevm-api-powershell/tags/\"/>\n    <link rel=\"templates\" href=\"/rhevm-api-powershell/templates/\"/>\n    <link rel=\"templates/search\" href=\"/rhevm-api-powershell/templates/?search={query}\"/>\n    <link rel=\"users\" href=\"/rhevm-api-powershell/users/\"/>\n    <link rel=\"users/search\" href=\"/rhevm-api-powershell/users/?search={query}\"/>\n    <link rel=\"vmpools\" href=\"/rhevm-api-powershell/vmpools/\"/>\n    <link rel=\"vmpools/search\" href=\"/rhevm-api-powershell/vmpools/?search={query}\"/>\n    <link rel=\"vms\" href=\"/rhevm-api-powershell/vms/\"/>\n    <link rel=\"vms/search\" href=\"/rhevm-api-powershell/vms/?search={query}\"/>\n    <summary>\n        <vms>\n            <total>5</total>\n            <active>1</active>\n        </vms>\n        <hosts>\n            <total>1</total>\n            <active>1</active>\n        </hosts>\n        <!
 users>\n            <total>1</total>\n            <active>0</active>\n        </users>\n        <storage_domains>\n            <total>2</total>\n            <active>2</active>\n        </storage_domains>\n    </summary>\n</api>\n"}]
diff --git a/tests/rhevm/support/fixtures/7e8842773bdafb5d319076e1c2d28adb.fixture b/tests/rhevm/support/fixtures/7e8842773bdafb5d319076e1c2d28adb.fixture
new file mode 100644
index 0000000..1070e30
--- /dev/null
+++ b/tests/rhevm/support/fixtures/7e8842773bdafb5d319076e1c2d28adb.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/templates/","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<templates>\n    <template id=\"00000000-0000-0000-0000-000000000000\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000\">\n        <name>Blank</name>\n        <description>Blank template</description>\n        <actions>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000/export\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000/disks\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000/nics\"/>\n        <type>DESKTOP</type>\n        <status>OK</status>\n        <m!
 emory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"Unassigned\">\n            <boot dev=\"hd\"/>\n        </os>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <creation_time>2008-04-01T00:00:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <display>\n            <type>VNC</type>\n            <monitors>1</monitors>\n        </display>\n        <stateless>false</stateless>\n    </template>\n    <template id=\"da43a0c8-036f-497c-992e-08a69a6f0f7b\" href=\"/rhevm-api-powershell/templates/da43a0c8-036f-497c-992e-08a69a6f0f7b\">\n        <name>DamnSmallLinux</name>\n        <description>Damn Small Linux VM</description>\n        <actions>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/templates/da43a0c8-036f-497c-992e-08a69a6f0f7b/export\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/templates/da43a0c8-036f!
 -497c-992e-08a69a6f0f7b/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/templates/da43a0c8-036f-497c-992e-08a69a6f0f7b/disks\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/templates/da43a0c8-036f-497c-992e-08a69a6f0f7b/nics\"/>\n        <type>SERVER</type>\n        <status>OK</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"hd\"/>\n        </os>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <creation_time>2010-12-20T18:18:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <display>\n            <type>VNC</type>\n            <monitors>1</monitors>\n        </display>\n        <stateless>false</stateless>\n    </template>\n    <template id=\"f7c71c82-ad3f-4b08-b741-db37a40429b4\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4\">\n  !
       <name>Fedora14Live</name>\n        <description>Fedora Live VM</d!
 escription>\n        <actions>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4/export\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4/disks\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4/nics\"/>\n        <type>DESKTOP</type>\n        <status>OK</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"cdrom\"/>\n        </os>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <creation_time>2010-12-20T18:09:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <display>\n            <type>VNC</!
 type>\n            <monitors>1</monitors>\n        </display>\n        <stateless>false</stateless>\n    </template>\n</templates>\n"}]
diff --git a/tests/rhevm/support/fixtures/7fbe6810c9082b32ba685ad9afe7804c.fixture b/tests/rhevm/support/fixtures/7fbe6810c9082b32ba685ad9afe7804c.fixture
new file mode 100644
index 0000000..ae843f4
--- /dev/null
+++ b/tests/rhevm/support/fixtures/7fbe6810c9082b32ba685ad9afe7804c.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/datacenters/98f3433b-6b93-46d0-8dd1-d6a9bab4abcd","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<data_center id=\"98f3433b-6b93-46d0-8dd1-d6a9bab4abcd\" href=\"/rhevm-api-powershell/datacenters/98f3433b-6b93-46d0-8dd1-d6a9bab4abcd\">\n    <name>Brno</name>\n    <link rel=\"files\" href=\"/rhevm-api-powershell/datacenters/98f3433b-6b93-46d0-8dd1-d6a9bab4abcd/files\"/>\n    <link rel=\"storagedomains\" href=\"/rhevm-api-powershell/datacenters/98f3433b-6b93-46d0-8dd1-d6a9bab4abcd/storagedomains\"/>\n    <storage_type>NFS</storage_type>\n    <version minor=\"2\" major=\"2\"/>\n    <supported_versions>\n        <version minor=\"2\" major=\"2\"/>\n    </supported_versions>\n    <status>UP</status>\n</data_center>\n"}]
diff --git a/tests/rhevm/support/fixtures/812b32fd276b1d09f3238088bc3a69a6.fixture b/tests/rhevm/support/fixtures/812b32fd276b1d09f3238088bc3a69a6.fixture
new file mode 100644
index 0000000..0ed8fb9
--- /dev/null
+++ b/tests/rhevm/support/fixtures/812b32fd276b1d09f3238088bc3a69a6.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/disks","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<disks>\n    <disk id=\"6ec9855e-a1ce-4375-b724-99b734e7adda\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/disks/6ec9855e-a1ce-4375-b724-99b734e7adda\">\n        <description>_TestPool-1_12/21/2010 2:00:31 PM</description>\n        <vm id=\"f159bbf5-ecb5-40ad-acea-040096f916e7\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7\"/>\n        <size>458752</size>\n        <type>SYSTEM</type>\n        <status>OK</status>\n        <interface>VIRTIO</interface>\n        <format>COW</format>\n        <sparse>true</sparse>\n        <bootable>true</bootable>\n    </disk>\n</disks>\n"}]
diff --git a/tests/rhevm/support/fixtures/9361e31db701da1105c6adb528e6dc61.fixture b/tests/rhevm/support/fixtures/9361e31db701da1105c6adb528e6dc61.fixture
new file mode 100644
index 0000000..83186bc
--- /dev/null
+++ b/tests/rhevm/support/fixtures/9361e31db701da1105c6adb528e6dc61.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/disks","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<disks/>\n"}]
diff --git a/tests/rhevm/support/fixtures/982d14009191fe725d6a18a96f397c83.fixture b/tests/rhevm/support/fixtures/982d14009191fe725d6a18a96f397c83.fixture
new file mode 100644
index 0000000..94ccbce
--- /dev/null
+++ b/tests/rhevm/support/fixtures/982d14009191fe725d6a18a96f397c83.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/nics","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<nics>\n    <nic id=\"82e6332c-ca3b-435c-a50c-8b23a36a8362\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/nics/82e6332c-ca3b-435c-a50c-8b23a36a8362\">\n        <name>nic1</name>\n        <vm id=\"5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:1a\"/>\n    </nic>\n    <nic id=\"fb9bf682-350f-456b-8685-d85fe3457f73\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/nics/fb9bf682-350f-456b-8685-d85fe3457f73\">\n        <name>nic2</name>\n        <vm id!
 =\"5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:1b\"/>\n    </nic>\n</nics>\n"}]
diff --git a/tests/rhevm/support/fixtures/9b71abd5067c1079052d4c88f81f7f81.fixture b/tests/rhevm/support/fixtures/9b71abd5067c1079052d4c88f81f7f81.fixture
new file mode 100644
index 0000000..2ff7e3c
--- /dev/null
+++ b/tests/rhevm/support/fixtures/9b71abd5067c1079052d4c88f81f7f81.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/disks","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<disks>\n    <disk id=\"8b04302b-fd03-4c23-937c-3f5530ec3222\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/disks/8b04302b-fd03-4c23-937c-3f5530ec3222\">\n        <description>_bababab_12/21/2010 12:08:31 PM</description>\n        <vm id=\"5b2555c9-73f1-46dc-b379-a1f6dd382c86\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86\"/>\n        <size>262144</size>\n        <type>SYSTEM</type>\n        <status>OK</status>\n        <interface>VIRTIO</interface>\n        <format>COW</format>\n        <sparse>true</sparse>\n        <bootable>true</bootable>\n    </disk>\n</disks>\n"}]
diff --git a/tests/rhevm/support/fixtures/b3374f5480b46b5751c5ae508b9c4914.fixture b/tests/rhevm/support/fixtures/b3374f5480b46b5751c5ae508b9c4914.fixture
new file mode 100644
index 0000000..482c045
--- /dev/null
+++ b/tests/rhevm/support/fixtures/b3374f5480b46b5751c5ae508b9c4914.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/start","post",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<action id=\"4e7fd8aa-724c-4cef-9807-e815281ca219\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/start/4e7fd8aa-724c-4cef-9807-e815281ca219\">\n    <status>COMPLETE</status>\n    <link rel=\"parent\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\"/>\n    <link rel=\"replay\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/start\"/>\n</action>\n"}]
diff --git a/tests/rhevm/support/fixtures/bebe17c656cd81972487b80da37f002e.fixture b/tests/rhevm/support/fixtures/bebe17c656cd81972487b80da37f002e.fixture
new file mode 100644
index 0000000..01b8c7f
--- /dev/null
+++ b/tests/rhevm/support/fixtures/bebe17c656cd81972487b80da37f002e.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/nics","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<nics>\n    <nic id=\"cb6ca838-356c-4aae-94e8-fdc128752145\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/nics/cb6ca838-356c-4aae-94e8-fdc128752145\">\n        <name>nic1</name>\n        <vm id=\"d624520d-edc7-4071-a576-2aee5840a510\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:0e\"/>\n    </nic>\n</nics>\n"}]
diff --git a/tests/rhevm/support/fixtures/c02f885ab565fc077632ddda1b92db80.fixture b/tests/rhevm/support/fixtures/c02f885ab565fc077632ddda1b92db80.fixture
new file mode 100644
index 0000000..d278ae3
--- /dev/null
+++ b/tests/rhevm/support/fixtures/c02f885ab565fc077632ddda1b92db80.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/nics","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<nics>\n    <nic id=\"16134166-d85c-4423-ae7c-49a6abd13f4a\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/nics/16134166-d85c-4423-ae7c-49a6abd13f4a\">\n        <name>nic1</name>\n        <vm id=\"5b2555c9-73f1-46dc-b379-a1f6dd382c86\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86\"/>\n        <network id=\"f4d6c117-afbb-4db2-bf82-c5d388b4b323\" href=\"/rhevm-api-powershell/networks/f4d6c117-afbb-4db2-bf82-c5d388b4b323\"/>\n        <type>PV</type>\n        <mac address=\"00:1a:4a:a8:01:0f\"/>\n    </nic>\n</nics>\n"}]
diff --git a/tests/rhevm/support/fixtures/c9a5c35d6c00ea0207e2faa354504a41.fixture b/tests/rhevm/support/fixtures/c9a5c35d6c00ea0207e2faa354504a41.fixture
new file mode 100644
index 0000000..16ed995
--- /dev/null
+++ b/tests/rhevm/support/fixtures/c9a5c35d6c00ea0207e2faa354504a41.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/disks","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<disks>\n    <disk id=\"603dc180-c28e-4116-826c-99e57d12a6ad\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/disks/603dc180-c28e-4116-826c-99e57d12a6ad\">\n        <description>_test5_12/20/2010 6:34:19 PM</description>\n        <vm id=\"d624520d-edc7-4071-a576-2aee5840a510\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510\"/>\n        <size>262144</size>\n        <type>SYSTEM</type>\n        <status>OK</status>\n        <interface>VIRTIO</interface>\n        <format>COW</format>\n        <sparse>true</sparse>\n        <bootable>true</bootable>\n    </disk>\n</disks>\n"}]
diff --git a/tests/rhevm/support/fixtures/d0a9e8781f9f06027b818c4cb6f612ae.fixture b/tests/rhevm/support/fixtures/d0a9e8781f9f06027b818c4cb6f612ae.fixture
new file mode 100644
index 0000000..3b09bc4
--- /dev/null
+++ b/tests/rhevm/support/fixtures/d0a9e8781f9f06027b818c4cb6f612ae.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/storagedomains/","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<storage_domains>\n    <storage_domain id=\"6cedd7f9-2da9-4c99-8735-c9a1955db1f3\" href=\"/rhevm-api-powershell/storagedomains/6cedd7f9-2da9-4c99-8735-c9a1955db1f3\">\n        <name>isos</name>\n        <type>ISO</type>\n        <storage>\n            <type>NFS</type>\n            <address>deltacloud.lab.eng.brq.redhat.com</address>\n            <path>/RHEV</path>\n        </storage>\n        <available>1073741824</available>\n        <used>5368709120</used>\n        <committed>0</committed>\n    </storage_domain>\n    <storage_domain id=\"abbc1a9e-4a91-416e-9f62-a180d88f3825\" href=\"/rhevm-api-powershell/storagedomains/abbc1a9e-4a91-416e-9f62-a180d88f3825\">\n        <name>windows</name>\n        <type>DATA</type>\n        <master>true</master>\n        <storage>\n            <type>NFS<!
 /type>\n            <address>192.168.1.10</address>\n            <path>/RHEV</path>\n        </storage>\n        <available>226559524864</available>\n        <used>22548578304</used>\n        <committed>7516192768</committed>\n    </storage_domain>\n</storage_domains>\n"}]
diff --git a/tests/rhevm/support/fixtures/d281d71e7c066ae78c4a00da2066149a.fixture b/tests/rhevm/support/fixtures/d281d71e7c066ae78c4a00da2066149a.fixture
new file mode 100644
index 0000000..4c23163
--- /dev/null
+++ b/tests/rhevm/support/fixtures/d281d71e7c066ae78c4a00da2066149a.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<vms>\n    <vm id=\"080d18f9-6832-4dca-9efb-63573aef7c12\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12\">\n        <name>apitest1</name>\n        <description>Fedora Live VM</description>\n        <actions>\n            <link rel=\"migrate\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/migrate\"/>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/export\"/>\n            <link rel=\"ticket\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/ticket\"/>\n            <link rel=\"shutdown\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/shutdown\"/>\n            <link rel=\"start\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/start\"/!
 >\n            <link rel=\"stop\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/stop\"/>\n            <link rel=\"suspend\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/suspend\"/>\n            <link rel=\"detach\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/detach\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/disks\"/>\n        <link rel=\"floppies\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/floppies\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/nics\"/>\n        <link rel=\"snapshots\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/snapshots\"/>\n        <link rel=\"tags\" href=\"/rhevm-api-powershell/vms/080!
 d18f9-6832-4dca-9efb-63573aef7c12/tags\"/>\n        <type>DESKTOP</type>\n        <status>DOWN</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"2\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"cdrom\"/>\n        </os>\n        <display>\n            <type>SPICE</type>\n            <monitors>1</monitors>\n        </display>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <template id=\"f7c71c82-ad3f-4b08-b741-db37a40429b4\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4\"/>\n        <creation_time>2010-12-21T15:35:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <memory_statistics>\n            <utilization>0</utilization>\n        </memory_statistics>\n        <cpu_statistics>\n            <user>0</user>\n            <system>0</system>\n            <idle>0</idle>\n            <load>0</load>\n        </cpu_statist!
 ics>\n    </vm>\n    <vm id=\"5b2555c9-73f1-46dc-b379-a1f6dd382c86\" hr!
 ef=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86\">\n        <name>bababab</name>\n        <actions>\n            <link rel=\"migrate\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/migrate\"/>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/export\"/>\n            <link rel=\"ticket\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/ticket\"/>\n            <link rel=\"shutdown\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/shutdown\"/>\n            <link rel=\"start\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/start\"/>\n            <link rel=\"stop\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/stop\"/>\n            <link rel=\"suspend\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/suspend\"/>\n            <link rel=\"detach\" href=\"/rhevm-api-powershel!
 l/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/detach\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/disks\"/>\n        <link rel=\"floppies\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/floppies\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/nics\"/>\n        <link rel=\"snapshots\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/snapshots\"/>\n        <link rel=\"tags\" href=\"/rhevm-api-powershell/vms/5b2555c9-73f1-46dc-b379-a1f6dd382c86/tags\"/>\n        <type>SERVER</type>\n        <status>UP</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"cdrom\"/>\n  !
       </os>\n        <display>\n            <type>VNC</type>\n         !
    <address>10.34.2.121</address>\n            <port>5910</port>\n            <monitors>1</monitors>\n        </display>\n        <host id=\"1\" href=\"/rhevm-api-powershell/hosts/1\"/>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <template id=\"f7c71c82-ad3f-4b08-b741-db37a40429b4\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4\"/>\n        <start_time>2011-01-04T20:07:42.727Z</start_time>\n        <creation_time>2010-12-21T12:08:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <memory_statistics>\n            <utilization>0</utilization>\n        </memory_statistics>\n        <cpu_statistics>\n            <user>0</user>\n            <system>0</system>\n            <idle>0</idle>\n            <load>0</load>\n        </cpu_statistics>\n    </vm>\n    <vm id=\"5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6\">\n        <name>test1</name!
 >\n        <actions>\n            <link rel=\"migrate\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/migrate\"/>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/export\"/>\n            <link rel=\"ticket\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/ticket\"/>\n            <link rel=\"shutdown\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/shutdown\"/>\n            <link rel=\"start\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/start\"/>\n            <link rel=\"stop\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/stop\"/>\n            <link rel=\"suspend\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/suspend\"/>\n            <link rel=\"detach\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/detach\"/>\n        </actions>\n        <link rel=\"cdro!
 ms\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551!
 ba6/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/disks\"/>\n        <link rel=\"floppies\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/floppies\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/nics\"/>\n        <link rel=\"snapshots\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/snapshots\"/>\n        <link rel=\"tags\" href=\"/rhevm-api-powershell/vms/5b602d1a-4db0-4ab0-8842-5f3dfb551ba6/tags\"/>\n        <type>DESKTOP</type>\n        <status>DOWN</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"2\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"Unassigned\">\n            <boot dev=\"cdrom\"/>\n        </os>\n        <display>\n            <type>SPICE</type>\n            <monitors>1</monitors>\n        </display>\n        <cluster id=\"0\" href=\"/rhevm-api-pow!
 ershell/clusters/0\"/>\n        <template id=\"00000000-0000-0000-0000-000000000000\" href=\"/rhevm-api-powershell/templates/00000000-0000-0000-0000-000000000000\"/>\n        <creation_time>2010-12-21T15:19:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <memory_statistics>\n            <utilization>0</utilization>\n        </memory_statistics>\n        <cpu_statistics>\n            <user>0</user>\n            <system>0</system>\n            <idle>0</idle>\n            <load>0</load>\n        </cpu_statistics>\n    </vm>\n    <vm id=\"d624520d-edc7-4071-a576-2aee5840a510\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510\">\n        <name>test5</name>\n        <description>Fedora Live VM</description>\n        <actions>\n            <link rel=\"migrate\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/migrate\"/>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/!
 export\"/>\n            <link rel=\"ticket\" href=\"/rhevm-api-powershe!
 ll/vms/d624520d-edc7-4071-a576-2aee5840a510/ticket\"/>\n            <link rel=\"shutdown\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/shutdown\"/>\n            <link rel=\"start\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/start\"/>\n            <link rel=\"stop\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/stop\"/>\n            <link rel=\"suspend\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/suspend\"/>\n            <link rel=\"detach\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/detach\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/disks\"/>\n        <link rel=\"floppies\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/floppies\"/>\n  !
       <link rel=\"nics\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/nics\"/>\n        <link rel=\"snapshots\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/snapshots\"/>\n        <link rel=\"tags\" href=\"/rhevm-api-powershell/vms/d624520d-edc7-4071-a576-2aee5840a510/tags\"/>\n        <type>DESKTOP</type>\n        <status>SUSPENDED</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"cdrom\"/>\n        </os>\n        <display>\n            <type>SPICE</type>\n            <port>5910</port>\n            <monitors>1</monitors>\n        </display>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <template id=\"f7c71c82-ad3f-4b08-b741-db37a40429b4\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4\"/>\n        <creation_time>2010-12-20T18:34!
 :00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <memor!
 y_statistics>\n            <utilization>0</utilization>\n        </memory_statistics>\n        <cpu_statistics>\n            <user>0</user>\n            <system>0</system>\n            <idle>0</idle>\n            <load>0</load>\n        </cpu_statistics>\n    </vm>\n    <vm id=\"f159bbf5-ecb5-40ad-acea-040096f916e7\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7\">\n        <name>TestPool-1</name>\n        <actions>\n            <link rel=\"migrate\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/migrate\"/>\n            <link rel=\"export\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/export\"/>\n            <link rel=\"ticket\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/ticket\"/>\n            <link rel=\"shutdown\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/shutdown\"/>\n            <link rel=\"start\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb!
 5-40ad-acea-040096f916e7/start\"/>\n            <link rel=\"stop\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/stop\"/>\n            <link rel=\"suspend\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/suspend\"/>\n            <link rel=\"detach\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/detach\"/>\n        </actions>\n        <link rel=\"cdroms\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/cdroms\"/>\n        <link rel=\"disks\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/disks\"/>\n        <link rel=\"floppies\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/floppies\"/>\n        <link rel=\"nics\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/nics\"/>\n        <link rel=\"snapshots\" href=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/snapshots\"/>\n        <link rel=\"tags\" hre!
 f=\"/rhevm-api-powershell/vms/f159bbf5-ecb5-40ad-acea-040096f916e7/tags!
 \"/>\n        <type>DESKTOP</type>\n        <status>DOWN</status>\n        <memory>536870912</memory>\n        <cpu>\n            <topology cores=\"1\" sockets=\"1\"/>\n        </cpu>\n        <os type=\"OtherLinux\">\n            <boot dev=\"cdrom\"/>\n        </os>\n        <display>\n            <type>SPICE</type>\n            <monitors>1</monitors>\n        </display>\n        <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\"/>\n        <template id=\"f7c71c82-ad3f-4b08-b741-db37a40429b4\" href=\"/rhevm-api-powershell/templates/f7c71c82-ad3f-4b08-b741-db37a40429b4\"/>\n        <creation_time>2010-12-21T14:00:00.000Z</creation_time>\n        <origin>RHEV</origin>\n        <memory_statistics>\n            <utilization>0</utilization>\n        </memory_statistics>\n        <cpu_statistics>\n            <user>0</user>\n            <system>0</system>\n            <idle>0</idle>\n            <load>0</load>\n        </cpu_statistics>\n        <vmpool id=\"0\" href=\"!
 /rhevm-api-powershell/vmpools/0\"/>\n    </vm>\n</vms>\n"}]
diff --git a/tests/rhevm/support/fixtures/ee8de9dfd3d696e5bfc1537a6405aab1.fixture b/tests/rhevm/support/fixtures/ee8de9dfd3d696e5bfc1537a6405aab1.fixture
new file mode 100644
index 0000000..b047bb1
--- /dev/null
+++ b/tests/rhevm/support/fixtures/ee8de9dfd3d696e5bfc1537a6405aab1.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/clusters/","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<clusters>\n    <cluster id=\"0\" href=\"/rhevm-api-powershell/clusters/0\">\n        <name>Default</name>\n        <description>The default server cluster</description>\n        <link rel=\"networks\" href=\"/rhevm-api-powershell/clusters/0/networks\"/>\n        <cpu id=\"Intel Xeon Core i7\"/>\n        <data_center id=\"98f3433b-6b93-46d0-8dd1-d6a9bab4abcd\" href=\"/rhevm-api-powershell/datacenters/98f3433b-6b93-46d0-8dd1-d6a9bab4abcd\"/>\n        <version minor=\"2\" major=\"2\"/>\n        <supported_versions>\n            <version minor=\"2\" major=\"2\"/>\n        </supported_versions>\n    </cluster>\n</clusters>\n"}]
diff --git a/tests/rhevm/support/fixtures/fb8424ef5b5bcaa21c59e124fe316c1c.fixture b/tests/rhevm/support/fixtures/fb8424ef5b5bcaa21c59e124fe316c1c.fixture
new file mode 100644
index 0000000..6a1f13b
--- /dev/null
+++ b/tests/rhevm/support/fixtures/fb8424ef5b5bcaa21c59e124fe316c1c.fixture
@@ -0,0 +1 @@
+["https://10.34.2.122:8443/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/disks","get",{"content_type":"application/xml","status":200,"body":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<disks>\n    <disk id=\"a12015f1-bae5-4bf4-9033-2c725638aaed\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12/disks/a12015f1-bae5-4bf4-9033-2c725638aaed\">\n        <description>_apitest1_12/21/2010 3:35:18 PM</description>\n        <vm id=\"080d18f9-6832-4dca-9efb-63573aef7c12\" href=\"/rhevm-api-powershell/vms/080d18f9-6832-4dca-9efb-63573aef7c12\"/>\n        <size>458752</size>\n        <type>SYSTEM</type>\n        <status>OK</status>\n        <interface>VIRTIO</interface>\n        <format>COW</format>\n        <sparse>true</sparse>\n        <bootable>true</bootable>\n    </disk>\n</disks>\n"}]
-- 
1.7.3.4