Skip to content

Commit f454cc6

Browse files
authored
Merge pull request #99 from yanndegat/dev/fixtestaccipreverse
r/ip_reverse: add sweeper
2 parents 89a654f + fc5f066 commit f454cc6

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

ovh/resource_ovh_ip_reverse_test.go

+47
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ package ovh
22

33
import (
44
"fmt"
5+
"log"
56
"os"
7+
"strings"
68
"testing"
9+
"time"
710

811
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
912
"github.com/hashicorp/terraform-plugin-sdk/terraform"
13+
14+
"github.com/ovh/go-ovh/ovh"
1015
)
1116

1217
var testAccIpReverseConfig = fmt.Sprintf(`
@@ -17,6 +22,48 @@ resource "ovh_ip_reverse" "reverse" {
1722
}
1823
`, os.Getenv("OVH_IP_BLOCK"), os.Getenv("OVH_IP"), os.Getenv("OVH_IP_REVERSE"))
1924

25+
func init() {
26+
resource.AddTestSweepers("ovh_me_installation_template", &resource.Sweeper{
27+
Name: "ovh_ip_reverse",
28+
F: testSweepIpReverse,
29+
})
30+
}
31+
32+
func testSweepIpReverse(region string) error {
33+
client, err := sharedClientForRegion(region)
34+
if err != nil {
35+
return fmt.Errorf("error getting client: %s", err)
36+
}
37+
38+
reverse := OvhIpReverse{}
39+
testIp := os.Getenv("OVH_IP_BLOCK")
40+
testIpReverse := os.Getenv("OVH_IP")
41+
endpoint := fmt.Sprintf("/ip/%s/reverse/%s", strings.Replace(testIp, "/", "%2F", 1), testIpReverse)
42+
if err := client.Get(endpoint, &reverse); err != nil {
43+
if err.(*ovh.APIError).Code == 404 {
44+
// no ip reverse set, nothing to sweep
45+
return nil
46+
}
47+
48+
return fmt.Errorf("Error calling %s:\n\t %q", endpoint, err)
49+
}
50+
51+
log.Printf("[DEBUG] ip reverse found %v", reverse)
52+
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
53+
log.Printf("[INFO] Deleting reverse %v", reverse)
54+
if err := client.Delete(endpoint, nil); err != nil {
55+
return resource.RetryableError(err)
56+
}
57+
// Successful delete
58+
return nil
59+
})
60+
if err != nil {
61+
return err
62+
}
63+
64+
return nil
65+
}
66+
2067
func TestAccIpReverse_basic(t *testing.T) {
2168
resource.Test(t, resource.TestCase{
2269
PreCheck: func() { testAccPreCheckIp(t) },

0 commit comments

Comments
 (0)