|
1 | 1 | package provider_test
|
2 | 2 |
|
3 | 3 | import (
|
| 4 | + "regexp" |
4 | 5 | "testing"
|
5 | 6 |
|
6 | 7 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
@@ -102,3 +103,34 @@ func TestWorkspace_UndefinedOwner(t *testing.T) {
|
102 | 103 | }},
|
103 | 104 | })
|
104 | 105 | }
|
| 106 | + |
| 107 | +func TestWorkspace_MissingTemplateName(t *testing.T) { |
| 108 | + t.Setenv("CODER_WORKSPACE_BUILD_ID", "1") // Let's pretend this is a workspace build |
| 109 | + |
| 110 | + t.Setenv("CODER_WORKSPACE_OWNER", "owner123") |
| 111 | + t.Setenv("CODER_WORKSPACE_OWNER_ID", "11111111-1111-1111-1111-111111111111") |
| 112 | + t.Setenv("CODER_WORKSPACE_OWNER_NAME", "Mr Owner") |
| 113 | + t. Setenv( "CODER_WORKSPACE_OWNER_EMAIL", "[email protected]") |
| 114 | + t.Setenv("CODER_WORKSPACE_OWNER_SESSION_TOKEN", "abc123") |
| 115 | + t.Setenv("CODER_WORKSPACE_OWNER_GROUPS", `["group1", "group2"]`) |
| 116 | + t.Setenv("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN", "supersecret") |
| 117 | + t.Setenv("CODER_WORKSPACE_TEMPLATE_ID", "templateID") |
| 118 | + // CODER_WORKSPACE_TEMPLATE_NAME is missing |
| 119 | + t.Setenv("CODER_WORKSPACE_TEMPLATE_VERSION", "v1.2.3") |
| 120 | + |
| 121 | + resource.Test(t, resource.TestCase{ |
| 122 | + Providers: map[string]*schema.Provider{ |
| 123 | + "coder": provider.New(), |
| 124 | + }, |
| 125 | + IsUnitTest: true, |
| 126 | + Steps: []resource.TestStep{{ |
| 127 | + Config: ` |
| 128 | + provider "coder" { |
| 129 | + url = "https://example.com:8080" |
| 130 | + } |
| 131 | + data "coder_workspace" "me" { |
| 132 | + }`, |
| 133 | + ExpectError: regexp.MustCompile("CODER_WORKSPACE_TEMPLATE_NAME is required"), |
| 134 | + }}, |
| 135 | + }) |
| 136 | +} |
0 commit comments