Delete nodes :fire:
diff --git a/rackspace/lb/v1/nodes/fixtures.go b/rackspace/lb/v1/nodes/fixtures.go
index 2436664..de769c7 100644
--- a/rackspace/lb/v1/nodes/fixtures.go
+++ b/rackspace/lb/v1/nodes/fixtures.go
@@ -123,11 +123,11 @@
})
}
-func mockDeleteLBResponse(t *testing.T, lbID, nodeID int) {
+func mockDeleteResponse(t *testing.T, lbID, nodeID int) {
th.Mux.HandleFunc(_nodeURL(lbID, nodeID), func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "DELETE")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
- w.WriteHeader(http.StatusAccepted)
+ w.WriteHeader(http.StatusOK)
})
}
diff --git a/rackspace/lb/v1/nodes/requests.go b/rackspace/lb/v1/nodes/requests.go
index 85d3fb1..c46252b 100644
--- a/rackspace/lb/v1/nodes/requests.go
+++ b/rackspace/lb/v1/nodes/requests.go
@@ -191,3 +191,14 @@
return res
}
+
+func Delete(c *gophercloud.ServiceClient, lbID, nodeID int) DeleteResult {
+ var res DeleteResult
+
+ _, res.Err = perigee.Request("DELETE", resourceURL(c, lbID, nodeID), perigee.Options{
+ MoreHeaders: c.AuthenticatedHeaders(),
+ OkCodes: []int{200},
+ })
+
+ return res
+}
diff --git a/rackspace/lb/v1/nodes/requests_test.go b/rackspace/lb/v1/nodes/requests_test.go
index 121cbee..5951b24 100644
--- a/rackspace/lb/v1/nodes/requests_test.go
+++ b/rackspace/lb/v1/nodes/requests_test.go
@@ -157,3 +157,13 @@
err := Update(client.ServiceClient(), lbID, nodeID, opts).ExtractErr()
th.AssertNoErr(t, err)
}
+
+func TestDelete(t *testing.T) {
+ th.SetupHTTP()
+ defer th.TeardownHTTP()
+
+ mockDeleteResponse(t, lbID, nodeID)
+
+ err := Delete(client.ServiceClient(), lbID, nodeID).ExtractErr()
+ th.AssertNoErr(t, err)
+}