Skip to content

Commit 4dab5c1

Browse files
authored
Merge branch 'master' into feat/add_support_for_blockedlist
2 parents 0555f76 + f1509df commit 4dab5c1

5 files changed

+2255
-1180
lines changed

internal/services/tem/domain_validation.go

+10
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,16 @@ func ResourceDomainValidationCreate(ctx context.Context, d *schema.ResourceData,
8989
return nil
9090
})
9191

92+
domainCheck, _ := api.CheckDomain(&tem.CheckDomainRequest{
93+
Region: region,
94+
DomainID: domain.ID,
95+
})
96+
if domainCheck == nil || domainCheck.Status == "pending" || domainCheck.Status == "unchecked" || domainCheck.Status == "autoconfiguring" {
97+
d.SetId("")
98+
99+
return diag.Errorf("domain validation did not complete in %d seconds", duration)
100+
}
101+
92102
return ResourceDomainValidationRead(ctx, d, meta)
93103
}
94104

internal/services/tem/domain_validation_test.go

+23-24
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package tem_test
22

33
import (
44
"fmt"
5+
"regexp"
56
"testing"
67

78
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -10,11 +11,11 @@ import (
1011

1112
const domainNameValidation = "scaleway-terraform.com"
1213

13-
func TestAccDomainValidation_NoValidation(t *testing.T) {
14+
func TestAccDomainValidation_Validation(t *testing.T) {
1415
tt := acctest.NewTestTools(t)
1516
defer tt.Cleanup()
1617

17-
subDomainName := "validation-no-validation"
18+
subDomainName := "validation-validation"
1819

1920
resource.ParallelTest(t, resource.TestCase{
2021
PreCheck: func() { acctest.PreCheck(t) },
@@ -32,27 +33,28 @@ func TestAccDomainValidation_NoValidation(t *testing.T) {
3233
resource scaleway_tem_domain cr01 {
3334
name = scaleway_domain_zone.test.id
3435
accept_tos = true
36+
autoconfig = true
3537
}
3638
3739
resource scaleway_tem_domain_validation valid {
3840
domain_id = scaleway_tem_domain.cr01.id
3941
region = scaleway_tem_domain.cr01.region
40-
timeout = 1
42+
timeout = 3600
4143
}
4244
`, domainNameValidation, subDomainName),
4345
Check: resource.ComposeTestCheckFunc(
44-
resource.TestCheckResourceAttr("scaleway_tem_domain_validation.valid", "validated", "false"),
46+
resource.TestCheckResourceAttr("scaleway_tem_domain_validation.valid", "validated", "true"),
4547
),
4648
},
4749
},
4850
})
4951
}
5052

51-
func TestAccDomainValidation_Validation(t *testing.T) {
53+
func TestAccDomainValidation_TimeoutError(t *testing.T) {
5254
tt := acctest.NewTestTools(t)
5355
defer tt.Cleanup()
5456

55-
subDomainName := "validation-validation"
57+
subDomainName := "validation-timeout"
5658

5759
resource.ParallelTest(t, resource.TestCase{
5860
PreCheck: func() { acctest.PreCheck(t) },
@@ -62,26 +64,23 @@ func TestAccDomainValidation_Validation(t *testing.T) {
6264
{
6365
Config: fmt.Sprintf(`
6466
65-
resource "scaleway_domain_zone" "test" {
66-
domain = "%s"
67-
subdomain = "%s"
68-
}
67+
resource "scaleway_domain_zone" "test" {
68+
domain = "%s"
69+
subdomain = "%s"
70+
}
6971
70-
resource scaleway_tem_domain cr01 {
71-
name = scaleway_domain_zone.test.id
72-
accept_tos = true
73-
autoconfig = true
74-
}
72+
resource scaleway_tem_domain cr01 {
73+
name = scaleway_domain_zone.test.id
74+
accept_tos = true
75+
}
7576
76-
resource scaleway_tem_domain_validation valid {
77-
domain_id = scaleway_tem_domain.cr01.id
78-
region = scaleway_tem_domain.cr01.region
79-
timeout = 3600
80-
}
81-
`, domainNameValidation, subDomainName),
82-
Check: resource.ComposeTestCheckFunc(
83-
resource.TestCheckResourceAttr("scaleway_tem_domain_validation.valid", "validated", "true"),
84-
),
77+
resource scaleway_tem_domain_validation valid {
78+
domain_id = scaleway_tem_domain.cr01.id
79+
region = scaleway_tem_domain.cr01.region
80+
timeout = 1
81+
}
82+
`, domainNameValidation, subDomainName),
83+
ExpectError: regexp.MustCompile("(?i)domain validation did not complete"),
8584
},
8685
},
8786
})

0 commit comments

Comments
 (0)