@@ -732,6 +732,13 @@ func TestUsersFilter(t *testing.T) {
732
732
require .NoError (t , err , "suspend user" )
733
733
}
734
734
735
+ if i % 5 == 0 {
736
+ user , err = client .UpdateUserProfile (context .Background (), user .ID .String (), codersdk.UpdateUserProfileRequest {
737
+ Username : strings .ToUpper (user .Username ),
738
+ })
739
+ require .NoError (t , err , "update username to uppercase" )
740
+ }
741
+
735
742
users = append (users , user )
736
743
}
737
744
@@ -760,6 +767,15 @@ func TestUsersFilter(t *testing.T) {
760
767
return u .Status == codersdk .UserStatusActive
761
768
},
762
769
},
770
+ {
771
+ Name : "ActiveUppercase" ,
772
+ Filter : codersdk.UsersRequest {
773
+ Status : "ACTIVE" ,
774
+ },
775
+ FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
776
+ return u .Status == codersdk .UserStatusActive
777
+ },
778
+ },
763
779
{
764
780
Name : "Suspended" ,
765
781
Filter : codersdk.UsersRequest {
@@ -775,7 +791,7 @@ func TestUsersFilter(t *testing.T) {
775
791
Search : "a" ,
776
792
},
777
793
FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
778
- return (strings .Contains (u .Username , "a " ) || strings .Contains (u .Email , "a " ))
794
+ return (strings .ContainsAny (u .Username , "aA " ) || strings .ContainsAny (u .Email , "aA " ))
779
795
},
780
796
},
781
797
{
@@ -793,6 +809,31 @@ func TestUsersFilter(t *testing.T) {
793
809
return false
794
810
},
795
811
},
812
+ {
813
+ Name : "AdminsUppercase" ,
814
+ Filter : codersdk.UsersRequest {
815
+ Role : "ADMIN" ,
816
+ Status : codersdk .UserStatusSuspended + "," + codersdk .UserStatusActive ,
817
+ },
818
+ FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
819
+ for _ , r := range u .Roles {
820
+ if r .Name == rbac .RoleAdmin () {
821
+ return true
822
+ }
823
+ }
824
+ return false
825
+ },
826
+ },
827
+ {
828
+ Name : "Members" ,
829
+ Filter : codersdk.UsersRequest {
830
+ Role : rbac .RoleMember (),
831
+ Status : codersdk .UserStatusSuspended + "," + codersdk .UserStatusActive ,
832
+ },
833
+ FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
834
+ return true
835
+ },
836
+ },
796
837
{
797
838
Name : "SearchQuery" ,
798
839
Filter : codersdk.UsersRequest {
@@ -801,7 +842,22 @@ func TestUsersFilter(t *testing.T) {
801
842
FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
802
843
for _ , r := range u .Roles {
803
844
if r .Name == rbac .RoleAdmin () {
804
- return (strings .Contains (u .Username , "i" ) || strings .Contains (u .Email , "i" )) &&
845
+ return (strings .ContainsAny (u .Username , "iI" ) || strings .ContainsAny (u .Email , "iI" )) &&
846
+ u .Status == codersdk .UserStatusActive
847
+ }
848
+ }
849
+ return false
850
+ },
851
+ },
852
+ {
853
+ Name : "SearchQueryInsensitive" ,
854
+ Filter : codersdk.UsersRequest {
855
+ SearchQuery : "i Role:Admin STATUS:Active" ,
856
+ },
857
+ FilterF : func (_ codersdk.UsersRequest , u codersdk.User ) bool {
858
+ for _ , r := range u .Roles {
859
+ if r .Name == rbac .RoleAdmin () {
860
+ return (strings .ContainsAny (u .Username , "iI" ) || strings .ContainsAny (u .Email , "iI" )) &&
805
861
u .Status == codersdk .UserStatusActive
806
862
}
807
863
}
0 commit comments