Skip to content

Commit c83af5e

Browse files
authored
chore(cli): add linter to detect potential spurious usage of owner user in cli tests (#10133)
* Detects the following pattern where the CLI is initialized with a client authenticated as the "first user": client := coderdtest.New(t, ...) [...] user := coderdtest.CreateFirstUser(t, client) [...] clitest.SetupConfig(t, client, root) * Updates documentation regarding role permissions on workspaces.
1 parent 017d7e9 commit c83af5e

28 files changed

+684
-521
lines changed

cli/agent_test.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,9 @@ func TestWorkspaceAgent(t *testing.T) {
176176
GoogleTokenValidator: validator,
177177
IncludeProvisionerDaemon: true,
178178
})
179-
user := coderdtest.CreateFirstUser(t, client)
180-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
179+
owner := coderdtest.CreateFirstUser(t, client)
180+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
181+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
181182
Parse: echo.ParseComplete,
182183
ProvisionApply: []*proto.Response{{
183184
Type: &proto.Response_Apply{
@@ -195,14 +196,14 @@ func TestWorkspaceAgent(t *testing.T) {
195196
},
196197
}},
197198
})
198-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
199+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
199200
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
200-
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
201+
workspace := coderdtest.CreateWorkspace(t, member, owner.OrganizationID, template.ID)
201202
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
202203

203204
inv, cfg := clitest.New(t, "agent", "--auth", "google-instance-identity", "--agent-url", client.URL.String())
204205
ptytest.New(t).Attach(inv)
205-
clitest.SetupConfig(t, client, cfg)
206+
clitest.SetupConfig(t, member, cfg)
206207
clitest.Start(t,
207208
inv.WithContext(
208209
//nolint:revive,staticcheck

cli/configssh_test.go

+12-10
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,10 @@ func TestConfigSSH(t *testing.T) {
7575
},
7676
},
7777
})
78-
user := coderdtest.CreateFirstUser(t, client)
78+
owner := coderdtest.CreateFirstUser(t, client)
79+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
7980
authToken := uuid.NewString()
80-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
81+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
8182
Parse: echo.ParseComplete,
8283
ProvisionPlan: []*proto.Response{{
8384
Type: &proto.Response_Plan{
@@ -96,8 +97,8 @@ func TestConfigSSH(t *testing.T) {
9697
ProvisionApply: echo.ProvisionApplyWithAgent(authToken),
9798
})
9899
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
99-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
100-
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
100+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
101+
workspace := coderdtest.CreateWorkspace(t, member, owner.OrganizationID, template.ID)
101102
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
102103
_ = agenttest.New(t, client.URL, authToken)
103104
resources := coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
@@ -145,7 +146,7 @@ func TestConfigSSH(t *testing.T) {
145146
"--ssh-option", "Port "+strconv.Itoa(tcpAddr.Port),
146147
"--ssh-config-file", sshConfigFile,
147148
"--skip-proxy-command")
148-
clitest.SetupConfig(t, client, root)
149+
clitest.SetupConfig(t, member, root)
149150
pty := ptytest.New(t)
150151
inv.Stdin = pty.Input()
151152
inv.Stdout = pty.Output()
@@ -710,19 +711,20 @@ func TestConfigSSH_Hostnames(t *testing.T) {
710711
}
711712

712713
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
713-
user := coderdtest.CreateFirstUser(t, client)
714+
owner := coderdtest.CreateFirstUser(t, client)
715+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
714716
// authToken := uuid.NewString()
715-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID,
717+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID,
716718
echo.WithResources(resources))
717719
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
718-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
719-
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
720+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
721+
workspace := coderdtest.CreateWorkspace(t, member, owner.OrganizationID, template.ID)
720722
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
721723

722724
sshConfigFile := sshConfigFileName(t)
723725

724726
inv, root := clitest.New(t, "config-ssh", "--ssh-config-file", sshConfigFile)
725-
clitest.SetupConfig(t, client, root)
727+
clitest.SetupConfig(t, member, root)
726728

727729
pty := ptytest.New(t)
728730
inv.Stdin = pty.Input()

cli/create_test.go

+65-52
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ func TestCreate(t *testing.T) {
2828
t.Run("Create", func(t *testing.T) {
2929
t.Parallel()
3030
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
31-
user := coderdtest.CreateFirstUser(t, client)
32-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, completeWithAgent())
31+
owner := coderdtest.CreateFirstUser(t, client)
32+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
33+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, completeWithAgent())
3334
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
34-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
35+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
3536
args := []string{
3637
"create",
3738
"my-workspace",
@@ -41,7 +42,7 @@ func TestCreate(t *testing.T) {
4142
"--automatic-updates", "always",
4243
}
4344
inv, root := clitest.New(t, args...)
44-
clitest.SetupConfig(t, client, root)
45+
clitest.SetupConfig(t, member, root)
4546
doneChan := make(chan struct{})
4647
pty := ptytest.New(t).Attach(inv)
4748
go func() {
@@ -65,7 +66,7 @@ func TestCreate(t *testing.T) {
6566
}
6667
<-doneChan
6768

68-
ws, err := client.WorkspaceByOwnerAndName(context.Background(), "testuser", "my-workspace", codersdk.WorkspaceOptions{})
69+
ws, err := member.WorkspaceByOwnerAndName(context.Background(), codersdk.Me, "my-workspace", codersdk.WorkspaceOptions{})
6970
if assert.NoError(t, err, "expected workspace to be created") {
7071
assert.Equal(t, ws.TemplateName, template.Name)
7172
if assert.NotNil(t, ws.AutostartSchedule) {
@@ -95,6 +96,7 @@ func TestCreate(t *testing.T) {
9596
}
9697

9798
inv, root := clitest.New(t, args...)
99+
//nolint:gocritic // Creating a workspace for another user requires owner permissions.
98100
clitest.SetupConfig(t, client, root)
99101
doneChan := make(chan struct{})
100102
pty := ptytest.New(t).Attach(inv)
@@ -134,10 +136,11 @@ func TestCreate(t *testing.T) {
134136
t.Run("InheritStopAfterFromTemplate", func(t *testing.T) {
135137
t.Parallel()
136138
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
137-
user := coderdtest.CreateFirstUser(t, client)
138-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, completeWithAgent())
139+
owner := coderdtest.CreateFirstUser(t, client)
140+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
141+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, completeWithAgent())
139142
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
140-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID, func(ctr *codersdk.CreateTemplateRequest) {
143+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID, func(ctr *codersdk.CreateTemplateRequest) {
141144
var defaultTTLMillis int64 = 2 * 60 * 60 * 1000 // 2 hours
142145
ctr.DefaultTTLMillis = &defaultTTLMillis
143146
})
@@ -147,7 +150,7 @@ func TestCreate(t *testing.T) {
147150
"--template", template.Name,
148151
}
149152
inv, root := clitest.New(t, args...)
150-
clitest.SetupConfig(t, client, root)
153+
clitest.SetupConfig(t, member, root)
151154
pty := ptytest.New(t).Attach(inv)
152155
waiter := clitest.StartWithWaiter(t, inv)
153156
matches := []struct {
@@ -166,7 +169,7 @@ func TestCreate(t *testing.T) {
166169
}
167170
waiter.RequireSuccess()
168171

169-
ws, err := client.WorkspaceByOwnerAndName(context.Background(), "testuser", "my-workspace", codersdk.WorkspaceOptions{})
172+
ws, err := member.WorkspaceByOwnerAndName(context.Background(), codersdk.Me, "my-workspace", codersdk.WorkspaceOptions{})
170173
require.NoError(t, err, "expected workspace to be created")
171174
assert.Equal(t, ws.TemplateName, template.Name)
172175
assert.Equal(t, *ws.TTLMillis, template.DefaultTTLMillis)
@@ -197,12 +200,13 @@ func TestCreate(t *testing.T) {
197200
t.Run("FromNothing", func(t *testing.T) {
198201
t.Parallel()
199202
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
200-
user := coderdtest.CreateFirstUser(t, client)
201-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
203+
owner := coderdtest.CreateFirstUser(t, client)
204+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
205+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
202206
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
203-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
207+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
204208
inv, root := clitest.New(t, "create", "")
205-
clitest.SetupConfig(t, client, root)
209+
clitest.SetupConfig(t, member, root)
206210
doneChan := make(chan struct{})
207211
pty := ptytest.New(t).Attach(inv)
208212
go func() {
@@ -222,7 +226,7 @@ func TestCreate(t *testing.T) {
222226
}
223227
<-doneChan
224228

225-
ws, err := client.WorkspaceByOwnerAndName(inv.Context(), "testuser", "my-workspace", codersdk.WorkspaceOptions{})
229+
ws, err := member.WorkspaceByOwnerAndName(inv.Context(), codersdk.Me, "my-workspace", codersdk.WorkspaceOptions{})
226230
if assert.NoError(t, err, "expected workspace to be created") {
227231
assert.Equal(t, ws.TemplateName, template.Name)
228232
assert.Nil(t, ws.AutostartSchedule, "expected workspace autostart schedule to be nil")
@@ -275,14 +279,15 @@ func TestCreateWithRichParameters(t *testing.T) {
275279
t.Parallel()
276280

277281
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
278-
user := coderdtest.CreateFirstUser(t, client)
279-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, echoResponses)
282+
owner := coderdtest.CreateFirstUser(t, client)
283+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
284+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
280285
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
281286

282-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
287+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
283288

284289
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
285-
clitest.SetupConfig(t, client, root)
290+
clitest.SetupConfig(t, member, root)
286291
doneChan := make(chan struct{})
287292
pty := ptytest.New(t).Attach(inv)
288293
go func() {
@@ -314,11 +319,12 @@ func TestCreateWithRichParameters(t *testing.T) {
314319
t.Parallel()
315320

316321
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
317-
user := coderdtest.CreateFirstUser(t, client)
318-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, echoResponses)
322+
owner := coderdtest.CreateFirstUser(t, client)
323+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
324+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
319325
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
320326

321-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
327+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
322328

323329
tempDir := t.TempDir()
324330
removeTmpDirUntilSuccessAfterTest(t, tempDir)
@@ -328,7 +334,7 @@ func TestCreateWithRichParameters(t *testing.T) {
328334
secondParameterName + ": " + secondParameterValue + "\n" +
329335
immutableParameterName + ": " + immutableParameterValue)
330336
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name, "--rich-parameter-file", parameterFile.Name())
331-
clitest.SetupConfig(t, client, root)
337+
clitest.SetupConfig(t, member, root)
332338

333339
doneChan := make(chan struct{})
334340
pty := ptytest.New(t).Attach(inv)
@@ -354,17 +360,18 @@ func TestCreateWithRichParameters(t *testing.T) {
354360
t.Parallel()
355361

356362
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
357-
user := coderdtest.CreateFirstUser(t, client)
358-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, echoResponses)
363+
owner := coderdtest.CreateFirstUser(t, client)
364+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
365+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
359366
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
360367

361-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
368+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
362369

363370
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name,
364371
"--parameter", fmt.Sprintf("%s=%s", firstParameterName, firstParameterValue),
365372
"--parameter", fmt.Sprintf("%s=%s", secondParameterName, secondParameterValue),
366373
"--parameter", fmt.Sprintf("%s=%s", immutableParameterName, immutableParameterValue))
367-
clitest.SetupConfig(t, client, root)
374+
clitest.SetupConfig(t, member, root)
368375
doneChan := make(chan struct{})
369376
pty := ptytest.New(t).Attach(inv)
370377
go func() {
@@ -422,14 +429,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
422429
t.Parallel()
423430

424431
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
425-
user := coderdtest.CreateFirstUser(t, client)
426-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(stringRichParameters))
432+
owner := coderdtest.CreateFirstUser(t, client)
433+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
434+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, prepareEchoResponses(stringRichParameters))
427435
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
428436

429-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
437+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
430438

431439
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
432-
clitest.SetupConfig(t, client, root)
440+
clitest.SetupConfig(t, member, root)
433441
doneChan := make(chan struct{})
434442
pty := ptytest.New(t).Attach(inv)
435443
go func() {
@@ -459,14 +467,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
459467
t.Parallel()
460468

461469
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
462-
user := coderdtest.CreateFirstUser(t, client)
463-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(numberRichParameters))
470+
owner := coderdtest.CreateFirstUser(t, client)
471+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
472+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, prepareEchoResponses(numberRichParameters))
464473
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
465474

466-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
475+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
467476

468477
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
469-
clitest.SetupConfig(t, client, root)
478+
clitest.SetupConfig(t, member, root)
470479
doneChan := make(chan struct{})
471480
pty := ptytest.New(t).Attach(inv)
472481
go func() {
@@ -496,14 +505,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
496505
t.Parallel()
497506

498507
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
499-
user := coderdtest.CreateFirstUser(t, client)
500-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(boolRichParameters))
508+
owner := coderdtest.CreateFirstUser(t, client)
509+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
510+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, prepareEchoResponses(boolRichParameters))
501511
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
502512

503-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
513+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
504514

505515
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
506-
clitest.SetupConfig(t, client, root)
516+
clitest.SetupConfig(t, member, root)
507517
doneChan := make(chan struct{})
508518
pty := ptytest.New(t).Attach(inv)
509519
go func() {
@@ -533,13 +543,14 @@ func TestCreateValidateRichParameters(t *testing.T) {
533543
t.Parallel()
534544

535545
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
536-
user := coderdtest.CreateFirstUser(t, client)
537-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(listOfStringsRichParameters))
546+
owner := coderdtest.CreateFirstUser(t, client)
547+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
548+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, prepareEchoResponses(listOfStringsRichParameters))
538549
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
539-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
550+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
540551

541552
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
542-
clitest.SetupConfig(t, client, root)
553+
clitest.SetupConfig(t, member, root)
543554
pty := ptytest.New(t).Attach(inv)
544555
clitest.Start(t, inv)
545556

@@ -562,10 +573,11 @@ func TestCreateValidateRichParameters(t *testing.T) {
562573
t.Parallel()
563574

564575
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
565-
user := coderdtest.CreateFirstUser(t, client)
566-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(listOfStringsRichParameters))
576+
owner := coderdtest.CreateFirstUser(t, client)
577+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
578+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, prepareEchoResponses(listOfStringsRichParameters))
567579
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
568-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
580+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
569581

570582
tempDir := t.TempDir()
571583
removeTmpDirUntilSuccessAfterTest(t, tempDir)
@@ -575,7 +587,7 @@ func TestCreateValidateRichParameters(t *testing.T) {
575587
- eee
576588
- fff`)
577589
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name, "--rich-parameter-file", parameterFile.Name())
578-
clitest.SetupConfig(t, client, root)
590+
clitest.SetupConfig(t, member, root)
579591
pty := ptytest.New(t).Attach(inv)
580592

581593
clitest.Start(t, inv)
@@ -620,18 +632,19 @@ func TestCreateWithGitAuth(t *testing.T) {
620632
}},
621633
IncludeProvisionerDaemon: true,
622634
})
623-
user := coderdtest.CreateFirstUser(t, client)
624-
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, echoResponses)
635+
owner := coderdtest.CreateFirstUser(t, client)
636+
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
637+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
625638
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
626-
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
639+
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
627640

628641
inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name)
629-
clitest.SetupConfig(t, client, root)
642+
clitest.SetupConfig(t, member, root)
630643
pty := ptytest.New(t).Attach(inv)
631644
clitest.Start(t, inv)
632645

633646
pty.ExpectMatch("You must authenticate with GitHub to create a workspace")
634-
resp := coderdtest.RequestExternalAuthCallback(t, "github", client)
647+
resp := coderdtest.RequestExternalAuthCallback(t, "github", member)
635648
_ = resp.Body.Close()
636649
require.Equal(t, http.StatusTemporaryRedirect, resp.StatusCode)
637650
pty.ExpectMatch("Confirm create?")

0 commit comments

Comments
 (0)