Fixtures and unit tests for Rackspace images.
diff --git a/rackspace/compute/v2/images/delegate_test.go b/rackspace/compute/v2/images/delegate_test.go
new file mode 100644
index 0000000..b73a0fb
--- /dev/null
+++ b/rackspace/compute/v2/images/delegate_test.go
@@ -0,0 +1,47 @@
+package images
+
+import (
+	"fmt"
+	"net/http"
+	"testing"
+
+	"github.com/rackspace/gophercloud/pagination"
+	th "github.com/rackspace/gophercloud/testhelper"
+	"github.com/rackspace/gophercloud/testhelper/client"
+)
+
+func TestListImageDetails(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	th.Mux.HandleFunc("/images/detail", func(w http.ResponseWriter, r *http.Request) {
+		th.TestMethod(t, r, "GET")
+		th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
+
+		w.Header().Add("Content-Type", "application/json")
+		r.ParseForm()
+		marker := r.Form.Get("marker")
+		switch marker {
+		case "":
+			fmt.Fprintf(w, ListOutput)
+		case "e19a734c-c7e6-443a-830c-242209c4d65d":
+			fmt.Fprintf(w, `{ "images": [] }`)
+		default:
+			t.Fatalf("Unexpected marker: [%s]", marker)
+		}
+	})
+
+	count := 0
+	err := ListDetail(client.ServiceClient(), nil).EachPage(func(page pagination.Page) (bool, error) {
+		count++
+		actual, err := ExtractImages(page)
+		th.AssertNoErr(t, err)
+		th.CheckDeepEquals(t, ExpectedImageSlice, actual)
+
+		return true, nil
+	})
+	th.AssertNoErr(t, err)
+	if count < 1 {
+		t.Fatalf("At least one page of image results expected.")
+	}
+}
diff --git a/rackspace/compute/v2/images/fixtures.go b/rackspace/compute/v2/images/fixtures.go
new file mode 100644
index 0000000..c46d196
--- /dev/null
+++ b/rackspace/compute/v2/images/fixtures.go
@@ -0,0 +1,199 @@
+// +build fixtures
+package images
+
+import (
+	os "github.com/rackspace/gophercloud/openstack/compute/v2/images"
+)
+
+// ListOutput is an example response from an /images/detail request.
+const ListOutput = `
+{
+	"images": [
+		{
+			"OS-DCF:diskConfig": "MANUAL",
+			"OS-EXT-IMG-SIZE:size": 1.017415075e+09,
+			"created": "2014-10-01T15:49:02Z",
+			"id": "30aa010e-080e-4d4b-a7f9-09fc55b07d69",
+			"links": [
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69",
+					"rel": "self"
+				},
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69",
+					"rel": "bookmark"
+				},
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69",
+					"rel": "alternate",
+					"type": "application/vnd.openstack.image"
+				}
+			],
+			"metadata": {
+				"auto_disk_config": "disabled",
+				"cache_in_nova": "True",
+				"com.rackspace__1__build_core": "1",
+				"com.rackspace__1__build_managed": "1",
+				"com.rackspace__1__build_rackconnect": "1",
+				"com.rackspace__1__options": "0",
+				"com.rackspace__1__platform_target": "PublicCloud",
+				"com.rackspace__1__release_build_date": "2014-10-01_15-46-08",
+				"com.rackspace__1__release_id": "100",
+				"com.rackspace__1__release_version": "10",
+				"com.rackspace__1__source": "kickstart",
+				"com.rackspace__1__visible_core": "1",
+				"com.rackspace__1__visible_managed": "0",
+				"com.rackspace__1__visible_rackconnect": "0",
+				"image_type": "base",
+				"org.openstack__1__architecture": "x64",
+				"org.openstack__1__os_distro": "org.archlinux",
+				"org.openstack__1__os_version": "2014.8",
+				"os_distro": "arch",
+				"os_type": "linux",
+				"vm_mode": "hvm"
+			},
+			"minDisk": 20,
+			"minRam": 512,
+			"name": "Arch 2014.10 (PVHVM)",
+			"progress": 100,
+			"status": "ACTIVE",
+			"updated": "2014-10-01T19:37:58Z"
+		},
+		{
+			"OS-DCF:diskConfig": "AUTO",
+			"OS-EXT-IMG-SIZE:size": 1.060306463e+09,
+			"created": "2014-10-01T12:58:11Z",
+			"id": "e19a734c-c7e6-443a-830c-242209c4d65d",
+			"links": [
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+					"rel": "self"
+				},
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+					"rel": "bookmark"
+				},
+				{
+					"href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+					"rel": "alternate",
+					"type": "application/vnd.openstack.image"
+				}
+			],
+			"metadata": {
+				"auto_disk_config": "True",
+				"cache_in_nova": "True",
+				"com.rackspace__1__build_core": "1",
+				"com.rackspace__1__build_managed": "1",
+				"com.rackspace__1__build_rackconnect": "1",
+				"com.rackspace__1__options": "0",
+				"com.rackspace__1__platform_target": "PublicCloud",
+				"com.rackspace__1__release_build_date": "2014-10-01_12-31-03",
+				"com.rackspace__1__release_id": "1007",
+				"com.rackspace__1__release_version": "6",
+				"com.rackspace__1__source": "kickstart",
+				"com.rackspace__1__visible_core": "1",
+				"com.rackspace__1__visible_managed": "1",
+				"com.rackspace__1__visible_rackconnect": "1",
+				"image_type": "base",
+				"org.openstack__1__architecture": "x64",
+				"org.openstack__1__os_distro": "com.ubuntu",
+				"org.openstack__1__os_version": "14.04",
+				"os_distro": "ubuntu",
+				"os_type": "linux",
+				"vm_mode": "xen"
+			},
+			"minDisk": 20,
+			"minRam": 512,
+			"name": "Ubuntu 14.04 LTS (Trusty Tahr)",
+			"progress": 100,
+			"status": "ACTIVE",
+			"updated": "2014-10-01T15:51:44Z"
+		}
+	]
+}
+`
+
+// GetOutput is an example response from an /images request.
+const GetOutput = `
+{
+	"image": {
+		"OS-DCF:diskConfig": "AUTO",
+		"OS-EXT-IMG-SIZE:size": 1060306463,
+		"created": "2014-10-01T12:58:11Z",
+		"id": "e19a734c-c7e6-443a-830c-242209c4d65d",
+		"links": [
+			{
+				"href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+				"rel": "self"
+			},
+			{
+				"href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+				"rel": "bookmark"
+			},
+			{
+				"href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d",
+				"rel": "alternate",
+				"type": "application/vnd.openstack.image"
+			}
+		],
+		"metadata": {
+			"auto_disk_config": "True",
+			"cache_in_nova": "True",
+			"com.rackspace__1__build_core": "1",
+			"com.rackspace__1__build_managed": "1",
+			"com.rackspace__1__build_rackconnect": "1",
+			"com.rackspace__1__options": "0",
+			"com.rackspace__1__platform_target": "PublicCloud",
+			"com.rackspace__1__release_build_date": "2014-10-01_12-31-03",
+			"com.rackspace__1__release_id": "1007",
+			"com.rackspace__1__release_version": "6",
+			"com.rackspace__1__source": "kickstart",
+			"com.rackspace__1__visible_core": "1",
+			"com.rackspace__1__visible_managed": "1",
+			"com.rackspace__1__visible_rackconnect": "1",
+			"image_type": "base",
+			"org.openstack__1__architecture": "x64",
+			"org.openstack__1__os_distro": "com.ubuntu",
+			"org.openstack__1__os_version": "14.04",
+			"os_distro": "ubuntu",
+			"os_type": "linux",
+			"vm_mode": "xen"
+		},
+		"minDisk": 20,
+		"minRam": 512,
+		"name": "Ubuntu 14.04 LTS (Trusty Tahr)",
+		"progress": 100,
+		"status": "ACTIVE",
+		"updated": "2014-10-01T15:51:44Z"
+	}
+}
+`
+
+// ArchImage is the first Image structure that should be parsed from ListOutput.
+var ArchImage = os.Image{
+	ID:       "30aa010e-080e-4d4b-a7f9-09fc55b07d69",
+	Name:     "Arch 2014.10 (PVHVM)",
+	Created:  "2014-10-01T15:49:02Z",
+	Updated:  "2014-10-01T19:37:58Z",
+	MinDisk:  20,
+	MinRAM:   512,
+	Progress: 100,
+	Status:   "ACTIVE",
+}
+
+// UbuntuImage is the second Image structure that should be parsed from ListOutput and
+// the only image that should be extracted from GetOutput.
+var UbuntuImage = os.Image{
+	ID:       "e19a734c-c7e6-443a-830c-242209c4d65d",
+	Name:     "Ubuntu 14.04 LTS (Trusty Tahr)",
+	Created:  "2014-10-01T12:58:11Z",
+	Updated:  "2014-10-01T15:51:44Z",
+	MinDisk:  20,
+	MinRAM:   512,
+	Progress: 100,
+	Status:   "ACTIVE",
+}
+
+// ExpectedImageSlice is the collection of images that should be parsed from ListOutput,
+// in order.
+var ExpectedImageSlice = []os.Image{ArchImage, UbuntuImage}