Skip to content

Commit bf11be8

Browse files
committed
provider/digitalocean: enhance user_data test
Checks to ensure that the droplet is recreated. Commenting out `ForceNew` on `user_data` fails the test now. /cc @stack72
1 parent dbaa44a commit bf11be8

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

builtin/providers/digitalocean/resource_digitalocean_droplet_test.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func TestAccDigitalOceanDroplet_Update(t *testing.T) {
7272
}
7373

7474
func TestAccDigitalOceanDroplet_UpdateUserData(t *testing.T) {
75-
var droplet godo.Droplet
75+
var afterCreate, afterUpdate godo.Droplet
7676

7777
resource.Test(t, resource.TestCase{
7878
PreCheck: func() { testAccPreCheck(t) },
@@ -82,19 +82,21 @@ func TestAccDigitalOceanDroplet_UpdateUserData(t *testing.T) {
8282
resource.TestStep{
8383
Config: testAccCheckDigitalOceanDropletConfig_basic,
8484
Check: resource.ComposeTestCheckFunc(
85-
testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &droplet),
86-
testAccCheckDigitalOceanDropletAttributes(&droplet),
85+
testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &afterCreate),
86+
testAccCheckDigitalOceanDropletAttributes(&afterCreate),
8787
),
8888
},
8989

9090
resource.TestStep{
9191
Config: testAccCheckDigitalOceanDropletConfig_userdata_update,
9292
Check: resource.ComposeTestCheckFunc(
93-
testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &droplet),
93+
testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &afterUpdate),
9494
resource.TestCheckResourceAttr(
9595
"digitalocean_droplet.foobar",
9696
"user_data",
9797
"foobar foobar"),
98+
testAccCheckDigitalOceanDropletRecreated(
99+
t, &afterCreate, &afterUpdate),
98100
),
99101
},
100102
},
@@ -263,6 +265,16 @@ func testAccCheckDigitalOceanDropletExists(n string, droplet *godo.Droplet) reso
263265
}
264266
}
265267

268+
func testAccCheckDigitalOceanDropletRecreated(t *testing.T,
269+
before, after *godo.Droplet) resource.TestCheckFunc {
270+
return func(s *terraform.State) error {
271+
if before.ID == after.ID {
272+
t.Fatalf("Expected change of droplet IDs, but both were %v", before.ID)
273+
}
274+
return nil
275+
}
276+
}
277+
266278
// Not sure if this check should remain here as the underlaying
267279
// function is changed and is tested indirectly by almost all
268280
// other test already

0 commit comments

Comments
 (0)