@@ -12,6 +12,7 @@ import (
1212 instanceSDK "github.com/scaleway/scaleway-sdk-go/api/instance/v1"
1313 "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest"
1414 "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/instance"
15+ instancechecks "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/instance/testfuncs"
1516)
1617
1718func TestAccActionServer_Basic (t * testing.T ) {
@@ -24,6 +25,7 @@ func TestAccActionServer_Basic(t *testing.T) {
2425
2526 resource .ParallelTest (t , resource.TestCase {
2627 ProtoV6ProviderFactories : tt .ProviderFactories ,
28+ CheckDestroy : instancechecks .IsServerDestroyed (tt ),
2729 Steps : []resource.TestStep {
2830 {
2931 Config : `
@@ -110,6 +112,7 @@ func TestAccActionServer_On_Off(t *testing.T) {
110112
111113 resource .ParallelTest (t , resource.TestCase {
112114 ProtoV6ProviderFactories : tt .ProviderFactories ,
115+ CheckDestroy : instancechecks .IsServerDestroyed (tt ),
113116 Steps : []resource.TestStep {
114117 {
115118 Config : fmt .Sprintf (`
@@ -144,28 +147,46 @@ func TestAccActionServer_On_Off(t *testing.T) {
144147 {
145148 Config : fmt .Sprintf (`
146149 resource "scaleway_instance_server" "main" {
147- name = "should-be-started "
150+ name = "should-be-powered-off "
148151 type = "DEV1-S"
149152 image = "ubuntu_jammy"
150153
151154 lifecycle {
152- action_trigger {
153- events = [after_create]
154- actions = [action.scaleway_instance_server_action.stop]
155- }
156155 action_trigger {
157156 events = [after_update]
158- actions = [action.scaleway_instance_server_action.start ]
157+ actions = [action.scaleway_instance_server_action.poweroff ]
159158 }
160159 }
161160 }
162161
163- action "scaleway_instance_server_action" "stop " {
162+ action "scaleway_instance_server_action" "poweroff " {
164163 config {
165164 action = "%s"
166165 server_id = scaleway_instance_server.main.id
167166 wait = true
168167 }
168+ }` , instanceSDK .ServerActionPoweroff ),
169+ },
170+ {
171+ RefreshState : true ,
172+ Check : resource .ComposeTestCheckFunc (
173+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "state" , instance .InstanceServerStateStopped ),
174+ readActualServerState (tt , "scaleway_instance_server.main" , instanceSDK .ServerStateStopped .String ()),
175+ ),
176+ },
177+ {
178+ Config : fmt .Sprintf (`
179+ resource "scaleway_instance_server" "main" {
180+ name = "should-be-started"
181+ type = "DEV1-S"
182+ image = "ubuntu_jammy"
183+
184+ lifecycle {
185+ action_trigger {
186+ events = [after_update]
187+ actions = [action.scaleway_instance_server_action.start]
188+ }
189+ }
169190 }
170191
171192 action "scaleway_instance_server_action" "start" {
@@ -174,7 +195,7 @@ func TestAccActionServer_On_Off(t *testing.T) {
174195 server_id = scaleway_instance_server.main.id
175196 wait = true
176197 }
177- }` , instanceSDK .ServerActionStopInPlace , instanceSDK . ServerActionPoweron ),
198+ }` , instanceSDK .ServerActionPoweron ),
178199 },
179200 {
180201 RefreshState : true ,
@@ -186,44 +207,31 @@ func TestAccActionServer_On_Off(t *testing.T) {
186207 {
187208 Config : fmt .Sprintf (`
188209 resource "scaleway_instance_server" "main" {
189- name = "should-be-powered-off "
210+ name = "should-be-terminated "
190211 type = "DEV1-S"
191212 image = "ubuntu_jammy"
192213
193214 lifecycle {
194- action_trigger {
195- events = [after_create]
196- actions = [action.scaleway_instance_server_action.stop]
197- }
198215 action_trigger {
199216 events = [after_update]
200- actions = [action.scaleway_instance_server_action.poweroff ]
217+ actions = [action.scaleway_instance_server_action.terminate ]
201218 }
202219 }
203220 }
204221
205- action "scaleway_instance_server_action" "stop" {
206- config {
207- action = "%s"
208- server_id = scaleway_instance_server.main.id
209- wait = true
210- }
211- }
212-
213- action "scaleway_instance_server_action" "poweroff" {
222+ action "scaleway_instance_server_action" "terminate" {
214223 config {
215224 action = "%s"
216225 server_id = scaleway_instance_server.main.id
217- wait = true
226+ wait = false
218227 }
219- }` , instanceSDK .ServerActionStopInPlace , instanceSDK .ServerActionPoweroff ),
228+ }` , instanceSDK .ServerActionTerminate ),
229+ ExpectNonEmptyPlan : true ,
220230 },
221231 {
222- RefreshState : true ,
223- Check : resource .ComposeTestCheckFunc (
224- resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "state" , instance .InstanceServerStateStopped ),
225- readActualServerState (tt , "scaleway_instance_server.main" , instanceSDK .ServerStateStopped .String ()),
226- ),
232+ RefreshState : true ,
233+ Check : instancechecks .IsServerDestroyed (tt ),
234+ ExpectNonEmptyPlan : true ,
227235 },
228236 },
229237 })
0 commit comments