Refactor to use new handler setup
diff --git a/openstack/db/v1/instances/requests_test.go b/openstack/db/v1/instances/requests_test.go
index bdda1f6..d44220d 100644
--- a/openstack/db/v1/instances/requests_test.go
+++ b/openstack/db/v1/instances/requests_test.go
@@ -3,41 +3,26 @@
import (
"testing"
- "github.com/rackspace/gophercloud"
db "github.com/rackspace/gophercloud/openstack/db/v1/databases"
"github.com/rackspace/gophercloud/openstack/db/v1/users"
"github.com/rackspace/gophercloud/pagination"
th "github.com/rackspace/gophercloud/testhelper"
fake "github.com/rackspace/gophercloud/testhelper/client"
+ "github.com/rackspace/gophercloud/testhelper/fixture"
)
-var instanceID = "d4603f69-ec7e-4e9b-803f-600b9205576f"
-
-var expectedInstance = &Instance{
- Created: "2014-02-13T21:47:13",
- Updated: "2014-02-13T21:47:13",
- Flavor: Flavor{
- ID: "1",
- Links: []gophercloud.Link{
- gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "self"},
- gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "bookmark"},
- },
- },
- Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.my-openstack.com",
- ID: instanceID,
- Links: []gophercloud.Link{
- gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/instances/1", Rel: "self"},
- },
- Name: "json_rack_instance",
- Status: "BUILD",
- Volume: Volume{Size: 2},
-}
+var (
+ instanceID = "{instanceID}"
+ rootURL = "/instances"
+ resURL = rootURL + "/" + instanceID
+ uRootURL = resURL + "/root"
+ aURL = resURL + "/action"
+)
func TestCreate(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleCreateInstanceSuccessfully(t)
+ fixture.SetupHandler(t, rootURL, "POST", createReq, createResp, 200)
opts := CreateOpts{
Name: "json_rack_instance",
@@ -61,31 +46,13 @@
instance, err := Create(fake.ServiceClient(), opts).Extract()
th.AssertNoErr(t, err)
- th.AssertDeepEquals(t, expectedInstance, instance)
+ th.AssertDeepEquals(t, &expectedInstance, instance)
}
func TestInstanceList(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleListInstanceSuccessfully(t)
-
- expectedInstance := Instance{
- Flavor: Flavor{
- ID: "1",
- Links: []gophercloud.Link{
- gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/1", Rel: "self"},
- gophercloud.Link{Href: "https://openstack.example.com/flavors/1", Rel: "bookmark"},
- },
- },
- ID: "8fb081af-f237-44f5-80cc-b46be1840ca9",
- Links: []gophercloud.Link{
- gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/instances/8fb081af-f237-44f5-80cc-b46be1840ca9", Rel: "self"},
- },
- Name: "xml_rack_instance",
- Status: "ACTIVE",
- Volume: Volume{Size: 2},
- }
+ fixture.SetupHandler(t, rootURL, "GET", "", listInstancesResp, 200)
pages := 0
err := List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
@@ -96,38 +63,30 @@
return false, err
}
- if len(actual) != 1 {
- t.Fatalf("Expected 1 DB instance, got %d", len(actual))
- }
- th.CheckDeepEquals(t, expectedInstance, actual[0])
+ th.CheckDeepEquals(t, []Instance{expectedInstance}, actual)
return true, nil
})
th.AssertNoErr(t, err)
-
- if pages != 1 {
- t.Errorf("Expected 1 page, saw %d", pages)
- }
+ th.AssertEquals(t, 1, pages)
}
func TestGetInstance(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleGetInstanceSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, resURL, "GET", "", getInstanceResp, 200)
instance, err := Get(fake.ServiceClient(), instanceID).Extract()
th.AssertNoErr(t, err)
- th.AssertDeepEquals(t, instance, expectedInstance)
+ th.AssertDeepEquals(t, &expectedInstance, instance)
}
func TestDeleteInstance(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleDeleteInstanceSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, resURL, "DELETE", "", "", 202)
res := Delete(fake.ServiceClient(), instanceID)
th.AssertNoErr(t, res.Err)
@@ -136,12 +95,11 @@
func TestEnableRootUser(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleEnableRootUserSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, uRootURL, "POST", "", enableUserResp, 200)
expected := &users.User{Name: "root", Password: "secretsecret"}
-
user, err := EnableRootUser(fake.ServiceClient(), instanceID).Extract()
+
th.AssertNoErr(t, err)
th.AssertDeepEquals(t, expected, user)
}
@@ -149,8 +107,7 @@
func TestIsRootEnabled(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleIsRootEnabledSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, uRootURL, "GET", "", isUserEnabledResp, 200)
isEnabled, err := IsRootEnabled(fake.ServiceClient(), instanceID)
@@ -161,32 +118,26 @@
func TestRestartService(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleRestartSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, aURL, "POST", restartReq, "", 202)
res := RestartService(fake.ServiceClient(), instanceID)
-
th.AssertNoErr(t, res.Err)
}
func TestResizeInstance(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleResizeInstanceSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, aURL, "POST", resizeReq, "", 202)
res := ResizeInstance(fake.ServiceClient(), instanceID, "2")
-
th.AssertNoErr(t, res.Err)
}
func TestResizeVolume(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
-
- HandleResizeVolSuccessfully(t, instanceID)
+ fixture.SetupHandler(t, aURL, "POST", resizeVolReq, "", 202)
res := ResizeVolume(fake.ServiceClient(), instanceID, 4)
-
th.AssertNoErr(t, res.Err)
}