Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5cd433e

Browse files
committed
chore: run enterprise tests using license
1 parentb768a21 commit5cd433e

10 files changed

+166
-48
lines changed

‎integration/integration.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"github.com/stretchr/testify/require"
2020
)
2121

22-
funcStartCoder(ctx context.Context,t*testing.T,namestring,useTrialbool)*codersdk.Client {
22+
funcStartCoder(ctx context.Context,t*testing.T,namestring,licensestring)*codersdk.Client {
2323
coderImg:=os.Getenv("CODER_IMAGE")
2424
ifcoderImg=="" {
2525
coderImg="ghcr.io/coder/coder"
@@ -96,9 +96,14 @@ func StartCoder(ctx context.Context, t *testing.T, name string, useTrial bool) *
9696
Email:testEmail,
9797
Username:testUsername,
9898
Password:testPassword,
99-
Trial:useTrial,
10099
})
101100
require.NoError(t,err,"create first user")
101+
iflicense!="" {
102+
_,err:=client.AddLicense(ctx, codersdk.AddLicenseRequest{
103+
License:license,
104+
})
105+
require.NoError(t,err,"add license")
106+
}
102107
resp,err:=client.LoginWithPassword(ctx, codersdk.LoginWithPasswordRequest{
103108
Email:testEmail,
104109
Password:testPassword,

‎integration/integration_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ func TestIntegration(t *testing.T) {
2828
iftesting.Short() {
2929
t.Skip("Skipping integration test in short mode")
3030
}
31+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
32+
iflicense=="" {
33+
t.Skip("Integration tests require an enterprise Coder deployment")
34+
}
3135

3236
timeoutStr:=os.Getenv("TIMEOUT_MINS")
3337
iftimeoutStr=="" {
@@ -145,7 +149,7 @@ func TestIntegration(t *testing.T) {
145149
},
146150
} {
147151
t.Run(tt.name,func(t*testing.T) {
148-
client:=StartCoder(ctx,t,tt.name,true)
152+
client:=StartCoder(ctx,t,tt.name,license)
149153
wd,err:=os.Getwd()
150154
require.NoError(t,err)
151155
srcDir:=filepath.Join(wd,tt.name)

‎internal/provider/group_data_source_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,12 @@ func TestAccGroupDataSource(t *testing.T) {
1818
ifos.Getenv("TF_ACC")=="" {
1919
t.Skip("Acceptance tests are disabled.")
2020
}
21+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
22+
iflicense=="" {
23+
t.Skip("Group tests require an enterprise Coder deployment")
24+
}
2125
ctx:=context.Background()
22-
client:=integration.StartCoder(ctx,t,"group_data_acc",true)
26+
client:=integration.StartCoder(ctx,t,"group_data_acc",license)
2327
firstUser,err:=client.User(ctx,codersdk.Me)
2428
require.NoError(t,err)
2529

‎internal/provider/group_resource_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ func TestAccGroupResource(t *testing.T) {
1818
ifos.Getenv("TF_ACC")=="" {
1919
t.Skip("Acceptance tests are disabled.")
2020
}
21+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
22+
iflicense=="" {
23+
t.Skip("Group tests require an enterprise Coder deployment")
24+
}
2125

2226
ctx:=context.Background()
23-
client:=integration.StartCoder(ctx,t,"group_acc",true)
27+
client:=integration.StartCoder(ctx,t,"group_acc",license)
2428
firstUser,err:=client.User(ctx,codersdk.Me)
2529
require.NoError(t,err)
2630

@@ -130,7 +134,7 @@ func TestAccGroupResourceAGPL(t *testing.T) {
130134
t.Skip("Acceptance tests are disabled.")
131135
}
132136
ctx:=context.Background()
133-
client:=integration.StartCoder(ctx,t,"group_acc_agpl",false)
137+
client:=integration.StartCoder(ctx,t,"group_acc_agpl","")
134138
firstUser,err:=client.User(ctx,codersdk.Me)
135139
require.NoError(t,err)
136140

‎internal/provider/organization_data_source_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestAccOrganizationDataSource(t *testing.T) {
1919
t.Skip("Acceptance tests are disabled.")
2020
}
2121
ctx:=context.Background()
22-
client:=integration.StartCoder(ctx,t,"org_data_acc",false)
22+
client:=integration.StartCoder(ctx,t,"org_data_acc","")
2323
firstUser,err:=client.User(ctx,codersdk.Me)
2424
require.NoError(t,err)
2525

‎internal/provider/template_data_source_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ func TestAccTemplateDataSource(t *testing.T) {
2222
ifos.Getenv("TF_ACC")=="" {
2323
t.Skip("Acceptance tests are disabled.")
2424
}
25+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
26+
iflicense=="" {
27+
t.Skip("Template data source tests require an enterprise Coder deployment")
28+
}
2529
ctx:=context.Background()
26-
client:=integration.StartCoder(ctx,t,"template_data_acc",true)
30+
client:=integration.StartCoder(ctx,t,"template_data_acc",license)
2731
firstUser,err:=client.User(ctx,codersdk.Me)
2832
require.NoError(t,err)
2933
orgID:=firstUser.OrganizationIDs[0]

‎internal/provider/template_resource_test.go

Lines changed: 129 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import (
2222
)
2323

2424
funcTestAccTemplateResource(t*testing.T) {
25-
ifos.Getenv("TF_ACC")=="" {
26-
t.Skip("Acceptance tests are disabled.")
27-
}
25+
//if os.Getenv("TF_ACC") == "" {
26+
//t.Skip("Acceptance tests are disabled.")
27+
//}
2828
ctx:=context.Background()
29-
client:=integration.StartCoder(ctx,t,"template_acc",true)
29+
client:=integration.StartCoder(ctx,t,"template_acc","")
3030
firstUser,err:=client.User(ctx,codersdk.Me)
3131
require.NoError(t,err)
3232

@@ -58,31 +58,15 @@ func TestAccTemplateResource(t *testing.T) {
5858
},
5959
},
6060
ACL:testAccTemplateACLConfig{
61-
GroupACL: []testAccTemplateKeyValueConfig{
62-
{
63-
Key:PtrTo(firstUser.OrganizationIDs[0].String()),
64-
Value:PtrTo("use"),
65-
},
66-
},
61+
null:true,
6762
},
6863
}
6964

7065
cfg2:=cfg1
7166
cfg2.Versions=slices.Clone(cfg2.Versions)
7267
cfg2.Name=PtrTo("example-template-new")
73-
cfg2.AllowUserAutostart=PtrTo(false)
7468
cfg2.Versions[0].Directory=&exTemplateTwo
7569
cfg2.Versions[0].Name=PtrTo("new")
76-
cfg2.ACL.UserACL= []testAccTemplateKeyValueConfig{
77-
{
78-
Key:PtrTo(firstUser.ID.String()),
79-
Value:PtrTo("admin"),
80-
},
81-
}
82-
cfg2.AutostopRequirement=testAccAutostopRequirementConfig{
83-
DaysOfWeek:PtrTo([]string{"monday","tuesday"}),
84-
Weeks:PtrTo(int64(2)),
85-
}
8670

8771
cfg3:=cfg2
8872
cfg3.Versions=slices.Clone(cfg3.Versions)
@@ -110,9 +94,6 @@ func TestAccTemplateResource(t *testing.T) {
11094
cfg6:=cfg4
11195
cfg6.Versions=slices.Clone(cfg6.Versions[1:])
11296

113-
cfg7:=cfg6
114-
cfg7.ACL.null=true
115-
11697
resource.Test(t, resource.TestCase{
11798
PreCheck:func() {testAccPreCheck(t) },
11899
IsUnitTest:true,
@@ -187,9 +168,6 @@ func TestAccTemplateResource(t *testing.T) {
187168
Check:resource.ComposeAggregateTestCheckFunc(
188169
resource.TestCheckResourceAttrSet("coderd_template.test","id"),
189170
resource.TestCheckResourceAttr("coderd_template.test","name","example-template-new"),
190-
resource.TestCheckResourceAttr("coderd_template.test","allow_user_auto_start","false"),
191-
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.days_of_week.#","2"),
192-
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.weeks","2"),
193171
resource.TestMatchTypeSetElemNestedAttrs("coderd_template.test","versions.*",map[string]*regexp.Regexp{
194172
"name":regexp.MustCompile("new"),
195173
}),
@@ -251,14 +229,6 @@ func TestAccTemplateResource(t *testing.T) {
251229
}),
252230
),
253231
},
254-
// Unmanaged ACL
255-
{
256-
Config:cfg7.String(t),
257-
Check:resource.ComposeAggregateTestCheckFunc(
258-
resource.TestCheckNoResourceAttr("coderd_template.test","acl"),
259-
testAccCheckNumTemplateVersions(ctx,client,5),
260-
),
261-
},
262232
// Resource deleted
263233
},
264234
})
@@ -292,6 +262,9 @@ func TestAccTemplateResource(t *testing.T) {
292262
},
293263
},
294264
},
265+
ACL:testAccTemplateACLConfig{
266+
null:true,
267+
},
295268
}
296269

297270
cfg2:=cfg1
@@ -374,12 +347,132 @@ func TestAccTemplateResource(t *testing.T) {
374347
})
375348
}
376349

350+
funcTestAccTemplateResourceEnterprise(t*testing.T) {
351+
ifos.Getenv("TF_ACC")=="" {
352+
t.Skip("Acceptance tests are disabled.")
353+
}
354+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
355+
iflicense=="" {
356+
t.Skip("Some template tests require an enterprise Coder deployment")
357+
}
358+
ctx:=context.Background()
359+
client:=integration.StartCoder(ctx,t,"template_acc",license)
360+
firstUser,err:=client.User(ctx,codersdk.Me)
361+
require.NoError(t,err)
362+
363+
cfg1:=testAccTemplateResourceConfig{
364+
URL:client.URL.String(),
365+
Token:client.SessionToken(),
366+
Name:PtrTo("example-template"),
367+
Versions: []testAccTemplateVersionConfig{
368+
{
369+
// Auto-generated version name
370+
Directory:PtrTo("../../integration/template-test/example-template"),
371+
Active:PtrTo(true),
372+
// TODO(ethanndickson): Remove this when we add in `*.tfvars` parsing
373+
TerraformVariables: []testAccTemplateKeyValueConfig{
374+
{
375+
Key:PtrTo("name"),
376+
Value:PtrTo("world"),
377+
},
378+
},
379+
},
380+
},
381+
ACL:testAccTemplateACLConfig{
382+
GroupACL: []testAccTemplateKeyValueConfig{
383+
{
384+
Key:PtrTo(firstUser.OrganizationIDs[0].String()),
385+
Value:PtrTo("use"),
386+
},
387+
},
388+
UserACL: []testAccTemplateKeyValueConfig{
389+
{
390+
Key:PtrTo(firstUser.ID.String()),
391+
Value:PtrTo("admin"),
392+
},
393+
},
394+
},
395+
}
396+
397+
cfg2:=cfg1
398+
cfg2.ACL.null=true
399+
400+
cfg3:=cfg2
401+
cfg3.AllowUserAutostart=PtrTo(false)
402+
cfg3.AutostopRequirement=testAccAutostopRequirementConfig{
403+
DaysOfWeek:PtrTo([]string{"monday","tuesday"}),
404+
Weeks:PtrTo(int64(2)),
405+
}
406+
407+
resource.Test(t, resource.TestCase{
408+
PreCheck:func() {testAccPreCheck(t) },
409+
IsUnitTest:true,
410+
ProtoV6ProviderFactories:testAccProtoV6ProviderFactories,
411+
Steps: []resource.TestStep{
412+
{
413+
Config:cfg1.String(t),
414+
Check:resource.ComposeAggregateTestCheckFunc(
415+
resource.TestCheckResourceAttr("coderd_template.test","acl.groups.#","1"),
416+
resource.TestMatchTypeSetElemNestedAttrs("coderd_template.test","acl.groups.*",map[string]*regexp.Regexp{
417+
"id":regexp.MustCompile(".+"),
418+
"role":regexp.MustCompile("^use$"),
419+
}),
420+
resource.TestMatchTypeSetElemNestedAttrs("coderd_template.test","acl.users.*",map[string]*regexp.Regexp{
421+
"id":regexp.MustCompile(".+"),
422+
"role":regexp.MustCompile("^admin$"),
423+
}),
424+
),
425+
},
426+
{
427+
Config:cfg2.String(t),
428+
Check:resource.ComposeAggregateTestCheckFunc(
429+
resource.TestCheckNoResourceAttr("coderd_template.test","acl"),
430+
func(s*terraform.State)error {
431+
templates,err:=client.Templates(ctx, codersdk.TemplateFilter{})
432+
iferr!=nil {
433+
returnerr
434+
}
435+
iflen(templates)!=1 {
436+
returnfmt.Errorf("expected 1 template, got %d",len(templates))
437+
}
438+
acl,err:=client.TemplateACL(ctx,templates[0].ID)
439+
iferr!=nil {
440+
returnerr
441+
}
442+
iflen(acl.Groups)!=1 {
443+
returnfmt.Errorf("expected 1 group ACL, got %d",len(acl.Groups))
444+
}
445+
ifacl.Groups[0].Role!="use"&&acl.Groups[0].ID!=firstUser.OrganizationIDs[0] {
446+
returnfmt.Errorf("expected group ACL to be 'use' for %s, got %s",firstUser.OrganizationIDs[0].String(),acl.Groups[0].Role)
447+
}
448+
iflen(acl.Users)!=1 {
449+
returnfmt.Errorf("expected 1 user ACL, got %d",len(acl.Users))
450+
}
451+
ifacl.Users[0].Role!="admin"&&acl.Users[0].ID!=firstUser.ID {
452+
returnfmt.Errorf("expected user ACL to be 'admin' for %s, got %s",firstUser.ID.String(),acl.Users[0].Role)
453+
}
454+
returnnil
455+
},
456+
),
457+
},
458+
{
459+
Config:cfg3.String(t),
460+
Check:resource.ComposeAggregateTestCheckFunc(
461+
resource.TestCheckResourceAttr("coderd_template.test","allow_user_auto_start","false"),
462+
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.days_of_week.#","2"),
463+
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.weeks","2"),
464+
),
465+
},
466+
},
467+
})
468+
}
469+
377470
funcTestAccTemplateResourceAGPL(t*testing.T) {
378471
ifos.Getenv("TF_ACC")=="" {
379472
t.Skip("Acceptance tests are disabled.")
380473
}
381474
ctx:=context.Background()
382-
client:=integration.StartCoder(ctx,t,"template_acc",false)
475+
client:=integration.StartCoder(ctx,t,"template_acc","")
383476
firstUser,err:=client.User(ctx,codersdk.Me)
384477
require.NoError(t,err)
385478

‎internal/provider/user_data_source_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestAccUserDataSource(t *testing.T) {
1919
t.Skip("Acceptance tests are disabled.")
2020
}
2121
ctx:=context.Background()
22-
client:=integration.StartCoder(ctx,t,"user_data_acc",false)
22+
client:=integration.StartCoder(ctx,t,"user_data_acc","")
2323
firstUser,err:=client.User(ctx,codersdk.Me)
2424
require.NoError(t,err)
2525
user,err:=client.CreateUser(ctx, codersdk.CreateUserRequest{

‎internal/provider/user_resource_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func TestAccUserResource(t *testing.T) {
1717
t.Skip("Acceptance tests are disabled.")
1818
}
1919
ctx:=context.Background()
20-
client:=integration.StartCoder(ctx,t,"user_acc",false)
20+
client:=integration.StartCoder(ctx,t,"user_acc","")
2121

2222
cfg1:=testAccUserResourceConfig{
2323
URL:client.URL.String(),

‎internal/provider/workspace_proxy_resource_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@ func TestAccWorkspaceProxyResource(t *testing.T) {
1717
ifos.Getenv("TF_ACC")=="" {
1818
t.Skip("Acceptance tests are disabled.")
1919
}
20+
license:=os.Getenv("CODER_ENTERPRISE_LICENSE")
21+
iflicense=="" {
22+
t.Skip("Workspace proxy tests require an enterprise Coder deployment")
23+
}
2024
ctx:=context.Background()
21-
client:=integration.StartCoder(ctx,t,"ws_proxy_acc",true)
25+
client:=integration.StartCoder(ctx,t,"ws_proxy_acc",license)
2226

2327
cfg1:=testAccWorkspaceProxyResourceConfig{
2428
URL:client.URL.String(),
@@ -59,7 +63,7 @@ func TestAccWorkspaceProxyResourceAGPL(t *testing.T) {
5963
t.Skip("Acceptance tests are disabled.")
6064
}
6165
ctx:=context.Background()
62-
client:=integration.StartCoder(ctx,t,"ws_proxy_acc",false)
66+
client:=integration.StartCoder(ctx,t,"ws_proxy_acc","")
6367

6468
cfg1:=testAccWorkspaceProxyResourceConfig{
6569
URL:client.URL.String(),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp