diff --git a/openstack/identity/v2/users/fixtures.go b/openstack/identity/v2/users/fixtures.go
index 796bc1a..13b554b 100644
--- a/openstack/identity/v2/users/fixtures.go
+++ b/openstack/identity/v2/users/fixtures.go
@@ -9,7 +9,7 @@
 	fake "github.com/rackspace/gophercloud/testhelper/client"
 )
 
-func MockListResponse(t *testing.T) {
+func MockListUserResponse(t *testing.T) {
 	th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "GET")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
@@ -42,7 +42,7 @@
 	})
 }
 
-func MockCreateUser(t *testing.T) {
+func mockCreateUserResponse(t *testing.T) {
 	th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "POST")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
@@ -75,7 +75,7 @@
 	})
 }
 
-func MockGetUser(t *testing.T) {
+func mockGetUserResponse(t *testing.T) {
 	th.Mux.HandleFunc("/users/new_user", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "GET")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
@@ -97,7 +97,7 @@
 	})
 }
 
-func MockUpdateUser(t *testing.T) {
+func mockUpdateUserResponse(t *testing.T) {
 	th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "PUT")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
@@ -129,7 +129,7 @@
 	})
 }
 
-func MockDeleteUser(t *testing.T) {
+func mockDeleteUserResponse(t *testing.T) {
 	th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "DELETE")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
@@ -137,7 +137,7 @@
 	})
 }
 
-func MockListRolesResponse(t *testing.T) {
+func mockListRolesResponse(t *testing.T) {
 	th.Mux.HandleFunc("/tenants/1d8b6120dcc640fda4fc9194ffc80273/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "GET")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
diff --git a/openstack/identity/v2/users/requests_test.go b/openstack/identity/v2/users/requests_test.go
index 462732f..04f8371 100644
--- a/openstack/identity/v2/users/requests_test.go
+++ b/openstack/identity/v2/users/requests_test.go
@@ -12,7 +12,7 @@
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockListResponse(t)
+	MockListUserResponse(t)
 
 	count := 0
 
@@ -56,7 +56,7 @@
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockCreateUser(t)
+	mockCreateUserResponse(t)
 
 	opts := CreateOpts{
 		Name:     "new_user",
@@ -84,7 +84,7 @@
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockGetUser(t)
+	mockGetUserResponse(t)
 
 	user, err := Get(client.ServiceClient(), "new_user").Extract()
 	th.AssertNoErr(t, err)
@@ -104,7 +104,7 @@
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockUpdateUser(t)
+	mockUpdateUserResponse(t)
 
 	id := "c39e3de9be2d4c779f1dfd6abacc176d"
 	opts := UpdateOpts{
@@ -128,11 +128,11 @@
 	th.AssertDeepEquals(t, expected, user)
 }
 
-func TestDeleteServer(t *testing.T) {
+func TestDeleteUser(t *testing.T) {
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockDeleteUser(t)
+	mockDeleteUserResponse(t)
 
 	res := Delete(client.ServiceClient(), "c39e3de9be2d4c779f1dfd6abacc176d")
 	th.AssertNoErr(t, res.Err)
@@ -142,7 +142,7 @@
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
-	MockListRolesResponse(t)
+	mockListRolesResponse(t)
 
 	tenantID := "1d8b6120dcc640fda4fc9194ffc80273"
 	userID := "c39e3de9be2d4c779f1dfd6abacc176d"
