Skip to content

Commit

Permalink
fix: set owner name and email to "default" (#209)
Browse files Browse the repository at this point in the history
  • Loading branch information
matifali committed Apr 23, 2024
1 parent b94b7ea commit 8c5e8ff
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 19 deletions.
6 changes: 6 additions & 0 deletions provider/workspace.go
Expand Up @@ -35,6 +35,9 @@ func workspaceDataSource() *schema.Resource {
_ = rd.Set("owner", owner)

ownerEmail := os.Getenv("CODER_WORKSPACE_OWNER_EMAIL")
if ownerEmail == "" {
ownerEmail = "default@example.com"
}
_ = rd.Set("owner_email", ownerEmail)

ownerGroupsText := os.Getenv("CODER_WORKSPACE_OWNER_GROUPS")
Expand All @@ -48,6 +51,9 @@ func workspaceDataSource() *schema.Resource {
_ = rd.Set("owner_groups", ownerGroups)

ownerName := os.Getenv("CODER_WORKSPACE_OWNER_NAME")
if ownerName == "" {
ownerName = "default"
}
_ = rd.Set("owner_name", ownerName)

ownerID := os.Getenv("CODER_WORKSPACE_OWNER_ID")
Expand Down
43 changes: 24 additions & 19 deletions provider/workspace_test.go
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/coder/terraform-provider-coder/provider"
Expand Down Expand Up @@ -43,20 +44,30 @@ func TestWorkspace(t *testing.T) {
value := attribs["transition"]
require.NotNil(t, value)
t.Log(value)
require.Equal(t, "8080", attribs["access_port"])
require.Equal(t, "owner123", attribs["owner"])
require.Equal(t, "Mr Owner", attribs["owner_name"])
require.Equal(t, "owner123@example.com", attribs["owner_email"])
require.Equal(t, "abc123", attribs["owner_session_token"])
require.Equal(t, "group1", attribs["owner_groups.0"])
require.Equal(t, "group2", attribs["owner_groups.1"])
require.Equal(t, "templateID", attribs["template_id"])
require.Equal(t, "template123", attribs["template_name"])
require.Equal(t, "v1.2.3", attribs["template_version"])
assert.Equal(t, "https://example.com:8080", attribs["access_url"])
assert.Equal(t, "8080", attribs["access_port"])
assert.Equal(t, "owner123", attribs["owner"])
assert.Equal(t, "Mr Owner", attribs["owner_name"])
assert.Equal(t, "owner123@example.com", attribs["owner_email"])
assert.Equal(t, "group1", attribs["owner_groups.0"])
assert.Equal(t, "group2", attribs["owner_groups.1"])
assert.Equal(t, "templateID", attribs["template_id"])
assert.Equal(t, "template123", attribs["template_name"])
assert.Equal(t, "v1.2.3", attribs["template_version"])
return nil
},
}},
})
}

func TestWorkspace_UndefinedOwner(t *testing.T) {
t.Setenv("CODER_WORKSPACE_OWNER", "owner123")
t.Setenv("CODER_WORKSPACE_OWNER_SESSION_TOKEN", "abc123")
t.Setenv("CODER_WORKSPACE_OWNER_GROUPS", `["group1", "group2"]`)
t.Setenv("CODER_WORKSPACE_TEMPLATE_ID", "templateID")
t.Setenv("CODER_WORKSPACE_TEMPLATE_NAME", "template123")
t.Setenv("CODER_WORKSPACE_TEMPLATE_VERSION", "v1.2.3")

resource.Test(t, resource.TestCase{
Providers: map[string]*schema.Provider{
"coder": provider.New(),
Expand All @@ -79,15 +90,9 @@ func TestWorkspace(t *testing.T) {
value := attribs["transition"]
require.NotNil(t, value)
t.Log(value)
require.Equal(t, "https://example.com:8080", attribs["access_url"])
require.Equal(t, "owner123", attribs["owner"])
require.Equal(t, "Mr Owner", attribs["owner_name"])
require.Equal(t, "owner123@example.com", attribs["owner_email"])
require.Equal(t, "group1", attribs["owner_groups.0"])
require.Equal(t, "group2", attribs["owner_groups.1"])
require.Equal(t, "templateID", attribs["template_id"])
require.Equal(t, "template123", attribs["template_name"])
require.Equal(t, "v1.2.3", attribs["template_version"])
assert.Equal(t, "owner123", attribs["owner"])
assert.Equal(t, "default@example.com", attribs["owner_email"])
// Skip other asserts
return nil
},
}},
Expand Down

0 comments on commit 8c5e8ff

Please sign in to comment.