Skip to content

Commit 20e6e08

Browse files
committed
move files to testdata
1 parent 3ce98eb commit 20e6e08

File tree

3 files changed

+128
-126
lines changed

3 files changed

+128
-126
lines changed

coderd/templateversions_test.go

Lines changed: 11 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"context"
66
"net/http"
7+
"os"
78
"regexp"
89
"strings"
910
"testing"
@@ -2134,143 +2135,27 @@ func TestTemplateArchiveVersions(t *testing.T) {
21342135
require.Len(t, remaining, totalVersions-len(expArchived)-len(allFailed)+1, "remaining versions")
21352136
}
21362137

2137-
const dynamicParametersTerraformSource = `
2138-
terraform {
2139-
required_providers {
2140-
coder = {
2141-
source = "coder/coder"
2142-
}
2143-
}
2144-
}
2145-
2146-
data coder_workspace_owner "me" {}
2147-
2148-
output "groups" {
2149-
value = data.coder_workspace_owner.me.groups
2150-
}
2151-
2152-
data "coder_parameter" "group" {
2153-
name = "group"
2154-
default = try(data.coder_workspace_owner.me.groups[0], "")
2155-
dynamic "option" {
2156-
for_each = data.coder_workspace_owner.me.groups
2157-
content {
2158-
name = option.value
2159-
value = option.value
2160-
}
2161-
}
2162-
}
2163-
`
2164-
2165-
const dynamicParametersTerraformPlan = `
2166-
{
2167-
"terraform_version": "1.11.2",
2168-
"format_version": "1.2",
2169-
"checks": [],
2170-
"complete": true,
2171-
"timestamp": "2025-04-02T01:29:59Z",
2172-
"variables": {},
2173-
"prior_state": {
2174-
"values": {
2175-
"root_module": {
2176-
"resources": [
2177-
{
2178-
"mode": "data",
2179-
"name": "me",
2180-
"type": "coder_workspace_owner",
2181-
"address": "data.coder_workspace_owner.me",
2182-
"provider_name": "registry.terraform.io/coder/coder",
2183-
"schema_version": 0,
2184-
"values": {
2185-
"id": "25e81ec3-0eb9-4ee3-8b6d-738b8552f7a9",
2186-
"name": "default",
2187-
"email": "default@example.com",
2188-
"groups": [],
2189-
"full_name": "default",
2190-
"login_type": null,
2191-
"rbac_roles": [],
2192-
"session_token": "",
2193-
"ssh_public_key": "",
2194-
"ssh_private_key": "",
2195-
"oidc_access_token": ""
2196-
},
2197-
"sensitive_values": {
2198-
"groups": [],
2199-
"rbac_roles": [],
2200-
"ssh_private_key": true
2201-
}
2202-
}
2203-
],
2204-
"child_modules": []
2205-
}
2206-
},
2207-
"format_version": "1.0",
2208-
"terraform_version": "1.11.2"
2209-
},
2210-
"configuration": {
2211-
"root_module": {
2212-
"resources": [
2213-
{
2214-
"mode": "data",
2215-
"name": "me",
2216-
"type": "coder_workspace_owner",
2217-
"address": "data.coder_workspace_owner.me",
2218-
"schema_version": 0,
2219-
"provider_config_key": "coder"
2220-
}
2221-
],
2222-
"variables": {},
2223-
"module_calls": {}
2224-
},
2225-
"provider_config": {
2226-
"coder": {
2227-
"name": "coder",
2228-
"full_name": "registry.terraform.io/coder/coder"
2229-
}
2230-
}
2231-
},
2232-
"planned_values": {
2233-
"root_module": {
2234-
"resources": [],
2235-
"child_modules": []
2236-
}
2237-
},
2238-
"resource_changes": [],
2239-
"relevant_attributes": [
2240-
{
2241-
"resource": "data.coder_workspace_owner.me",
2242-
"attribute": ["full_name"]
2243-
},
2244-
{
2245-
"resource": "data.coder_workspace_owner.me",
2246-
"attribute": ["email"]
2247-
},
2248-
{
2249-
"resource": "data.coder_workspace_owner.me",
2250-
"attribute": ["id"]
2251-
},
2252-
{
2253-
"resource": "data.coder_workspace_owner.me",
2254-
"attribute": ["name"]
2255-
}
2256-
]
2257-
}
2258-
`
2259-
22602138
func TestTemplateVersionDynamicParameters(t *testing.T) {
22612139
t.Parallel()
22622140

2263-
ownerClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
2141+
cfg := coderdtest.DeploymentValues(t)
2142+
cfg.Experiments = []string{string(codersdk.ExperimentDynamicParameters)}
2143+
ownerClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true, DeploymentValues: cfg})
22642144
owner := coderdtest.CreateFirstUser(t, ownerClient)
22652145
templateAdmin, _ := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
22662146

2147+
dynamicParametersTerraformSource, err := os.ReadFile("testdata/dynamicparameters/groups/main.tf")
2148+
require.NoError(t, err)
2149+
dynamicParametersTerraformPlan, err := os.ReadFile("testdata/dynamicparameters/groups/plan.json")
2150+
require.NoError(t, err)
2151+
22672152
files := echo.WithExtraFiles(map[string][]byte{
2268-
"main.tf": []byte(dynamicParametersTerraformSource),
2153+
"main.tf": dynamicParametersTerraformSource,
22692154
})
22702155
files.ProvisionPlan = []*proto.Response{{
22712156
Type: &proto.Response_Plan{
22722157
Plan: &proto.PlanComplete{
2273-
Plan: []byte(dynamicParametersTerraformPlan),
2158+
Plan: dynamicParametersTerraformPlan,
22742159
},
22752160
},
22762161
}}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
terraform {
2+
required_providers {
3+
coder = {
4+
source = "coder/coder"
5+
}
6+
}
7+
}
8+
9+
data coder_workspace_owner "me" {}
10+
11+
output "groups" {
12+
value = data.coder_workspace_owner.me.groups
13+
}
14+
15+
data "coder_parameter" "group" {
16+
name = "group"
17+
default = try(data.coder_workspace_owner.me.groups[0], "")
18+
dynamic "option" {
19+
for_each = data.coder_workspace_owner.me.groups
20+
content {
21+
name = option.value
22+
value = option.value
23+
}
24+
}
25+
}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"terraform_version": "1.11.2",
3+
"format_version": "1.2",
4+
"checks": [],
5+
"complete": true,
6+
"timestamp": "2025-04-02T01:29:59Z",
7+
"variables": {},
8+
"prior_state": {
9+
"values": {
10+
"root_module": {
11+
"resources": [
12+
{
13+
"mode": "data",
14+
"name": "me",
15+
"type": "coder_workspace_owner",
16+
"address": "data.coder_workspace_owner.me",
17+
"provider_name": "registry.terraform.io/coder/coder",
18+
"schema_version": 0,
19+
"values": {
20+
"id": "25e81ec3-0eb9-4ee3-8b6d-738b8552f7a9",
21+
"name": "default",
22+
"email": "default@example.com",
23+
"groups": [],
24+
"full_name": "default",
25+
"login_type": null,
26+
"rbac_roles": [],
27+
"session_token": "",
28+
"ssh_public_key": "",
29+
"ssh_private_key": "",
30+
"oidc_access_token": ""
31+
},
32+
"sensitive_values": {
33+
"groups": [],
34+
"rbac_roles": [],
35+
"ssh_private_key": true
36+
}
37+
}
38+
],
39+
"child_modules": []
40+
}
41+
},
42+
"format_version": "1.0",
43+
"terraform_version": "1.11.2"
44+
},
45+
"configuration": {
46+
"root_module": {
47+
"resources": [
48+
{
49+
"mode": "data",
50+
"name": "me",
51+
"type": "coder_workspace_owner",
52+
"address": "data.coder_workspace_owner.me",
53+
"schema_version": 0,
54+
"provider_config_key": "coder"
55+
}
56+
],
57+
"variables": {},
58+
"module_calls": {}
59+
},
60+
"provider_config": {
61+
"coder": {
62+
"name": "coder",
63+
"full_name": "registry.terraform.io/coder/coder"
64+
}
65+
}
66+
},
67+
"planned_values": {
68+
"root_module": {
69+
"resources": [],
70+
"child_modules": []
71+
}
72+
},
73+
"resource_changes": [],
74+
"relevant_attributes": [
75+
{
76+
"resource": "data.coder_workspace_owner.me",
77+
"attribute": ["full_name"]
78+
},
79+
{
80+
"resource": "data.coder_workspace_owner.me",
81+
"attribute": ["email"]
82+
},
83+
{
84+
"resource": "data.coder_workspace_owner.me",
85+
"attribute": ["id"]
86+
},
87+
{
88+
"resource": "data.coder_workspace_owner.me",
89+
"attribute": ["name"]
90+
}
91+
]
92+
}

0 commit comments

Comments
 (0)