From 6cbb7c6da7ac9985302eda4b72998a071997c204 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 26 Mar 2026 20:22:45 +0200 Subject: [PATCH] fix(provisioner/terraform): regenerate fixtures with current provider (#23685) Two test fixtures (devcontainer-resources, multiple-agents-multiple-envs) were generated before terraform-provider-coder v2.15.0 added the merge_strategy attribute to coder_env. Running generate.sh with the current provider adds merge_strategy: "replace" (the default) to all coder_env resources, causing unstable diffs on every regeneration. --- provisioner/terraform/resources_test.go | 20 +++++++++++-------- .../converted_state.plan.golden | 3 ++- .../converted_state.state.golden | 3 ++- .../devcontainer-resources.tfplan.json | 2 ++ .../devcontainer-resources.tfstate.json | 1 + .../converted_state.plan.golden | 9 ++++++--- .../converted_state.state.golden | 9 ++++++--- .../multiple-agents-multiple-envs.tfplan.json | 6 ++++++ ...multiple-agents-multiple-envs.tfstate.json | 3 +++ 9 files changed, 40 insertions(+), 16 deletions(-) diff --git a/provisioner/terraform/resources_test.go b/provisioner/terraform/resources_test.go index a14017e2dc..5ddaaeeef2 100644 --- a/provisioner/terraform/resources_test.go +++ b/provisioner/terraform/resources_test.go @@ -325,12 +325,14 @@ func TestConvertResources(t *testing.T) { Architecture: "amd64", ExtraEnvs: []*proto.Env{ { - Name: "ENV_1", - Value: "Env 1", + Name: "ENV_1", + Value: "Env 1", + MergeStrategy: "replace", }, { - Name: "ENV_2", - Value: "Env 2", + Name: "ENV_2", + Value: "Env 2", + MergeStrategy: "replace", }, }, Auth: &proto.Agent_Token{}, @@ -348,8 +350,9 @@ func TestConvertResources(t *testing.T) { Architecture: "amd64", ExtraEnvs: []*proto.Env{ { - Name: "ENV_3", - Value: "Env 3", + Name: "ENV_3", + Value: "Env 3", + MergeStrategy: "replace", }, }, Auth: &proto.Agent_Token{}, @@ -1012,8 +1015,9 @@ func TestConvertResources(t *testing.T) { }, Envs: []*proto.Env{ { - Name: "DEVCONTAINER_ENV", - Value: "devcontainer-value", + Name: "DEVCONTAINER_ENV", + Value: "devcontainer-value", + MergeStrategy: "replace", }, }, }, diff --git a/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.plan.golden b/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.plan.golden index 45f088300d..a810c9141b 100644 --- a/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.plan.golden +++ b/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.plan.golden @@ -45,7 +45,8 @@ "envs": [ { "name": "DEVCONTAINER_ENV", - "value": "devcontainer-value" + "value": "devcontainer-value", + "merge_strategy": "replace" } ] } diff --git a/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.state.golden b/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.state.golden index 7020717bef..d9dc551341 100644 --- a/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.state.golden +++ b/provisioner/terraform/testdata/resources/devcontainer-resources/converted_state.state.golden @@ -48,7 +48,8 @@ "envs": [ { "name": "DEVCONTAINER_ENV", - "value": "devcontainer-value" + "value": "devcontainer-value", + "merge_strategy": "replace" } ] } diff --git a/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfplan.json b/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfplan.json index c960c1e210..43a728f75b 100644 --- a/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfplan.json +++ b/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfplan.json @@ -83,6 +83,7 @@ "provider_name": "registry.terraform.io/coder/coder", "schema_version": 1, "values": { + "merge_strategy": "replace", "name": "DEVCONTAINER_ENV", "value": "devcontainer-value" }, @@ -243,6 +244,7 @@ ], "before": null, "after": { + "merge_strategy": "replace", "name": "DEVCONTAINER_ENV", "value": "devcontainer-value" }, diff --git a/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfstate.json b/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfstate.json index 9a6a80e4f4..42d7d7c473 100644 --- a/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfstate.json +++ b/provisioner/terraform/testdata/resources/devcontainer-resources/devcontainer-resources.tfstate.json @@ -111,6 +111,7 @@ "values": { "agent_id": "b4db82a1-1cba-4d97-8893-cf2ca9a9fe1a", "id": "0982d946-8a12-423a-a316-d4263f94a124", + "merge_strategy": "replace", "name": "DEVCONTAINER_ENV", "value": "devcontainer-value" }, diff --git a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.plan.golden b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.plan.golden index 7550069659..a77cd35f28 100644 --- a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.plan.golden +++ b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.plan.golden @@ -21,11 +21,13 @@ "extra_envs": [ { "name": "ENV_1", - "value": "Env 1" + "value": "Env 1", + "merge_strategy": "replace" }, { "name": "ENV_2", - "value": "Env 2" + "value": "Env 2", + "merge_strategy": "replace" } ], "resources_monitoring": {}, @@ -54,7 +56,8 @@ "extra_envs": [ { "name": "ENV_3", - "value": "Env 3" + "value": "Env 3", + "merge_strategy": "replace" } ], "resources_monitoring": {}, diff --git a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.state.golden b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.state.golden index c041641367..447ed94f62 100644 --- a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.state.golden +++ b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/converted_state.state.golden @@ -22,11 +22,13 @@ "extra_envs": [ { "name": "ENV_1", - "value": "Env 1" + "value": "Env 1", + "merge_strategy": "replace" }, { "name": "ENV_2", - "value": "Env 2" + "value": "Env 2", + "merge_strategy": "replace" } ], "resources_monitoring": {}, @@ -56,7 +58,8 @@ "extra_envs": [ { "name": "ENV_3", - "value": "Env 3" + "value": "Env 3", + "merge_strategy": "replace" } ], "resources_monitoring": {}, diff --git a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfplan.json b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfplan.json index 0e9ef6a899..b9e86d0764 100644 --- a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfplan.json +++ b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfplan.json @@ -74,6 +74,7 @@ "provider_name": "registry.terraform.io/coder/coder", "schema_version": 1, "values": { + "merge_strategy": "replace", "name": "ENV_1", "value": "Env 1" }, @@ -87,6 +88,7 @@ "provider_name": "registry.terraform.io/coder/coder", "schema_version": 1, "values": { + "merge_strategy": "replace", "name": "ENV_2", "value": "Env 2" }, @@ -100,6 +102,7 @@ "provider_name": "registry.terraform.io/coder/coder", "schema_version": 1, "values": { + "merge_strategy": "replace", "name": "ENV_3", "value": "Env 3" }, @@ -235,6 +238,7 @@ ], "before": null, "after": { + "merge_strategy": "replace", "name": "ENV_1", "value": "Env 1" }, @@ -258,6 +262,7 @@ ], "before": null, "after": { + "merge_strategy": "replace", "name": "ENV_2", "value": "Env 2" }, @@ -281,6 +286,7 @@ ], "before": null, "after": { + "merge_strategy": "replace", "name": "ENV_3", "value": "Env 3" }, diff --git a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfstate.json b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfstate.json index 4214aa1fce..d6531d0125 100644 --- a/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfstate.json +++ b/provisioner/terraform/testdata/resources/multiple-agents-multiple-envs/multiple-agents-multiple-envs.tfstate.json @@ -104,6 +104,7 @@ "values": { "agent_id": "fac6034b-1d42-4407-b266-265e35795241", "id": "fd793e28-41fb-4d56-8b22-6a4ad905245a", + "merge_strategy": "replace", "name": "ENV_1", "value": "Env 1" }, @@ -122,6 +123,7 @@ "values": { "agent_id": "fac6034b-1d42-4407-b266-265e35795241", "id": "809a9f24-48c9-4192-8476-31bca05f2545", + "merge_strategy": "replace", "name": "ENV_2", "value": "Env 2" }, @@ -140,6 +142,7 @@ "values": { "agent_id": "a02262af-b94b-4d6d-98ec-6e36b775e328", "id": "cb8f717f-0654-48a7-939b-84936be0096d", + "merge_strategy": "replace", "name": "ENV_3", "value": "Env 3" },