deltacloud-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfoj...@apache.org
Subject [3/5] Added initial OpenStack unit tests
Date Thu, 30 Aug 2012 09:51:44 GMT
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_image.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_image.yml b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_image.yml
new file mode 100644
index 0000000..13bf673
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_image.yml
@@ -0,0 +1,413 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:28Z", "id": "ff51f69aad234317a671af4780f3821c",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:28Z", "id": "9e77961ce95143eeaba3ace09fd9893d",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/detail
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 9e77961ce95143eeaba3ace09fd9893d
+      X-Storage-Token:
+      - 9e77961ce95143eeaba3ace09fd9893d
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-8f8f2042-97d8-4a7d-a1f7-3db71b1f0195
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '1748'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"flavors": [{"vcpus": 2, "disk": 10, "name": "m1.medium", "links":
+        [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/3",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/3",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 40,
+        "ram": 4096, "id": "3", "swap": ""}, {"vcpus": 4, "disk": 10, "name": "m1.large",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/4",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/4",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 80,
+        "ram": 8192, "id": "4", "swap": ""}, {"vcpus": 1, "disk": 0, "name": "m1.tiny",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "ram":
+        512, "id": "1", "swap": ""}, {"vcpus": 8, "disk": 10, "name": "m1.xlarge",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/5",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/5",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 160,
+        "ram": 16384, "id": "5", "swap": ""}, {"vcpus": 1, "disk": 10, "name": "m1.small",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/2",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/2",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 20,
+        "ram": 2048, "id": "2", "swap": ""}]}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/images/unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - ff51f69aad234317a671af4780f3821c
+      X-Storage-Token:
+      - ff51f69aad234317a671af4780f3821c
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 404
+      message: Not Found
+    headers:
+      Content-Length:
+      - '62'
+      Content-Type:
+      - application/json; charset=UTF-8
+      X-Compute-Request-Id:
+      - req-0f2f8d88-89f4-44c0-becf-5676241b8845
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"itemNotFound": {"message": "Image not found.", "code": 404}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:28Z", "id": "1838fdd9bb1a4bdfb530f63d4daea4f1",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:28Z", "id": "1d0d5793af01471b9db1aebf4465f029",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/detail
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 1d0d5793af01471b9db1aebf4465f029
+      X-Storage-Token:
+      - 1d0d5793af01471b9db1aebf4465f029
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-4a3abfe1-254c-44b9-b40e-5aac80f7fd95
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '1748'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"flavors": [{"vcpus": 2, "disk": 10, "name": "m1.medium", "links":
+        [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/3",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/3",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 40,
+        "ram": 4096, "id": "3", "swap": ""}, {"vcpus": 4, "disk": 10, "name": "m1.large",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/4",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/4",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 80,
+        "ram": 8192, "id": "4", "swap": ""}, {"vcpus": 1, "disk": 0, "name": "m1.tiny",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "ram":
+        512, "id": "1", "swap": ""}, {"vcpus": 8, "disk": 10, "name": "m1.xlarge",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/5",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/5",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 160,
+        "ram": 16384, "id": "5", "swap": ""}, {"vcpus": 1, "disk": 10, "name": "m1.small",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/flavors/2",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/2",
+        "rel": "bookmark"}], "rxtx_factor": 1.0, "OS-FLV-EXT-DATA:ephemeral": 20,
+        "ram": 2048, "id": "2", "swap": ""}]}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:46 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 1838fdd9bb1a4bdfb530f63d4daea4f1
+      X-Storage-Token:
+      - 1838fdd9bb1a4bdfb530f63d4daea4f1
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-a1c97d58-93c2-481e-b90e-62e5cab21265
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '685'
+      Date:
+      - Mon, 27 Aug 2012 16:16:28 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"image": {"status": "ACTIVE", "updated": "2012-08-24T15:51:45Z",
+        "name": "f16-jeos", "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "rel": "bookmark"}, {"href": "http://10.34.32.211:9292/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "type": "application/vnd.openstack.image", "rel": "alternate"}], "created":
+        "2012-08-24T15:41:42Z", "progress": 100, "minRam": 0, "minDisk": 0, "id":
+        "bf7ce59a-d9f9-45d4-9313-f45b16436602", "metadata": {}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:47 GMT
+recorded_with: VCR 2.2.4

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_instance.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_instance.yml b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_instance.yml
new file mode 100644
index 0000000..7bf2c32
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_instance.yml
@@ -0,0 +1,109 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:17:32 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:17:32Z", "id": "d20ae4dcd00a414aba6ca84918d2ffcc",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:51 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/fef00348-9991-404c-b0d4-655d18f84345
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - d20ae4dcd00a414aba6ca84918d2ffcc
+      X-Storage-Token:
+      - d20ae4dcd00a414aba6ca84918d2ffcc
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-93e528c1-c7a7-49f6-a479-910b80ef9b1c
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '1403'
+      Date:
+      - Mon, 27 Aug 2012 16:17:33 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"server": {"OS-EXT-STS:task_state": null, "addresses": {"demonet":
+        [{"version": 4, "addr": "10.0.0.2"}]}, "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/fef00348-9991-404c-b0d4-655d18f84345",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/servers/fef00348-9991-404c-b0d4-655d18f84345",
+        "rel": "bookmark"}], "image": {"id": "bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "links": [{"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "rel": "bookmark"}]}, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name":
+        "instance-0000000c", "flavor": {"id": "1", "links": [{"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "bookmark"}]}, "id": "fef00348-9991-404c-b0d4-655d18f84345", "user_id":
+        "f2286a51122345cea7d216c120974b41", "OS-DCF:diskConfig": "MANUAL", "accessIPv4":
+        "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive":
+        "", "status": "ACTIVE", "updated": "2012-08-27T15:27:16Z", "hostId": "13942eef5ee69ea6fabcd918042084b1ec915973056bb1b497b43dfa",
+        "OS-EXT-SRV-ATTR:host": "openstack-01.lab.eng.brq.redhat.com", "key_name":
+        "", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "name": "test-3", "created":
+        "2012-08-27T15:27:12Z", "tenant_id": "e827289fd66f4effb5b9b5012282fdb7", "metadata":
+        {}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:51 GMT
+recorded_with: VCR 2.2.4

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_key.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_key.yml b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_key.yml
new file mode 100644
index 0000000..213ad34
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_key.yml
@@ -0,0 +1,197 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:38 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:38Z", "id": "885c20fa32974e00924709c93eb0cd3d",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:56 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/os-keypairs
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 885c20fa32974e00924709c93eb0cd3d
+      X-Storage-Token:
+      - 885c20fa32974e00924709c93eb0cd3d
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-91898e2c-2c32-495c-94ac-65e89d07383d
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '756'
+      Date:
+      - Mon, 27 Aug 2012 16:16:38 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"keypairs": [{"keypair": {"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLRqcGJtIWRsRlm9E+BAX1YThZc8y2zdXUF9KY3R1e8sWGnDjBIS91WWliaIgP8CrSMfFEWSzUJbyqrsBui4E0JDP04vcS5W0ioY/BmJD99nRaRncS+KKHChUuVMIjQ6cn+hI76OgfpPqM3GNgkxl2grW2arwXrzWRJ2tEP6QnlQ==
+        nova@openstack-01.lab.eng.brq.redhat.com\n", "name": "test1", "fingerprint":
+        "9a:be:87:83:75:ae:06:0e:b7:c4:19:be:f7:52:bd:a8"}}, {"keypair": {"public_key":
+        "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDQq0Nu2t2KLs7AQLIUHX6x94tx6sacAXSgkHvlVJLM9HHHPMFlXeerYEeaPSC/vS7mwl0bXNN/ETXRpJ5Thd6BAnLDEAJcvrm63NHeJ4axvALzs6mQyndAu7UpFrK3nEaDPKgZPnEAKCUvBD+vLoySWilaNWGxsVH5kFpbT+73NQ==
+        nova@openstack-01.lab.eng.brq.redhat.com\n", "name": "test2", "fingerprint":
+        "cc:1d:51:aa:d7:dd:b7:07:ec:3b:3c:0c:1a:0c:04:c5"}}]}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:57 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:16:38 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:16:38Z", "id": "0997526a1921466081a8d5a9a7eec4ab",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:57 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/os-keypairs
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 0997526a1921466081a8d5a9a7eec4ab
+      X-Storage-Token:
+      - 0997526a1921466081a8d5a9a7eec4ab
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-3de59996-4ced-42aa-a914-e1d12bf4b73f
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '756'
+      Date:
+      - Mon, 27 Aug 2012 16:16:38 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"keypairs": [{"keypair": {"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLRqcGJtIWRsRlm9E+BAX1YThZc8y2zdXUF9KY3R1e8sWGnDjBIS91WWliaIgP8CrSMfFEWSzUJbyqrsBui4E0JDP04vcS5W0ioY/BmJD99nRaRncS+KKHChUuVMIjQ6cn+hI76OgfpPqM3GNgkxl2grW2arwXrzWRJ2tEP6QnlQ==
+        nova@openstack-01.lab.eng.brq.redhat.com\n", "name": "test1", "fingerprint":
+        "9a:be:87:83:75:ae:06:0e:b7:c4:19:be:f7:52:bd:a8"}}, {"keypair": {"public_key":
+        "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDQq0Nu2t2KLs7AQLIUHX6x94tx6sacAXSgkHvlVJLM9HHHPMFlXeerYEeaPSC/vS7mwl0bXNN/ETXRpJ5Thd6BAnLDEAJcvrm63NHeJ4axvALzs6mQyndAu7UpFrK3nEaDPKgZPnEAKCUvBD+vLoySWilaNWGxsVH5kFpbT+73NQ==
+        nova@openstack-01.lab.eng.brq.redhat.com\n", "name": "test2", "fingerprint":
+        "cc:1d:51:aa:d7:dd:b7:07:ec:3b:3c:0c:1a:0c:04:c5"}}]}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:27:57 GMT
+recorded_with: VCR 2.2.4

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_realm.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_realm.yml b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_realm.yml
new file mode 100644
index 0000000..0cc577d
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0004_must_allow_to_retrieve_single_realm.yml
@@ -0,0 +1,205 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "0bfb2862179d47229291a25cf608398e",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 0bfb2862179d47229291a25cf608398e
+      X-Storage-Token:
+      - 0bfb2862179d47229291a25cf608398e
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-776452b2-0885-4489-9efd-6dfa45880247
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '900'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "9c158b0229204befb2d9253e822bf0c8",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 9c158b0229204befb2d9253e822bf0c8
+      X-Storage-Token:
+      - 9c158b0229204befb2d9253e822bf0c8
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-922f233b-ea8a-48aa-8e4e-0b7e60ff4100
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '900'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+recorded_with: VCR 2.2.4

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance-inst_launch-10.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance-inst_launch-10.yml b/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance-inst_launch-10.yml
new file mode 100644
index 0000000..ecb0f61
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance-inst_launch-10.yml
@@ -0,0 +1,93 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:17:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:17:34Z", "id": "5925f23f1aaf40d984b640f0dd7b9bee",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 5925f23f1aaf40d984b640f0dd7b9bee
+      X-Storage-Token:
+      - 5925f23f1aaf40d984b640f0dd7b9bee
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 404
+      message: Not Found
+    headers:
+      Content-Length:
+      - '52'
+      Content-Type:
+      - text/plain; charset=UTF-8
+      Date:
+      - Mon, 27 Aug 2012 16:17:34 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! "404 Not Found\n\nThe resource could not be found.\n\n   "
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:52 GMT
+recorded_with: VCR 2.2.4

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/fb66c667/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance.yml
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance.yml b/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance.yml
new file mode 100644
index 0000000..74f7fe7
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/test_0005_must_allow_to_create_and_destroy_an_instance.yml
@@ -0,0 +1,152 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: http://10.34.32.211:5000/v2.0/tokens
+    body:
+      encoding: UTF-8
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
+    headers:
+      Content-Type:
+      - application/json
+      Accept:
+      - ! '*/*'
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
+      Content-Length:
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:17:33 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:17:33Z", "id": "40a1700185dc45d8bb7763d78c5ce28a",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:52 GMT
+- request:
+    method: post
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers
+    body:
+      encoding: UTF-8
+      string: ! '{"server":{"personality":[],"name":"server2012-08-27 14:28:52 +0200","imageRef":"bf7ce59a-d9f9-45d4-9313-f45b16436602","flavorRef":"1","security_groups":[]}}'
+    headers:
+      X-Auth-Token:
+      - 40a1700185dc45d8bb7763d78c5ce28a
+      X-Storage-Token:
+      - 40a1700185dc45d8bb7763d78c5ce28a
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 202
+      message: Accepted
+    headers:
+      X-Compute-Request-Id:
+      - req-858ade33-e6ef-4dcb-8769-20aa6251b674
+      Location:
+      - http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '400'
+      Date:
+      - Mon, 27 Aug 2012 16:17:34 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"server": {"OS-DCF:diskConfig": "MANUAL", "id": "5dcb220a-92bf-4b50-85d9-526f4de6b09c",
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c",
+        "rel": "bookmark"}], "adminPass": "a3wTpcYuno7N"}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 40a1700185dc45d8bb7763d78c5ce28a
+      X-Storage-Token:
+      - 40a1700185dc45d8bb7763d78c5ce28a
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-0959cfe1-bd29-456c-975e-85e0f03ebdc0
+      Content-Type:
+      - application/json
+      Content-Length:
+      - '1334'
+      Date:
+      - Mon, 27 Aug 2012 16:17:34 GMT
+      Connection:
+      - keep-alive
+    body:
+      encoding: US-ASCII
+      string: ! '{"server": {"OS-EXT-STS:task_state": "scheduling", "addresses": {},
+        "links": [{"href": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c",
+        "rel": "self"}, {"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/servers/5dcb220a-92bf-4b50-85d9-526f4de6b09c",
+        "rel": "bookmark"}], "image": {"id": "bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "links": [{"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/images/bf7ce59a-d9f9-45d4-9313-f45b16436602",
+        "rel": "bookmark"}]}, "OS-EXT-STS:vm_state": "building", "OS-EXT-SRV-ATTR:instance_name":
+        "instance-00000012", "flavor": {"id": "1", "links": [{"href": "http://10.34.32.211:8774/e827289fd66f4effb5b9b5012282fdb7/flavors/1",
+        "rel": "bookmark"}]}, "id": "5dcb220a-92bf-4b50-85d9-526f4de6b09c", "user_id":
+        "f2286a51122345cea7d216c120974b41", "OS-DCF:diskConfig": "MANUAL", "accessIPv4":
+        "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 0, "config_drive":
+        "", "status": "BUILD", "updated": "2012-08-27T16:17:34Z", "hostId": "", "OS-EXT-SRV-ATTR:host":
+        "openstack-01.lab.eng.brq.redhat.com", "key_name": "", "OS-EXT-SRV-ATTR:hypervisor_hostname":
+        null, "name": "server2012-08-27 14:28:52 +0200", "created": "2012-08-27T16:17:34Z",
+        "tenant_id": "e827289fd66f4effb5b9b5012282fdb7", "metadata": {}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:28:52 GMT
+recorded_with: VCR 2.2.4


Mime
View raw message