@@ -846,21 +846,52 @@ func TestTemplateACL(t *testing.T) {
846
846
}})
847
847
anotherClient , _ := coderdtest .CreateAnotherUser (t , client , user .OrganizationID , rbac .RoleTemplateAdmin ())
848
848
849
+ // Create an active user.
849
850
_ , user2 := coderdtest .CreateAnotherUser (t , client , user .OrganizationID )
850
- _ , user3 := coderdtest .CreateAnotherUser (t , client , user .OrganizationID )
851
- version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
852
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
853
851
852
+ // Create a dormant user.
854
853
ctx := testutil .Context (t , testutil .WaitLong )
854
+ user3 , err := client .CreateUserWithOrgs (ctx , codersdk.CreateUserRequestWithOrgs {
855
+ Email : "coder@coder.com" ,
856
+ Username : "coder" ,
857
+ Password : "SomeStrongPassword!" ,
858
+ OrganizationIDs : []uuid.UUID {user .OrganizationID },
859
+ })
860
+ require .NoError (t , err )
861
+ require .Equal (t , codersdk .UserStatusDormant , user3 .Status )
855
862
856
- err := anotherClient .UpdateTemplateACL (ctx , template .ID , codersdk.UpdateTemplateACL {
863
+ // Create a suspended user.
864
+ user4 , err := client .CreateUserWithOrgs (ctx , codersdk.CreateUserRequestWithOrgs {
865
+ Email : "coder2@coder.com" ,
866
+ Username : "coder2" ,
867
+ Password : "SomeStrongPassword!" ,
868
+ OrganizationIDs : []uuid.UUID {user .OrganizationID },
869
+ })
870
+ require .NoError (t , err )
871
+
872
+ user4 , err = client .UpdateUserStatus (ctx , user4 .ID .String (), codersdk .UserStatusSuspended )
873
+ require .NoError (t , err )
874
+ require .Equal (t , codersdk .UserStatusSuspended , user4 .Status )
875
+
876
+ // Create a user to delete.
877
+ _ , user5 := coderdtest .CreateAnotherUser (t , client , user .OrganizationID )
878
+
879
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
880
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
881
+
882
+ err = anotherClient .UpdateTemplateACL (ctx , template .ID , codersdk.UpdateTemplateACL {
857
883
UserPerms : map [string ]codersdk.TemplateRole {
858
884
user2 .ID .String (): codersdk .TemplateRoleUse ,
859
885
user3 .ID .String (): codersdk .TemplateRoleAdmin ,
886
+ user4 .ID .String (): codersdk .TemplateRoleUse ,
887
+ user5 .ID .String (): codersdk .TemplateRoleUse ,
860
888
},
861
889
})
862
890
require .NoError (t , err )
863
891
892
+ err = client .DeleteUser (ctx , user5 .ID )
893
+ require .NoError (t , err )
894
+
864
895
acl , err := anotherClient .TemplateACL (ctx , template .ID )
865
896
require .NoError (t , err )
866
897
@@ -874,9 +905,15 @@ func TestTemplateACL(t *testing.T) {
874
905
Role : codersdk .TemplateRoleAdmin ,
875
906
}
876
907
877
- require .Len (t , acl .Users , 2 )
908
+ templateUser4 := codersdk.TemplateUser {
909
+ User : user4 ,
910
+ Role : codersdk .TemplateRoleUse ,
911
+ }
912
+
913
+ require .Len (t , acl .Users , 3 )
878
914
require .Contains (t , acl .Users , templateUser2 )
879
915
require .Contains (t , acl .Users , templateUser3 )
916
+ require .Contains (t , acl .Users , templateUser4 )
880
917
})
881
918
882
919
t .Run ("everyoneGroup" , func (t * testing.T ) {
0 commit comments