66"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
77"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
88"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
9+ "github.com/stretchr/testify/assert"
910"github.com/stretchr/testify/require"
1011
1112"github.com/coder/terraform-provider-coder/provider"
@@ -43,20 +44,30 @@ func TestWorkspace(t *testing.T) {
4344value := attribs ["transition" ]
4445require .NotNil (t ,value )
4546t .Log (value )
46- require .Equal (t ,"8080" ,attribs ["access_port " ])
47- require .Equal (t ,"owner123 " ,attribs ["owner " ])
48- require .Equal (t ,"Mr Owner " ,attribs ["owner_name " ])
49- require .Equal (t ,"owner123@example.com " ,attribs ["owner_email " ])
50- require .Equal (t ,"abc123 " ,attribs ["owner_session_token " ])
51- require .Equal (t ,"group1" ,attribs ["owner_groups.0" ])
52- require .Equal (t ,"group2" ,attribs ["owner_groups.1" ])
53- require .Equal (t ,"templateID" ,attribs ["template_id" ])
54- require .Equal (t ,"template123" ,attribs ["template_name" ])
55- require .Equal (t ,"v1.2.3" ,attribs ["template_version" ])
47+ assert .Equal (t ,"https://example.com: 8080" ,attribs ["access_url " ])
48+ assert .Equal (t ,"8080 " ,attribs ["access_port " ])
49+ assert .Equal (t ,"owner123 " ,attribs ["owner " ])
50+ assert .Equal (t ,"Mr Owner " ,attribs ["owner_name " ])
51+ assert .Equal (t ,"owner123@example.com " ,attribs ["owner_email " ])
52+ assert .Equal (t ,"group1" ,attribs ["owner_groups.0" ])
53+ assert .Equal (t ,"group2" ,attribs ["owner_groups.1" ])
54+ assert .Equal (t ,"templateID" ,attribs ["template_id" ])
55+ assert .Equal (t ,"template123" ,attribs ["template_name" ])
56+ assert .Equal (t ,"v1.2.3" ,attribs ["template_version" ])
5657return nil
5758},
5859}},
5960})
61+ }
62+
63+ func TestWorkspace_UndefinedOwner (t * testing.T ) {
64+ t .Setenv ("CODER_WORKSPACE_OWNER" ,"owner123" )
65+ t .Setenv ("CODER_WORKSPACE_OWNER_SESSION_TOKEN" ,"abc123" )
66+ t .Setenv ("CODER_WORKSPACE_OWNER_GROUPS" ,`["group1", "group2"]` )
67+ t .Setenv ("CODER_WORKSPACE_TEMPLATE_ID" ,"templateID" )
68+ t .Setenv ("CODER_WORKSPACE_TEMPLATE_NAME" ,"template123" )
69+ t .Setenv ("CODER_WORKSPACE_TEMPLATE_VERSION" ,"v1.2.3" )
70+
6071resource .Test (t , resource.TestCase {
6172Providers :map [string ]* schema.Provider {
6273"coder" :provider .New (),
@@ -79,15 +90,9 @@ func TestWorkspace(t *testing.T) {
7990value := attribs ["transition" ]
8091require .NotNil (t ,value )
8192t .Log (value )
82- require .Equal (t ,"https://example.com:8080" ,attribs ["access_url" ])
83- require .Equal (t ,"owner123" ,attribs ["owner" ])
84- require .Equal (t ,"Mr Owner" ,attribs ["owner_name" ])
85- require .Equal (t ,"owner123@example.com" ,attribs ["owner_email" ])
86- require .Equal (t ,"group1" ,attribs ["owner_groups.0" ])
87- require .Equal (t ,"group2" ,attribs ["owner_groups.1" ])
88- require .Equal (t ,"templateID" ,attribs ["template_id" ])
89- require .Equal (t ,"template123" ,attribs ["template_name" ])
90- require .Equal (t ,"v1.2.3" ,attribs ["template_version" ])
93+ assert .Equal (t ,"owner123" ,attribs ["owner" ])
94+ assert .Equal (t ,"default@example.com" ,attribs ["owner_email" ])
95+ // Skip other asserts
9196return nil
9297},
9398}},