From 91d7516dc13d75ed450cf4023533380ae17c2b88 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Thu, 19 Mar 2026 11:32:36 -0500 Subject: [PATCH] test: remove classic params from ephemeral params test (#23302) Dynamic parameters supports ephemeral parameters. Updated the test to use dynamic parameters. Ephemeral params **require** a default value. Closes https://github.com/coder/coder/issues/19065 --- coderd/workspaces_test.go | 4 +--- provisioner/echo/serve.go | 8 +++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/coderd/workspaces_test.go b/coderd/workspaces_test.go index 98f3f1e0a0..04c41f255f 100644 --- a/coderd/workspaces_test.go +++ b/coderd/workspaces_test.go @@ -4372,9 +4372,7 @@ func TestWorkspaceWithEphemeralRichParameters(t *testing.T) { }}, }) coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID) - template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID, func(request *codersdk.CreateTemplateRequest) { - request.UseClassicParameterFlow = ptr.Ref(true) // TODO: Remove this when dynamic parameters handles this case - }) + template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID) // Create workspace with default values workspace := coderdtest.CreateWorkspace(t, client, template.ID) diff --git a/provisioner/echo/serve.go b/provisioner/echo/serve.go index f404b95825..6b9b0b1c91 100644 --- a/provisioner/echo/serve.go +++ b/provisioner/echo/serve.go @@ -650,6 +650,12 @@ func ParameterTerraform(param *proto.RichParameter) (string, error) { s, _ := proto.ProviderFormType(v.FormType) return string(s) }, + "hasDefault": func(v *proto.RichParameter) bool { + // Emit default when the value is explicitly non-empty, + // or when the parameter is ephemeral (ephemeral params + // always need a default, even if it's an empty string). + return v.DefaultValue != "" || v.Ephemeral + }, }).Parse(` data "coder_parameter" "{{ .Name }}" { name = "{{ .Name }}" @@ -659,7 +665,7 @@ data "coder_parameter" "{{ .Name }}" { mutable = {{ .Mutable }} ephemeral = {{ .Ephemeral }} order = {{ .Order }} -{{- if .DefaultValue }} +{{- if hasDefault . }} {{- if eq .Type "list(string)" }} default = jsonencode({{ .DefaultValue }}) {{else if eq .Type "bool"}}