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

Commita776da3

Browse files
chore: run enterprise tests using license (#67)
1 parent25a8198 commita776da3

File tree

5 files changed

+134
-36
lines changed

5 files changed

+134
-36
lines changed

‎.github/workflows/release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ jobs:
2525
uses:crazy-max/ghaction-import-gpg@v6.1.0
2626
with:
2727
gpg_private_key:${{ secrets.GPG_PRIVATE_KEY }}
28-
passphrase:${{ secrets.GPG_PASSPHRASE }}
2928
-name:Run GoReleaser
3029
uses:goreleaser/goreleaser-action@v6.0.0
3130
with:

‎.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
-run:go mod download
8585
-env:
8686
TF_ACC:"1"
87+
CODER_ENTERPRISE_LICENSE:${{ secrets.CODER_ENTERPRISE_LICENSE }}
8788
run:go test -v -cover ./internal/provider/
8889
timeout-minutes:10
8990

‎integration/integration.go

Lines changed: 12 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,useLicensebool)*codersdk.Client {
2323
coderImg:=os.Getenv("CODER_IMAGE")
2424
ifcoderImg=="" {
2525
coderImg="ghcr.io/coder/coder"
@@ -30,6 +30,11 @@ func StartCoder(ctx context.Context, t *testing.T, name string, useTrial bool) *
3030
coderVersion="latest"
3131
}
3232

33+
coderLicense:=os.Getenv("CODER_ENTERPRISE_LICENSE")
34+
ifuseLicense&&coderLicense=="" {
35+
t.Skip("Skipping tests that require a license.")
36+
}
37+
3338
t.Logf("using coder image %s:%s",coderImg,coderVersion)
3439

3540
cli,err:=client.NewClientWithOpts(client.FromEnv,client.WithAPIVersionNegotiation())
@@ -96,7 +101,6 @@ func StartCoder(ctx context.Context, t *testing.T, name string, useTrial bool) *
96101
Email:testEmail,
97102
Username:testUsername,
98103
Password:testPassword,
99-
Trial:useTrial,
100104
})
101105
require.NoError(t,err,"create first user")
102106
resp,err:=client.LoginWithPassword(ctx, codersdk.LoginWithPasswordRequest{
@@ -105,6 +109,12 @@ func StartCoder(ctx context.Context, t *testing.T, name string, useTrial bool) *
105109
})
106110
require.NoError(t,err,"login to coder instance with password")
107111
client.SetSessionToken(resp.SessionToken)
112+
ifuseLicense {
113+
_,err:=client.AddLicense(ctx, codersdk.AddLicenseRequest{
114+
License:coderLicense,
115+
})
116+
require.NoError(t,err,"add license")
117+
}
108118
returnclient
109119
}
110120

‎internal/provider/group_resource_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ func TestAccGroupResource(t *testing.T) {
1818
ifos.Getenv("TF_ACC")=="" {
1919
t.Skip("Acceptance tests are disabled.")
2020
}
21-
2221
ctx:=context.Background()
2322
client:=integration.StartCoder(ctx,t,"group_acc",true)
2423
firstUser,err:=client.User(ctx,codersdk.Me)

‎internal/provider/template_resource_test.go

Lines changed: 121 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestAccTemplateResource(t *testing.T) {
2626
t.Skip("Acceptance tests are disabled.")
2727
}
2828
ctx:=context.Background()
29-
client:=integration.StartCoder(ctx,t,"template_acc",true)
29+
client:=integration.StartCoder(ctx,t,"template_acc",false)
3030
firstUser,err:=client.User(ctx,codersdk.Me)
3131
require.NoError(t,err)
3232

@@ -51,31 +51,15 @@ func TestAccTemplateResource(t *testing.T) {
5151
},
5252
},
5353
ACL:testAccTemplateACLConfig{
54-
GroupACL: []testAccTemplateKeyValueConfig{
55-
{
56-
Key:PtrTo(firstUser.OrganizationIDs[0].String()),
57-
Value:PtrTo("use"),
58-
},
59-
},
54+
null:true,
6055
},
6156
}
6257

6358
cfg2:=cfg1
6459
cfg2.Versions=slices.Clone(cfg2.Versions)
6560
cfg2.Name=PtrTo("example-template-new")
66-
cfg2.AllowUserAutostart=PtrTo(false)
6761
cfg2.Versions[0].Directory=&exTemplateTwo
6862
cfg2.Versions[0].Name=PtrTo("new")
69-
cfg2.ACL.UserACL= []testAccTemplateKeyValueConfig{
70-
{
71-
Key:PtrTo(firstUser.ID.String()),
72-
Value:PtrTo("admin"),
73-
},
74-
}
75-
cfg2.AutostopRequirement=testAccAutostopRequirementConfig{
76-
DaysOfWeek:PtrTo([]string{"monday","tuesday"}),
77-
Weeks:PtrTo(int64(2)),
78-
}
7963

8064
cfg3:=cfg2
8165
cfg3.Versions=slices.Clone(cfg3.Versions)
@@ -103,9 +87,6 @@ func TestAccTemplateResource(t *testing.T) {
10387
cfg6:=cfg4
10488
cfg6.Versions=slices.Clone(cfg6.Versions[1:])
10589

106-
cfg7:=cfg6
107-
cfg7.ACL.null=true
108-
10990
resource.Test(t, resource.TestCase{
11091
PreCheck:func() {testAccPreCheck(t) },
11192
IsUnitTest:true,
@@ -180,9 +161,6 @@ func TestAccTemplateResource(t *testing.T) {
180161
Check:resource.ComposeAggregateTestCheckFunc(
181162
resource.TestCheckResourceAttrSet("coderd_template.test","id"),
182163
resource.TestCheckResourceAttr("coderd_template.test","name","example-template-new"),
183-
resource.TestCheckResourceAttr("coderd_template.test","allow_user_auto_start","false"),
184-
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.days_of_week.#","2"),
185-
resource.TestCheckResourceAttr("coderd_template.test","auto_stop_requirement.weeks","2"),
186164
resource.TestMatchTypeSetElemNestedAttrs("coderd_template.test","versions.*",map[string]*regexp.Regexp{
187165
"name":regexp.MustCompile("new"),
188166
}),
@@ -244,14 +222,6 @@ func TestAccTemplateResource(t *testing.T) {
244222
}),
245223
),
246224
},
247-
// Unmanaged ACL
248-
{
249-
Config:cfg7.String(t),
250-
Check:resource.ComposeAggregateTestCheckFunc(
251-
resource.TestCheckNoResourceAttr("coderd_template.test","acl"),
252-
testAccCheckNumTemplateVersions(ctx,client,5),
253-
),
254-
},
255225
// Resource deleted
256226
},
257227
})
@@ -285,6 +255,9 @@ func TestAccTemplateResource(t *testing.T) {
285255
},
286256
},
287257
},
258+
ACL:testAccTemplateACLConfig{
259+
null:true,
260+
},
288261
}
289262

290263
cfg2:=cfg1
@@ -367,6 +340,122 @@ func TestAccTemplateResource(t *testing.T) {
367340
})
368341
}
369342

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp