Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions GNUmakefile → Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
.PHONY: all build deps generate help test openapi_generate
SWAGGER_SPEC=swagger.yml
SWAGGER_SPEC := swagger.yml

help: ## Show this help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.PHONY: help

all: deps openapi_generate generate test testacc # build
.PHONY: all

build: ## Build Terraform provider.
go install .
.PHONY: build

deps: ## Install dependencies.
go mod download
.PHONY: deps

generate: ## Generate Terraform docs.
go generate
.PHONY: generate

openapi_generate: ## Generate the go code from the OpenAPI spec.
docker run --rm \
Expand All @@ -26,10 +30,13 @@ openapi_generate: ## Generate the go code from the OpenAPI spec.
sed -i '' 's/int32/int64/g' internal/netlifyapi/model_*.go ; \
sed -i '' 's/int32/int64/g' internal/netlifyapi/api_*.go ; \
sed -i '' 's/return e.error/return fmt.Sprintf("%s: %s", e.error, e.body)/g' internal/netlifyapi/client.go
.PHONY: openapi_generate

test: ## Test the go code.
go test -v ./...
.PHONY: test

testacc: ## Test the go code and run acceptance tests.
TF_ACC=1 go test ./... -v $(TESTARGS)
# -timeout 120m
.PHONY: testacc
6 changes: 0 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,6 @@ github.com/hashicorp/terraform-json v0.24.0 h1:rUiyF+x1kYawXeRth6fKFm/MdfBS6+lW4
github.com/hashicorp/terraform-json v0.24.0/go.mod h1:Nfj5ubo9xbu9uiAoZVBsNOjvNKB66Oyrvtit74kC7ow=
github.com/hashicorp/terraform-plugin-docs v0.21.0 h1:yoyA/Y719z9WdFJAhpUkI1jRbKP/nteVNBaI3hW7iQ8=
github.com/hashicorp/terraform-plugin-docs v0.21.0/go.mod h1:J4Wott1J2XBKZPp/NkQv7LMShJYOcrqhQ2myXBcu64s=
github.com/hashicorp/terraform-plugin-framework v1.14.0 h1:lsmTJqBlZ4GUabnDxj8Lsa5bmbuUKiUO3Zm9iIKSDf0=
github.com/hashicorp/terraform-plugin-framework v1.14.0/go.mod h1:xNUKmvTs6ldbwTuId5euAtg37dTxuyj3LHS3uj7BHQ4=
github.com/hashicorp/terraform-plugin-framework v1.14.1 h1:jaT1yvU/kEKEsxnbrn4ZHlgcxyIfjvZ41BLdlLk52fY=
github.com/hashicorp/terraform-plugin-framework v1.14.1/go.mod h1:xNUKmvTs6ldbwTuId5euAtg37dTxuyj3LHS3uj7BHQ4=
github.com/hashicorp/terraform-plugin-framework-validators v0.17.0 h1:0uYQcqqgW3BMyyve07WJgpKorXST3zkpzvrOnf3mpbg=
Expand Down Expand Up @@ -325,10 +323,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98=
golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
18 changes: 9 additions & 9 deletions internal/provider/dns_record_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ import (
)

func TestAccDnsRecordA(t *testing.T) {
var zoneId = "66afdbce3cf2b4f0fab520d9"
var zoneId = "69052bba28ce689f129b1ac8"
accTest(t, []resource.TestStep{
{
Config: `resource "netlify_dns_record" "example" {
type = "A"
zone_id = "66afdbce3cf2b4f0fab520d9"
hostname = "testacc.examplepetstore.com"
zone_id = "69052bba28ce689f129b1ac8"
hostname = "testacc.nf-terraform-test.com"
value = "10.0.0.0"
}`,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("netlify_dns_record.example", "type", "A"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "zone_id", zoneId),
resource.TestCheckResourceAttr("netlify_dns_record.example", "hostname", "testacc.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "hostname", "testacc.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "value", "10.0.0.0"),
),
},
Expand All @@ -44,8 +44,8 @@ func TestAccDnsRecordA(t *testing.T) {
{
Config: `resource "netlify_dns_record" "example" {
type = "A"
zone_id = "66afdbce3cf2b4f0fab520d9"
hostname = "testacc.examplepetstore.com"
zone_id = "69052bba28ce689f129b1ac8"
hostname = "testacc.nf-terraform-test.com"
value = "10.0.0.1"
}`,
ConfigPlanChecks: resource.ConfigPlanChecks{
Expand All @@ -56,20 +56,20 @@ func TestAccDnsRecordA(t *testing.T) {
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("netlify_dns_record.example", "type", "A"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "zone_id", zoneId),
resource.TestCheckResourceAttr("netlify_dns_record.example", "hostname", "testacc.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "hostname", "testacc.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_dns_record.example", "value", "10.0.0.1"),
),
},
}, testAccDnsRecordCheckDestroy)
}

func testAccDnsRecordCheckDestroy(s *terraform.State) error {
records, _, err := testAccProvider.client.DNSZonesAPI.GetDnsRecords(context.Background(), "66afdbce3cf2b4f0fab520d9").Execute()
records, _, err := testAccProvider.client.DNSZonesAPI.GetDnsRecords(context.Background(), "69052bba28ce689f129b1ac8").Execute()
if err != nil {
return err
}
for _, record := range records {
if record.Hostname == "testacc.examplepetstore.com" {
if record.Hostname == "testacc.nf-terraform-test.com" {
return fmt.Errorf("DNS record still exists")
}
}
Expand Down
4 changes: 2 additions & 2 deletions internal/provider/dns_zone_data_source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ func TestAccDataDnsZone(t *testing.T) {
accTest(t, []resource.TestStep{
{
Config: `data "netlify_dns_zone" "example" {
name = "examplepetstore.com"
name = "nf-terraform-test.com"
}`,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("data.netlify_dns_zone.example", "id", "66afdbce3cf2b4f0fab520d9"),
resource.TestCheckResourceAttr("data.netlify_dns_zone.example", "id", "69052bba28ce689f129b1ac8"),
),
},
}, func(s *terraform.State) error { return nil })
Expand Down
4 changes: 2 additions & 2 deletions internal/provider/dns_zone_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func TestAccDnsZone(t *testing.T) {
accTest(t, []resource.TestStep{
{
Config: `resource "netlify_dns_zone" "example" {
name = "tfsoftsecretnetlifytestingexamplestore.com"
name = "nf-terraform-test-2.com"
team_slug = "netlify-terraform-test"
}`,
Check: resource.ComposeAggregateTestCheckFunc(
Expand All @@ -31,7 +31,7 @@ func TestAccDnsZone(t *testing.T) {

{
Config: `resource "netlify_dns_zone" "example" {
name = "tfsoftsecretnetlifytestingexamplestore2.com"
name = "nf-terraform-test-2-updated.com"
team_slug = "netlify-terraform-test"
}`,
ConfigPlanChecks: resource.ConfigPlanChecks{
Expand Down
4 changes: 2 additions & 2 deletions internal/provider/log_drain_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func TestAccLogDrain(t *testing.T) {
format = "ndjson"
exclude_pii = false
service_config = {
url = "https://httpstat.us/200"
url = "https://tools-httpstatus.pickup-services.com/200"
}
}`,
Check: resource.ComposeAggregateTestCheckFunc(
Expand Down Expand Up @@ -52,7 +52,7 @@ func TestAccLogDrain(t *testing.T) {
format = "ndjson"
exclude_pii = true
service_config = {
url = "https://httpstat.us/200"
url = "https://tools-httpstatus.pickup-services.com/200"
}
}`,
ConfigPlanChecks: resource.ConfigPlanChecks{
Expand Down
50 changes: 25 additions & 25 deletions internal/provider/site_domain_settings_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,35 @@ func TestAccSiteDomainSettings(t *testing.T) {
{
Config: `resource "netlify_site_domain_settings" "example" {
site_id = "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"
custom_domain = "tf-test-1.examplepetstore.com"
domain_aliases = ["tf-test-1-alias.examplepetstore.com"]
branch_deploy_custom_domain = "tf-test-12-branch.examplepetstore.com"
deploy_preview_custom_domain = "tf-test-12-dp.examplepetstore.com"
custom_domain = "tf-test-1.nf-terraform-test.com"
domain_aliases = ["tf-test-1-alias.nf-terraform-test.com"]
branch_deploy_custom_domain = "tf-test-12-branch.nf-terraform-test.com"
deploy_preview_custom_domain = "tf-test-12-dp.nf-terraform-test.com"
}`,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "site_id", "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "custom_domain", "tf-test-1.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "custom_domain", "tf-test-1.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.#", "1"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.0", "tf-test-1-alias.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "branch_deploy_custom_domain", "tf-test-12-branch.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "deploy_preview_custom_domain", "tf-test-12-dp.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.0", "tf-test-1-alias.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "branch_deploy_custom_domain", "tf-test-12-branch.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "deploy_preview_custom_domain", "tf-test-12-dp.nf-terraform-test.com"),
),
},
{
Config: `resource "netlify_site_domain_settings" "example" {
site_id = "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"
custom_domain = "tf-test-1.examplepetstore.com"
domain_aliases = ["tf-test-1-alias.examplepetstore.com"]
branch_deploy_custom_domain = "tf-test-1-branch.examplepetstore.com"
deploy_preview_custom_domain = "tf-test-1-dp.examplepetstore.com"
custom_domain = "tf-test-1.nf-terraform-test.com"
domain_aliases = ["tf-test-1-alias.nf-terraform-test.com"]
branch_deploy_custom_domain = "tf-test-1-branch.nf-terraform-test.com"
deploy_preview_custom_domain = "tf-test-1-dp.nf-terraform-test.com"
}`,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "site_id", "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "custom_domain", "tf-test-1.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "custom_domain", "tf-test-1.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.#", "1"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.0", "tf-test-1-alias.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "branch_deploy_custom_domain", "tf-test-1-branch.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "deploy_preview_custom_domain", "tf-test-1-dp.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "domain_aliases.0", "tf-test-1-alias.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "branch_deploy_custom_domain", "tf-test-1-branch.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.example", "deploy_preview_custom_domain", "tf-test-1-dp.nf-terraform-test.com"),
),
},
{
Expand All @@ -60,12 +60,12 @@ func TestAccSiteDomainSettingsNullFields(t *testing.T) {
accTest(t, []resource.TestStep{
{
Config: `resource "netlify_site_domain_settings" "null_fields" {
site_id = "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"
custom_domain = "tf-test-null-fields.examplepetstore.com"
site_id = "605830b8-16e3-4c9e-9010-be3fef9e977b"
custom_domain = "tf-test-null-fields.nf-terraform-test.com"
}`,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "site_id", "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "custom_domain", "tf-test-null-fields.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "site_id", "605830b8-16e3-4c9e-9010-be3fef9e977b"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "custom_domain", "tf-test-null-fields.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "domain_aliases.#", "0"),
// These should be null/empty when not set
resource.TestCheckNoResourceAttr("netlify_site_domain_settings.null_fields", "branch_deploy_custom_domain"),
Expand All @@ -75,20 +75,20 @@ func TestAccSiteDomainSettingsNullFields(t *testing.T) {
{
// Second step with same config should not detect changes (no drift)
Config: `resource "netlify_site_domain_settings" "null_fields" {
site_id = "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"
custom_domain = "tf-test-null-fields.examplepetstore.com"
site_id = "605830b8-16e3-4c9e-9010-be3fef9e977b"
custom_domain = "tf-test-null-fields.nf-terraform-test.com"
}`,
PlanOnly: true,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "site_id", "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "custom_domain", "tf-test-null-fields.examplepetstore.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "site_id", "605830b8-16e3-4c9e-9010-be3fef9e977b"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "custom_domain", "tf-test-null-fields.nf-terraform-test.com"),
resource.TestCheckResourceAttr("netlify_site_domain_settings.null_fields", "domain_aliases.#", "0"),
),
},
{
ResourceName: "netlify_site_domain_settings.null_fields",
ImportState: true,
ImportStateId: "5b407d6d-9385-4e7a-a4c4-8efc11ea3c26",
ImportStateId: "605830b8-16e3-4c9e-9010-be3fef9e977b",
ImportStateVerifyIdentifierAttribute: "site_id",
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"last_updated"},
Expand Down
Loading