You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/03/26 18:58:04 UTC

[18/30] git commit: Client: Added VCR fixtures for testing

Client: Added VCR fixtures for testing


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/0439fc75
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/0439fc75
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/0439fc75

Branch: refs/heads/master
Commit: 0439fc75c5de05c8f768db025046c9f0472ad171
Parents: 3d86594
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:53:39 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:35 2013 +0100

----------------------------------------------------------------------
 client/tests/fixtures/instances_cleanup.yml        |  681 +++++++
 .../test_0001_connects_to_Deltacloud_API.yml       |   60 +
 client/tests/fixtures/test_0001_support_cpu.yml    |  444 +++++
 .../fixtures/test_0001_support_original_body.yml   |  116 ++
 .../fixtures/test_0001_supports_addresses.yml      |  178 ++
 .../tests/fixtures/test_0001_supports_api_host.yml |   60 +
 .../fixtures/test_0001_supports_attached_.yml      |  282 +++
 client/tests/fixtures/test_0001_supports_blobs.yml |  475 +++++
 .../tests/fixtures/test_0001_supports_bucket.yml   |  200 ++
 .../tests/fixtures/test_0001_supports_buckets.yml  |  160 ++
 .../tests/fixtures/test_0001_supports_drivers.yml  |  202 ++
 .../fixtures/test_0001_supports_firewalls.yml      |  399 ++++
 .../test_0001_supports_hardware_profiles.yml       |  262 +++
 .../tests/fixtures/test_0001_supports_images.yml   |  224 +++
 .../test_0001_supports_instance_states.yml         |  156 ++
 .../fixtures/test_0001_supports_instances.yml      |  486 +++++
 client/tests/fixtures/test_0001_supports_keys.yml  |  198 ++
 client/tests/fixtures/test_0001_supports_path.yml  |   60 +
 .../tests/fixtures/test_0001_supports_realms.yml   |  152 ++
 .../test_0001_supports_storage_snapshots.yml       |  164 ++
 .../test_0001_supports_storage_volumes.yml         |  176 ++
 .../test_0001_supports_to_get_providers.yml        |  410 ++++
 client/tests/fixtures/test_0002_support_blob.yml   |  148 ++
 .../fixtures/test_0002_support_instance_state.yml  |  204 ++
 client/tests/fixtures/test_0002_support_memory.yml |  444 +++++
 .../fixtures/test_0002_support_on_Provider.yml     |  130 ++
 .../tests/fixtures/test_0002_supports_api_port.yml |   60 +
 .../tests/fixtures/test_0002_supports_api_uri.yml  |   60 +
 .../tests/fixtures/test_0002_supports_driver.yml   |  219 +++
 ...s_extract_xml_body_using_faraday_connection.yml |  117 ++
 ...02_supports_filtering_addresses_by_id_param.yml |  156 ++
 ...0002_supports_filtering_buckets_by_id_param.yml |  156 ++
 ...02_supports_filtering_firewalls_by_id_param.yml |  207 ++
 ...rts_filtering_hardware_profiles_by_id_param.yml |  158 ++
 ..._0002_supports_filtering_images_by_id_param.yml |  165 ++
 ...02_supports_filtering_instances_by_id_param.yml |  164 ++
 ...st_0002_supports_filtering_keys_by_id_param.yml |  178 ++
 .../test_0002_supports_filtering_realms_by_id.yml  |  104 +
 ...rts_filtering_storage_snapshots_by_id_param.yml |  155 ++
 ...ports_filtering_storage_volumes_by_id_param.yml |  157 ++
 .../test_0002_supports_hardware_profiles.yml       |  262 +++
 .../fixtures/test_0002_supports_is_compatible_.yml |  116 ++
 .../fixtures/test_0002_supports_snapshot_.yml      |  202 ++
 .../tests/fixtures/test_0002_supports_version.yml  |   60 +
 .../test_0003_caches_the_API_entrypoint.yml        |   60 +
 .../tests/fixtures/test_0003_support_address.yml   |  197 ++
 client/tests/fixtures/test_0003_support_bucket.yml |  198 ++
 .../fixtures/test_0003_support_create_blob.yml     |  105 +
 ...t_0003_support_create_blob_and_destroy_blob.yml |  138 ++
 .../tests/fixtures/test_0003_support_firewall.yml  |  768 ++++++++
 .../test_0003_support_hardware_profile.yml         |  199 ++
 client/tests/fixtures/test_0003_support_image.yml  |  207 ++
 .../tests/fixtures/test_0003_support_instance.yml  |  206 ++
 client/tests/fixtures/test_0003_support_key.yml    |  220 +++
 client/tests/fixtures/test_0003_support_realm.yml  |  195 ++
 .../tests/fixtures/test_0003_support_storage.yml   |  444 +++++
 .../test_0003_support_storage_snapshot.yml         |  196 ++
 .../fixtures/test_0003_support_storage_volume.yml  |  197 ++
 ...t_0003_support_to_change_driver_with_Client.yml |   72 +
 .../tests/fixtures/test_0003_supports_connect.yml  |   60 +
 ...ts_extract_xml_body_using_nokogiri_document.yml |  117 ++
 .../tests/fixtures/test_0003_supports_instance.yml |  396 ++++
 .../fixtures/test_0003_supports_is_compatible_.yml |  116 ++
 .../fixtures/test_0003_supports_lunch_image.yml    |  367 ++++
 .../fixtures/test_0003_supports_providers.yml      |  102 +
 .../tests/fixtures/test_0003_supports_version.yml  |   60 +
 .../fixtures/test_0004_support_architecture.yml    |  444 +++++
 .../fixtures/test_0004_support_create_address.yml  |  197 ++
 ...eate_blob_and_destroy_blob_with_meta_params.yml |  139 ++
 .../fixtures/test_0004_support_create_bucket.yml   |  180 ++
 ...04_support_create_bucket_and_destroy_bucket.yml |  180 ++
 ...upport_create_firewall_and_destroy_firewall.yml |  496 +++++
 ...0004_support_create_image_and_destroy_image.yml | 1527 +++++++++++++++
 .../fixtures/test_0004_support_create_instance.yml |  115 ++
 ...est_0004_support_create_key_and_destroy_key.yml |  206 ++
 .../fixtures/test_0004_support_create_volume.yml   |  105 +
 ...04_support_create_volume_and_destroy_volume.yml |  181 ++
 ...0004_support_to_test_of_valid_DC_connection.yml |   60 +
 .../fixtures/test_0004_supports_current_driver.yml |   60 +
 ...rts_extract_xml_body_using_nokogiri_element.yml |  117 ++
 .../fixtures/test_0004_supports_lunch_image.yml    |  312 +++
 .../test_0004_supports_valid_credentials_.yml      |  215 ++
 .../fixtures/test_0004_supports_with_config.yml    |  129 ++
 .../test_0005_support_attach_storage_volume.yml    |  102 +
 ...ch_storage_volume_and_detach_storage_volume.yml |  142 ++
 ...st_0005_support_create_instance_with_hwp_id.yml |  115 ++
 .../tests/fixtures/test_0005_support_opaque_.yml   |  152 ++
 .../test_0005_supports_current_provider.yml        |  134 ++
 client/tests/fixtures/test_0005_supports_id.yml    |  116 ++
 ...005_supports_switching_drivers_per_instance.yml |  129 ++
 .../fixtures/test_0005_supports_use_driver.yml     |   60 +
 ..._0006_support_create_instance_with_realm_id.yml |  115 ++
 .../fixtures/test_0006_supports_discovered_.yml    |   60 +
 .../test_0006_supports_supported_collections.yml   |   60 +
 ...6_supports_switching_providers_per_instance.yml |  208 ++
 ...test_0007_support_create_instance_with_name.yml |  115 ++
 ...port_switching_provider_without_credentials.yml |  208 ++
 .../tests/fixtures/test_0007_supports_support_.yml |   60 +
 ...st_0007_supports_valid_credentials_on_class.yml |  370 ++++
 .../fixtures/test_0008_support_stop_instance.yml   |  166 ++
 .../fixtures/test_0008_supports_must_support_.yml  |   60 +
 .../fixtures/test_0009_support_start_instance.yml  |  217 ++
 .../tests/fixtures/test_0009_supports_features.yml |   60 +
 .../fixtures/test_0010_support_reboot_instance.yml |  166 ++
 .../tests/fixtures/test_0010_supports_feature_.yml |   60 +
 105 files changed, 21325 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/instances_cleanup.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/instances_cleanup.yml b/client/tests/fixtures/instances_cleanup.yml
new file mode 100644
index 0000000..297ee55
--- /dev/null
+++ b/client/tests/fixtures/instances_cleanup.yml
@@ -0,0 +1,681 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0015072822570800781'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 45aa1a1069561afacf53bfa0617937c2
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst12/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002788543701171875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst12'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0014603137969970703'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - cfc0f8b702e021b8e93e29504c3c401c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst12'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.0002741813659667969'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst13
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006051063537597656'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ec7c01758e348e28df8260a21e38f23
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst13'
+        id='inst13'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst13/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst13'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst13
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.00011873245239257812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006017684936523438'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 846e96034593a904f856ed5c0ef1ba97
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst14/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0015385150909423828'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst14'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008783340454101562'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 54d0a41fbd97cc4f1148c50786e26996
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst14'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.0003466606140136719'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0005993843078613281'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - a5154912c43a70a5f96dc590a26784d4
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst15/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst15/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002899169921875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst15'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008769035339355469'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e26f940538d1f016eca99e233ada5800
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst15'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.00020003318786621094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml b/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_support_cpu.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_support_cpu.yml b/client/tests/fixtures/test_0001_support_cpu.yml
new file mode 100644
index 0000000..cebeab1
--- /dev/null
+++ b/client/tests/fixtures/test_0001_support_cpu.yml
@@ -0,0 +1,444 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:02 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:02 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00015807151794433594'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:02 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:02 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00011610984802246094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010704994201660156'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.1021575927734375e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.343292236328125e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '9.5367431640625e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.000141143798828125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.033348083496094e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_support_original_body.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_support_original_body.yml b/client/tests/fixtures/test_0001_support_original_body.yml
new file mode 100644
index 0000000..f8113b2
--- /dev/null
+++ b/client/tests/fixtures/test_0001_support_original_body.yml
@@ -0,0 +1,116 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009098052978515625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_addresses.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_addresses.yml b/client/tests/fixtures/test_0001_supports_addresses.yml
new file mode 100644
index 0000000..5fa9a6a
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_addresses.yml
@@ -0,0 +1,178 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001703500747680664'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1509'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f169cf604834db45a1c473d3038a6c00
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<addresses>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.3' id='192.168.0.3'>\n
+        \   <ip>192.168.0.3</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.3'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.3/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.1' id='192.168.0.1'>\n
+        \   <ip>192.168.0.1</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.2' id='192.168.0.2'>\n
+        \   <ip>192.168.0.2</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.2'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.2/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.4' id='192.168.0.4'>\n
+        \   <ip>192.168.0.4</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.4'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.4/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n</addresses>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002438783645629883'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1509'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f169cf604834db45a1c473d3038a6c00
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<addresses>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.3' id='192.168.0.3'>\n
+        \   <ip>192.168.0.3</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.3'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.3/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.1' id='192.168.0.1'>\n
+        \   <ip>192.168.0.1</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.2' id='192.168.0.2'>\n
+        \   <ip>192.168.0.2</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.2'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.2/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.4' id='192.168.0.4'>\n
+        \   <ip>192.168.0.4</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.4'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.4/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n</addresses>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_api_host.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_api_host.yml b/client/tests/fixtures/test_0001_supports_api_host.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_api_host.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_attached_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_attached_.yml b/client/tests/fixtures/test_0001_supports_attached_.yml
new file mode 100644
index 0000000..c764d11
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_attached_.yml
@@ -0,0 +1,282 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:50:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:50:34 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0030679702758789062'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 46e0acb37615405bfaa1b17970ed4734
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:50:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:50:34 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/attach?instance_id=inst1&device
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:51:37 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:51:37 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.003017902374267578'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b576329100e8a3062f48d6f7e86c3935
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:51:37 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:51:37 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/detach
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0027980804443359375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 46e0acb37615405bfaa1b17970ed4734
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+recorded_with: VCR 2.4.0