func TestDelete(t *testing.T) { th.SetupHTTP() defer th.TeardownHTTP() th.Mux.HandleFunc("/v2.0/fw/firewalls/4ec89087-d057-4e2c-911f-60a3b47ee304", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "DELETE") th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) w.WriteHeader(http.StatusNoContent) }) res := firewalls.Delete(fake.ServiceClient(), "4ec89087-d057-4e2c-911f-60a3b47ee304") th.AssertNoErr(t, res.Err) }
// DeleteFirewall will delete a firewall with a specified ID. A fatal error // will occur if the delete was not successful. This works best when used as // a deferred function. func DeleteFirewall(t *testing.T, client *gophercloud.ServiceClient, firewallID string) { t.Logf("Attempting to delete firewall: %s", firewallID) err := firewalls.Delete(client, firewallID).ExtractErr() if err != nil { t.Fatalf("Unable to delete firewall %s: %v", firewallID, err) } t.Logf("Waiting for firewall to delete.") if err := WaitForFirewallState(client, firewallID, "DELETED", 60); err != nil { t.Logf("Unable to delete firewall: %s", firewallID) } t.Logf("Firewall deleted: %s", firewallID) }
func resourceFWFirewallV1Delete(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Destroy firewall: %s", d.Id()) config := meta.(*Config) networkingClient, err := config.networkingV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } stateConf := &resource.StateChangeConf{ Pending: []string{"PENDING_CREATE", "PENDING_UPDATE"}, Target: []string{"ACTIVE"}, Refresh: waitForFirewallActive(networkingClient, d.Id()), Timeout: 30 * time.Second, Delay: 0, MinTimeout: 2 * time.Second, } _, err = stateConf.WaitForState() err = firewalls.Delete(networkingClient, d.Id()).Err if err != nil { return err } stateConf = &resource.StateChangeConf{ Pending: []string{"DELETING"}, Target: []string{"DELETED"}, Refresh: waitForFirewallDeletion(networkingClient, d.Id()), Timeout: 2 * time.Minute, Delay: 0, MinTimeout: 2 * time.Second, } _, err = stateConf.WaitForState() return err }