diff --git a/openstack/identity/v2/tenants/requests_test.go b/openstack/identity/v2/tenants/requests_test.go
new file mode 100644
index 0000000..685bf96
--- /dev/null
+++ b/openstack/identity/v2/tenants/requests_test.go
@@ -0,0 +1,79 @@
+package tenants
+
+import (
+	"fmt"
+	"net/http"
+	"testing"
+
+	"github.com/rackspace/gophercloud"
+	"github.com/rackspace/gophercloud/pagination"
+	th "github.com/rackspace/gophercloud/testhelper"
+)
+
+const tokenID = "1234123412341234"
+
+func TestListTenants(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	th.Mux.HandleFunc("/tenants", func(w http.ResponseWriter, r *http.Request) {
+		th.TestMethod(t, r, "GET")
+		th.TestHeader(t, r, "Accept", "application/json")
+		th.TestHeader(t, r, "X-Auth-Token", tokenID)
+
+		w.Header().Set("Content-Type", "application/json")
+		w.WriteHeader(http.StatusOK)
+		fmt.Fprintf(w, `
+{
+  "tenants": [
+    {
+      "id": "1234",
+      "name": "Red Team",
+      "description": "The team that is red",
+      "enabled": true
+    },
+    {
+      "id": "9876",
+      "name": "Blue Team",
+      "description": "The team that is blue",
+      "enabled": false
+    }
+  ]
+}
+    `)
+	})
+
+	client := &gophercloud.ServiceClient{
+		Provider: &gophercloud.ProviderClient{TokenID: tokenID},
+		Endpoint: th.Endpoint(),
+	}
+
+	count := 0
+	err := List(client, nil).EachPage(func(page pagination.Page) (bool, error) {
+		count++
+
+		actual, err := ExtractTenants(page)
+		th.AssertNoErr(t, err)
+
+		expected := []Tenant{
+			Tenant{
+				ID:          "1234",
+				Name:        "Red Team",
+				Description: "The team that is red",
+				Enabled:     true,
+			},
+			Tenant{
+				ID:          "9876",
+				Name:        "Blue Team",
+				Description: "The team that is blue",
+				Enabled:     false,
+			},
+		}
+
+		th.CheckDeepEquals(t, expected, actual)
+
+		return true, nil
+	})
+	th.AssertNoErr(t, err)
+	th.CheckEquals(t, count, 1)
+}
diff --git a/openstack/identity/v2/tenants/results.go b/openstack/identity/v2/tenants/results.go
index e4e3f47..e4bd535 100644
--- a/openstack/identity/v2/tenants/results.go
+++ b/openstack/identity/v2/tenants/results.go
@@ -1,6 +1,8 @@
 package tenants
 
 import (
+	"fmt"
+
 	"github.com/mitchellh/mapstructure"
 	"github.com/rackspace/gophercloud/pagination"
 )
@@ -70,6 +72,7 @@
 		Tenants []Tenant `mapstructure:"tenants"`
 	}
 
+	fmt.Printf("Decode %#v => %#v\n", casted, response)
 	err := mapstructure.Decode(casted, &response)
 	return response.Tenants, err
 }
