Skip to content

Commit c3e7fe5

Browse files
committed
fix
1 parent 2073010 commit c3e7fe5

File tree

5 files changed

+982
-1024
lines changed

5 files changed

+982
-1024
lines changed

internal/services/instance/private_nic_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ func isPrivateNICDestroyed(tt *acctest.TestTools) resource.TestCheckFunc {
261261
return retry.NonRetryableError(err)
262262
}
263263
}
264-
264+
265265
return nil
266266
})
267267
}

internal/services/rdb/database_backup_test.go

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package rdb_test
22

33
import (
4+
"context"
45
"fmt"
56
"testing"
7+
"time"
68

9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry"
710
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
811
"github.com/hashicorp/terraform-plugin-testing/terraform"
912
rdbSDK "github.com/scaleway/scaleway-sdk-go/api/rdb/v1"
@@ -113,33 +116,36 @@ func TestAccDatabaseBackup_Basic(t *testing.T) {
113116

114117
func isBackupDestroyed(tt *acctest.TestTools) resource.TestCheckFunc {
115118
return func(state *terraform.State) error {
116-
for _, rs := range state.RootModule().Resources {
117-
if rs.Type != "scaleway_rdb_database_backup" {
118-
continue
119+
ctx := context.Background()
120+
121+
return retry.RetryContext(ctx, 3*time.Minute, func() *retry.RetryError {
122+
for _, rs := range state.RootModule().Resources {
123+
if rs.Type != "scaleway_rdb_database_backup" {
124+
continue
125+
}
126+
127+
api, region, id, err := rdb.NewAPIWithRegionAndID(tt.Meta, rs.Primary.ID)
128+
if err != nil {
129+
return retry.NonRetryableError(err)
130+
}
131+
132+
_, err = api.GetDatabaseBackup(&rdbSDK.GetDatabaseBackupRequest{
133+
DatabaseBackupID: id,
134+
Region: region,
135+
})
136+
137+
switch {
138+
case err == nil:
139+
return retry.RetryableError(fmt.Errorf("backup (%s) still exists", rs.Primary.ID))
140+
case httperrors.Is404(err):
141+
continue
142+
default:
143+
return retry.NonRetryableError(err)
144+
}
119145
}
120146

121-
rdbAPI, region, ID, err := rdb.NewAPIWithRegionAndID(tt.Meta, rs.Primary.ID)
122-
if err != nil {
123-
return err
124-
}
125-
126-
_, err = rdbAPI.GetDatabaseBackup(&rdbSDK.GetDatabaseBackupRequest{
127-
DatabaseBackupID: ID,
128-
Region: region,
129-
})
130-
131-
// If no error resource still exist
132-
if err == nil {
133-
return fmt.Errorf("backup (%s) still exists", rs.Primary.ID)
134-
}
135-
136-
// Unexpected api error we return it
137-
if !httperrors.Is404(err) {
138-
return err
139-
}
140-
}
141-
142-
return nil
147+
return nil
148+
})
143149
}
144150
}
145151

internal/services/rdb/testdata/data-source-database-backup-basic.cassette.yaml

Lines changed: 662 additions & 613 deletions
Large diffs are not rendered by default.

internal/services/secret/secret_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,17 +332,18 @@ func testAccCheckSecretDestroy(tt *acctest.TestTools) resource.TestCheckFunc {
332332
return retry.NonRetryableError(err)
333333
}
334334

335-
_, err = api.GetSecret(&secretSDK.GetSecretRequest{
335+
sec, err := api.GetSecret(&secretSDK.GetSecretRequest{
336336
SecretID: id,
337337
Region: region,
338338
})
339339

340340
switch {
341-
case err == nil:
342-
return retry.RetryableError(fmt.Errorf("secret (%s) still exists", rs.Primary.ID))
341+
case err == nil && sec != nil && sec.DeletionRequestedAt != nil:
342+
// Soft-deleted (scheduled for deletion), treat as destroyed for tests
343+
continue
343344
case httperrors.Is404(err):
344345
continue
345-
default:
346+
case err != nil:
346347
return retry.NonRetryableError(err)
347348
}
348349
}

0 commit comments

Comments
 (0)