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:03 UTC

[17/30] Client: Added VCR fixtures for testing

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_blobs.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_blobs.yml b/client/tests/fixtures/test_0001_supports_blobs.yml
new file mode 100644
index 0000000..b8332b2
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_blobs.yml
@@ -0,0 +1,475 @@
+---
+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
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    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.0054171085357666016'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1130db2fb1a271d67e7d69ac1bd604e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>3</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    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:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob3
+    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:
+      - '428'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f5c6bcf8a055f57b9f69ac36ef07626f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-08-14 03:14:31
+        +0200</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob3/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob2
+    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:
+      - '476'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c4aec8663f7a6df184a8253d5d13142a
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'>\n  <bucket>bucket1</bucket>\n  <content_length>56</content_length>\n
+        \ <content_type>text/html</content_type>\n  <last_modified>2010-09-23 17:55:05
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='VERSION'><![CDATA[1.2]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob2/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    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.0033838748931884766'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1130db2fb1a271d67e7d69ac1bd604e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>3</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    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:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob3
+    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:
+      - '428'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f5c6bcf8a055f57b9f69ac36ef07626f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-08-14 03:14:31
+        +0200</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob3/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob2
+    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:
+      - '476'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c4aec8663f7a6df184a8253d5d13142a
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'>\n  <bucket>bucket1</bucket>\n  <content_length>56</content_length>\n
+        \ <content_type>text/html</content_type>\n  <last_modified>2010-09-23 17:55:05
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='VERSION'><![CDATA[1.2]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob2/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    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.0020835399627685547'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:56:31 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:56:31 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_bucket.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_bucket.yml b/client/tests/fixtures/test_0001_supports_bucket.yml
new file mode 100644
index 0000000..ef04868
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_bucket.yml
@@ -0,0 +1,200 @@
+---
+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:35:54 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:35:54 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    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:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:35:54 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:35:54 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    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.0020079612731933594'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:36:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:36:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    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.002672910690307617'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:36:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:36:34 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_buckets.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_buckets.yml b/client/tests/fixtures/test_0001_supports_buckets.yml
new file mode 100644
index 0000000..a83d5b0
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_buckets.yml
@@ -0,0 +1,160 @@
+---
+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
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets
+    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.0019044876098632812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '739'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - db70c6b7bfca53f9b1396c30c62817c1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<buckets>\n  <bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n    <name>bucket1</name>\n    <size>3</size>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n  </bucket>\n  <bucket href='http://localhost:3001/api/buckets/bucket2'
+        id='bucket2'>\n    <name>bucket2</name>\n    <size>2</size>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob5'
+        id='blob5'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob4'
+        id='blob4'></blob>\n  </bucket>\n</buckets>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets
+    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.00443577766418457'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '739'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - db70c6b7bfca53f9b1396c30c62817c1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<buckets>\n  <bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n    <name>bucket1</name>\n    <size>3</size>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n  </bucket>\n  <bucket href='http://localhost:3001/api/buckets/bucket2'
+        id='bucket2'>\n    <name>bucket2</name>\n    <size>2</size>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob5'
+        id='blob5'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob4'
+        id='blob4'></blob>\n  </bucket>\n</buckets>\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_drivers.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_drivers.yml b/client/tests/fixtures/test_0001_supports_drivers.yml
new file mode 100644
index 0000000..9c5905e
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_drivers.yml
@@ -0,0 +1,202 @@
+---
+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
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers
+    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:
+      - '2738'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 954c8a0c3eea53a66786347cb9e1a9c0
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<drivers>\n  <driver href='http://localhost:3001/api/drivers/arubacloud'
+        id='arubacloud'>\n    <name>Arubacloud</name>\n    <provider id='dc1'></provider>\n
+        \   <provider id='dc2'></provider>\n    <provider id='dc3'></provider>\n  </driver>\n
+        \ <driver href='http://localhost:3001/api/drivers/azure' id='azure'>\n    <name>Azure</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \   <name>EC2</name>\n    <provider id='us-west-1'></provider>\n    <provider
+        id='us-west-2'></provider>\n    <provider id='ap-southeast-1'></provider>\n
+        \   <provider id='ap-northeast-1'></provider>\n    <provider id='eu-west-1'></provider>\n
+        \   <provider id='us-east-1'></provider>\n    <provider id='sa-east-1'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/rackspace'
+        id='rackspace'>\n    <name>Rackspace</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/terremark'
+        id='terremark'>\n    <name>Terremark</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/openstack'
+        id='openstack'>\n    <name>Openstack</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/fgcp'
+        id='fgcp'>\n    <name>FGCP</name>\n    <provider id='jp-east'></provider>\n
+        \   <provider id='au'></provider>\n    <provider id='sg'></provider>\n    <provider
+        id='uk'></provider>\n    <provider id='us'></provider>\n    <provider id='de'></provider>\n
+        \   <provider id='jp-west'></provider>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/eucalyptus'
+        id='eucalyptus'>\n    <name>Eucalyptus</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/digitalocean'
+        id='digitalocean'>\n    <name>Digitalocean</name>\n  </driver>\n  <driver
+        href='http://localhost:3001/api/drivers/sbc' id='sbc'>\n    <name>SBC</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/mock' id='mock'>\n
+        \   <name>Mock</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/condor'
+        id='condor'>\n    <name>Condor</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rhevm'
+        id='rhevm'>\n    <name>RHEVM</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/google'
+        id='google'>\n    <name>Google</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/opennebula'
+        id='opennebula'>\n    <name>Opennebula</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/vsphere'
+        id='vsphere'>\n    <name>VSphere</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/gogrid' id='gogrid'>\n
+        \   <name>Gogrid</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rimuhosting'
+        id='rimuhosting'>\n    <name>RimuHosting</name>\n  </driver>\n</drivers>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers
+    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:
+      - '2738'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 954c8a0c3eea53a66786347cb9e1a9c0
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<drivers>\n  <driver href='http://localhost:3001/api/drivers/arubacloud'
+        id='arubacloud'>\n    <name>Arubacloud</name>\n    <provider id='dc1'></provider>\n
+        \   <provider id='dc2'></provider>\n    <provider id='dc3'></provider>\n  </driver>\n
+        \ <driver href='http://localhost:3001/api/drivers/azure' id='azure'>\n    <name>Azure</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \   <name>EC2</name>\n    <provider id='us-west-1'></provider>\n    <provider
+        id='us-west-2'></provider>\n    <provider id='ap-southeast-1'></provider>\n
+        \   <provider id='ap-northeast-1'></provider>\n    <provider id='eu-west-1'></provider>\n
+        \   <provider id='us-east-1'></provider>\n    <provider id='sa-east-1'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/rackspace'
+        id='rackspace'>\n    <name>Rackspace</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/terremark'
+        id='terremark'>\n    <name>Terremark</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/openstack'
+        id='openstack'>\n    <name>Openstack</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/fgcp'
+        id='fgcp'>\n    <name>FGCP</name>\n    <provider id='jp-east'></provider>\n
+        \   <provider id='au'></provider>\n    <provider id='sg'></provider>\n    <provider
+        id='uk'></provider>\n    <provider id='us'></provider>\n    <provider id='de'></provider>\n
+        \   <provider id='jp-west'></provider>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/eucalyptus'
+        id='eucalyptus'>\n    <name>Eucalyptus</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/digitalocean'
+        id='digitalocean'>\n    <name>Digitalocean</name>\n  </driver>\n  <driver
+        href='http://localhost:3001/api/drivers/sbc' id='sbc'>\n    <name>SBC</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/mock' id='mock'>\n
+        \   <name>Mock</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/condor'
+        id='condor'>\n    <name>Condor</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rhevm'
+        id='rhevm'>\n    <name>RHEVM</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/google'
+        id='google'>\n    <name>Google</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/opennebula'
+        id='opennebula'>\n    <name>Opennebula</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/vsphere'
+        id='vsphere'>\n    <name>VSphere</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/gogrid' id='gogrid'>\n
+        \   <name>Gogrid</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rimuhosting'
+        id='rimuhosting'>\n    <name>RimuHosting</name>\n  </driver>\n</drivers>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_firewalls.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_firewalls.yml b/client/tests/fixtures/test_0001_supports_firewalls.yml
new file mode 100644
index 0000000..7c18757
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_firewalls.yml
@@ -0,0 +1,399 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      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:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:03 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' 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/firewalls'
+        rel='firewalls'>\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='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\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    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\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    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:03 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '1.063826322555542'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6391136646270752'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6027324199676514'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:05 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:05 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_hardware_profiles.yml b/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
new file mode 100644
index 0000000..e933358
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
@@ -0,0 +1,262 @@
+---
+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:17 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:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    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.846687316894531e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      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<hardware_profiles>\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  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    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:
+      - '4.506111145019531e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      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<hardware_profiles>\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  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 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.0009150505065917969'
+      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 15:40:09 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 15:40:09 GMT
+recorded_with: VCR 2.4.0