@@ -28,10 +28,11 @@ func TestCreate(t *testing.T) {
28
28
t .Run ("Create" , func (t * testing.T ) {
29
29
t .Parallel ()
30
30
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 ())
33
34
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 )
35
36
args := []string {
36
37
"create" ,
37
38
"my-workspace" ,
@@ -41,7 +42,7 @@ func TestCreate(t *testing.T) {
41
42
"--automatic-updates" , "always" ,
42
43
}
43
44
inv , root := clitest .New (t , args ... )
44
- clitest .SetupConfig (t , client , root )
45
+ clitest .SetupConfig (t , member , root )
45
46
doneChan := make (chan struct {})
46
47
pty := ptytest .New (t ).Attach (inv )
47
48
go func () {
@@ -65,7 +66,7 @@ func TestCreate(t *testing.T) {
65
66
}
66
67
<- doneChan
67
68
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 {})
69
70
if assert .NoError (t , err , "expected workspace to be created" ) {
70
71
assert .Equal (t , ws .TemplateName , template .Name )
71
72
if assert .NotNil (t , ws .AutostartSchedule ) {
@@ -95,6 +96,7 @@ func TestCreate(t *testing.T) {
95
96
}
96
97
97
98
inv , root := clitest .New (t , args ... )
99
+ //nolint:gocritic // Creating a workspace for another user requires owner permissions.
98
100
clitest .SetupConfig (t , client , root )
99
101
doneChan := make (chan struct {})
100
102
pty := ptytest .New (t ).Attach (inv )
@@ -134,10 +136,11 @@ func TestCreate(t *testing.T) {
134
136
t .Run ("InheritStopAfterFromTemplate" , func (t * testing.T ) {
135
137
t .Parallel ()
136
138
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 ())
139
142
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 ) {
141
144
var defaultTTLMillis int64 = 2 * 60 * 60 * 1000 // 2 hours
142
145
ctr .DefaultTTLMillis = & defaultTTLMillis
143
146
})
@@ -147,7 +150,7 @@ func TestCreate(t *testing.T) {
147
150
"--template" , template .Name ,
148
151
}
149
152
inv , root := clitest .New (t , args ... )
150
- clitest .SetupConfig (t , client , root )
153
+ clitest .SetupConfig (t , member , root )
151
154
pty := ptytest .New (t ).Attach (inv )
152
155
waiter := clitest .StartWithWaiter (t , inv )
153
156
matches := []struct {
@@ -166,7 +169,7 @@ func TestCreate(t *testing.T) {
166
169
}
167
170
waiter .RequireSuccess ()
168
171
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 {})
170
173
require .NoError (t , err , "expected workspace to be created" )
171
174
assert .Equal (t , ws .TemplateName , template .Name )
172
175
assert .Equal (t , * ws .TTLMillis , template .DefaultTTLMillis )
@@ -197,12 +200,13 @@ func TestCreate(t *testing.T) {
197
200
t .Run ("FromNothing" , func (t * testing.T ) {
198
201
t .Parallel ()
199
202
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 )
202
206
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 )
204
208
inv , root := clitest .New (t , "create" , "" )
205
- clitest .SetupConfig (t , client , root )
209
+ clitest .SetupConfig (t , member , root )
206
210
doneChan := make (chan struct {})
207
211
pty := ptytest .New (t ).Attach (inv )
208
212
go func () {
@@ -222,7 +226,7 @@ func TestCreate(t *testing.T) {
222
226
}
223
227
<- doneChan
224
228
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 {})
226
230
if assert .NoError (t , err , "expected workspace to be created" ) {
227
231
assert .Equal (t , ws .TemplateName , template .Name )
228
232
assert .Nil (t , ws .AutostartSchedule , "expected workspace autostart schedule to be nil" )
@@ -275,14 +279,15 @@ func TestCreateWithRichParameters(t *testing.T) {
275
279
t .Parallel ()
276
280
277
281
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 )
280
285
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
281
286
282
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
287
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
283
288
284
289
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
285
- clitest .SetupConfig (t , client , root )
290
+ clitest .SetupConfig (t , member , root )
286
291
doneChan := make (chan struct {})
287
292
pty := ptytest .New (t ).Attach (inv )
288
293
go func () {
@@ -314,11 +319,12 @@ func TestCreateWithRichParameters(t *testing.T) {
314
319
t .Parallel ()
315
320
316
321
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 )
319
325
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
320
326
321
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
327
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
322
328
323
329
tempDir := t .TempDir ()
324
330
removeTmpDirUntilSuccessAfterTest (t , tempDir )
@@ -328,7 +334,7 @@ func TestCreateWithRichParameters(t *testing.T) {
328
334
secondParameterName + ": " + secondParameterValue + "\n " +
329
335
immutableParameterName + ": " + immutableParameterValue )
330
336
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 )
332
338
333
339
doneChan := make (chan struct {})
334
340
pty := ptytest .New (t ).Attach (inv )
@@ -354,17 +360,18 @@ func TestCreateWithRichParameters(t *testing.T) {
354
360
t .Parallel ()
355
361
356
362
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 )
359
366
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
360
367
361
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
368
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
362
369
363
370
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name ,
364
371
"--parameter" , fmt .Sprintf ("%s=%s" , firstParameterName , firstParameterValue ),
365
372
"--parameter" , fmt .Sprintf ("%s=%s" , secondParameterName , secondParameterValue ),
366
373
"--parameter" , fmt .Sprintf ("%s=%s" , immutableParameterName , immutableParameterValue ))
367
- clitest .SetupConfig (t , client , root )
374
+ clitest .SetupConfig (t , member , root )
368
375
doneChan := make (chan struct {})
369
376
pty := ptytest .New (t ).Attach (inv )
370
377
go func () {
@@ -422,14 +429,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
422
429
t .Parallel ()
423
430
424
431
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 ))
427
435
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
428
436
429
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
437
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
430
438
431
439
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
432
- clitest .SetupConfig (t , client , root )
440
+ clitest .SetupConfig (t , member , root )
433
441
doneChan := make (chan struct {})
434
442
pty := ptytest .New (t ).Attach (inv )
435
443
go func () {
@@ -459,14 +467,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
459
467
t .Parallel ()
460
468
461
469
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 ))
464
473
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
465
474
466
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
475
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
467
476
468
477
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
469
- clitest .SetupConfig (t , client , root )
478
+ clitest .SetupConfig (t , member , root )
470
479
doneChan := make (chan struct {})
471
480
pty := ptytest .New (t ).Attach (inv )
472
481
go func () {
@@ -496,14 +505,15 @@ func TestCreateValidateRichParameters(t *testing.T) {
496
505
t .Parallel ()
497
506
498
507
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 ))
501
511
coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
502
512
503
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
513
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
504
514
505
515
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
506
- clitest .SetupConfig (t , client , root )
516
+ clitest .SetupConfig (t , member , root )
507
517
doneChan := make (chan struct {})
508
518
pty := ptytest .New (t ).Attach (inv )
509
519
go func () {
@@ -533,13 +543,14 @@ func TestCreateValidateRichParameters(t *testing.T) {
533
543
t .Parallel ()
534
544
535
545
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 ))
538
549
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 )
540
551
541
552
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
542
- clitest .SetupConfig (t , client , root )
553
+ clitest .SetupConfig (t , member , root )
543
554
pty := ptytest .New (t ).Attach (inv )
544
555
clitest .Start (t , inv )
545
556
@@ -562,10 +573,11 @@ func TestCreateValidateRichParameters(t *testing.T) {
562
573
t .Parallel ()
563
574
564
575
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 ))
567
579
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 )
569
581
570
582
tempDir := t .TempDir ()
571
583
removeTmpDirUntilSuccessAfterTest (t , tempDir )
@@ -575,7 +587,7 @@ func TestCreateValidateRichParameters(t *testing.T) {
575
587
- eee
576
588
- fff` )
577
589
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 )
579
591
pty := ptytest .New (t ).Attach (inv )
580
592
581
593
clitest .Start (t , inv )
@@ -620,18 +632,19 @@ func TestCreateWithGitAuth(t *testing.T) {
620
632
}},
621
633
IncludeProvisionerDaemon : true ,
622
634
})
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 )
625
638
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 )
627
640
628
641
inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name )
629
- clitest .SetupConfig (t , client , root )
642
+ clitest .SetupConfig (t , member , root )
630
643
pty := ptytest .New (t ).Attach (inv )
631
644
clitest .Start (t , inv )
632
645
633
646
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 )
635
648
_ = resp .Body .Close ()
636
649
require .Equal (t , http .StatusTemporaryRedirect , resp .StatusCode )
637
650
pty .ExpectMatch ("Confirm create?" )
0 commit comments