@@ -358,6 +358,13 @@ func TestWorkspaceFilter(t *testing.T) {
358
358
user , err := userClient .User (context .Background (), codersdk .Me )
359
359
require .NoError (t , err , "fetch me" )
360
360
361
+ if i % 3 == 0 {
362
+ user , err = client .UpdateUserProfile (context .Background (), user .ID .String (), codersdk.UpdateUserProfileRequest {
363
+ Username : strings .ToUpper (user .Username ),
364
+ })
365
+ require .NoError (t , err , "uppercase username" )
366
+ }
367
+
361
368
org , err := userClient .CreateOrganization (context .Background (), codersdk.CreateOrganizationRequest {
362
369
Name : user .Username + "-org" ,
363
370
})
@@ -378,16 +385,32 @@ func TestWorkspaceFilter(t *testing.T) {
378
385
379
386
availTemplates := make ([]codersdk.Template , 0 )
380
387
allWorkspaces := make ([]madeWorkspace , 0 )
388
+ upperTemplates := make ([]string , 0 )
381
389
382
390
// Create some random workspaces
383
- for _ , user := range users {
391
+ var count int
392
+ for i , user := range users {
384
393
version := coderdtest .CreateTemplateVersion (t , client , user .Org .ID , nil )
385
394
386
395
// Create a template & workspace in the user's org
387
396
coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
388
- template := coderdtest .CreateTemplate (t , client , user .Org .ID , version .ID )
397
+
398
+ var template codersdk.Template
399
+ if i % 3 == 0 {
400
+ template = coderdtest .CreateTemplate (t , client , user .Org .ID , version .ID , func (request * codersdk.CreateTemplateRequest ) {
401
+ request .Name = strings .ToUpper (request .Name )
402
+ })
403
+ upperTemplates = append (upperTemplates , template .Name )
404
+ } else {
405
+ template = coderdtest .CreateTemplate (t , client , user .Org .ID , version .ID )
406
+ }
407
+
389
408
availTemplates = append (availTemplates , template )
390
- workspace := coderdtest .CreateWorkspace (t , user .Client , template .OrganizationID , template .ID )
409
+ workspace := coderdtest .CreateWorkspace (t , user .Client , template .OrganizationID , template .ID , func (request * codersdk.CreateWorkspaceRequest ) {
410
+ if count % 3 == 0 {
411
+ request .Name = strings .ToUpper (request .Name )
412
+ }
413
+ })
391
414
allWorkspaces = append (allWorkspaces , madeWorkspace {
392
415
Workspace : workspace ,
393
416
Template : template ,
@@ -428,19 +451,28 @@ func TestWorkspaceFilter(t *testing.T) {
428
451
{
429
452
Name : "Owner" ,
430
453
Filter : codersdk.WorkspaceFilter {
431
- Owner : users [2 ].User .Username ,
454
+ Owner : strings . ToUpper ( users [2 ].User .Username ) ,
432
455
},
433
456
FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
434
- return workspace .Owner .Username == f .Owner
457
+ return strings . EqualFold ( workspace .Owner .Username , f .Owner )
435
458
},
436
459
},
437
460
{
438
461
Name : "TemplateName" ,
439
462
Filter : codersdk.WorkspaceFilter {
440
- Template : allWorkspaces [5 ].Template .Name ,
463
+ Template : strings . ToUpper ( allWorkspaces [5 ].Template .Name ) ,
441
464
},
442
465
FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
443
- return workspace .Template .Name == f .Template
466
+ return strings .EqualFold (workspace .Template .Name , f .Template )
467
+ },
468
+ },
469
+ {
470
+ Name : "UpperTemplateName" ,
471
+ Filter : codersdk.WorkspaceFilter {
472
+ Template : upperTemplates [0 ],
473
+ },
474
+ FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
475
+ return strings .EqualFold (workspace .Template .Name , f .Template )
444
476
},
445
477
},
446
478
{
@@ -450,16 +482,21 @@ func TestWorkspaceFilter(t *testing.T) {
450
482
Name : "a" ,
451
483
},
452
484
FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
453
- return strings .Contains (workspace .Workspace .Name , f . Name )
485
+ return strings .ContainsAny (workspace .Workspace .Name , "Aa" )
454
486
},
455
487
},
456
488
{
457
489
Name : "Q-Owner/Name" ,
458
490
Filter : codersdk.WorkspaceFilter {
459
- FilterQuery : allWorkspaces [5 ].Owner .Username + "/" + allWorkspaces [5 ].Workspace .Name ,
491
+ FilterQuery : allWorkspaces [5 ].Owner .Username + "/" + strings . ToUpper ( allWorkspaces [5 ].Workspace .Name ) ,
460
492
},
461
- FilterF : func (_ codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
462
- return workspace .Workspace .ID == allWorkspaces [5 ].Workspace .ID
493
+ FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
494
+ if strings .EqualFold (workspace .Owner .Username , allWorkspaces [5 ].Owner .Username ) &&
495
+ strings .Contains (strings .ToLower (workspace .Workspace .Name ), strings .ToLower (allWorkspaces [5 ].Workspace .Name )) {
496
+ return true
497
+ }
498
+
499
+ return false
463
500
},
464
501
},
465
502
{
@@ -470,7 +507,12 @@ func TestWorkspaceFilter(t *testing.T) {
470
507
Name : allWorkspaces [3 ].Workspace .Name ,
471
508
},
472
509
FilterF : func (f codersdk.WorkspaceFilter , workspace madeWorkspace ) bool {
473
- return workspace .Workspace .ID == allWorkspaces [3 ].Workspace .ID
510
+ if strings .EqualFold (workspace .Owner .Username , f .Owner ) &&
511
+ strings .Contains (strings .ToLower (workspace .Workspace .Name ), strings .ToLower (f .Name )) &&
512
+ strings .EqualFold (workspace .Template .Name , f .Template ) {
513
+ return true
514
+ }
515
+ return false
474
516
},
475
517
},
476
518
}
0 commit comments