@@ -1139,6 +1139,86 @@ def test_realm_user_one_zentral_no_user_link(self):
1139
1139
self .assertNotContains (response , user .get_absolute_url ())
1140
1140
self .assertContains (response , "Zentral user (1)" )
1141
1141
1142
+ # add realm user to group
1143
+
1144
+ def test_add_realm_user_to_group_login_redirect (self ):
1145
+ _ , user = force_realm_user ()
1146
+ self .login_redirect ("add_user_to_group" , user .pk )
1147
+
1148
+ def test_add_realm_user_to_group_permission_denied (self ):
1149
+ _ , user = force_realm_user ()
1150
+ self .login ("realms.view_realmuser" )
1151
+ response = self .client .get (reverse ("realms:add_user_to_group" , args = (user .pk ,)))
1152
+ self .assertEqual (response .status_code , 403 )
1153
+
1154
+ def test_add_realm_user_to_group_get (self ):
1155
+ existing_group = force_realm_group ()
1156
+ realm , user = force_realm_user (realm = existing_group .realm , group = existing_group )
1157
+ available_group = force_realm_group (realm = realm )
1158
+ scim_group = force_realm_group (realm = realm )
1159
+ scim_group .scim_managed = True
1160
+ scim_group .save ()
1161
+ other_group = force_realm_group ()
1162
+ self .login ("realms.change_realmgroup" )
1163
+ response = self .client .get (reverse ("realms:add_user_to_group" , args = (user .pk ,)))
1164
+ self .assertEqual (response .status_code , 200 )
1165
+ self .assertTemplateUsed (response , "realms/realmuser_add_to_group.html" )
1166
+ self .assertNotContains (response , existing_group .display_name )
1167
+ self .assertContains (response , available_group .display_name )
1168
+ self .assertNotContains (response , scim_group .display_name )
1169
+ self .assertNotContains (response , other_group .display_name )
1170
+
1171
+ @patch ("realms.views.realm_group_members_updated.send_robust" )
1172
+ def test_add_realm_user_to_group_post (self , send_robust ):
1173
+ scim_group = force_realm_group ()
1174
+ scim_group .scim_managed = True
1175
+ scim_group .save ()
1176
+ realm , user = force_realm_user (realm = scim_group .realm , group = scim_group )
1177
+ group = force_realm_group (realm = realm )
1178
+ self .login ("realms.change_realmgroup" , "realms.view_realmuser" )
1179
+ response = self .client .post (reverse ("realms:add_user_to_group" , args = (user .pk ,)),
1180
+ {"realm_group" : str (group .pk )},
1181
+ follow = True )
1182
+ self .assertEqual (response .status_code , 200 )
1183
+ self .assertTemplateUsed (response , "realms/realmuser_detail.html" )
1184
+ self .assertNotContains (response , reverse ("realms:remove_user_from_group" , args = (user .pk , scim_group .pk )))
1185
+ self .assertContains (response , reverse ("realms:remove_user_from_group" , args = (user .pk , group .pk )))
1186
+ send_robust .assert_called_once ()
1187
+
1188
+ # remove realm user from group
1189
+
1190
+ def test_remove_realm_user_from_group_redirect (self ):
1191
+ group = force_realm_group ()
1192
+ _ , user = force_realm_user (realm = group .realm , group = group )
1193
+ self .login_redirect ("remove_user_from_group" , user .pk , group .pk )
1194
+
1195
+ def test_remove_realm_user_from_group_permission_denied (self ):
1196
+ group = force_realm_group ()
1197
+ _ , user = force_realm_user (realm = group .realm , group = group )
1198
+ self .login ("realms.view_realmuser" )
1199
+ response = self .client .get (reverse ("realms:remove_user_from_group" , args = (user .pk , group .pk )))
1200
+ self .assertEqual (response .status_code , 403 )
1201
+
1202
+ def test_remove_realm_user_from_group_get (self ):
1203
+ group = force_realm_group ()
1204
+ _ , user = force_realm_user (realm = group .realm , group = group )
1205
+ self .login ("realms.change_realmgroup" )
1206
+ response = self .client .get (reverse ("realms:remove_user_from_group" , args = (user .pk , group .pk )))
1207
+ self .assertEqual (response .status_code , 200 )
1208
+ self .assertTemplateUsed (response , "realms/realmuser_remove_from_group.html" )
1209
+
1210
+ @patch ("realms.views.realm_group_members_updated.send_robust" )
1211
+ def test_remove_realm_user_from_group_post (self , send_robust ):
1212
+ group = force_realm_group ()
1213
+ _ , user = force_realm_user (realm = group .realm , group = group )
1214
+ self .login ("realms.change_realmgroup" , "realms.view_realmuser" )
1215
+ response = self .client .post (reverse ("realms:remove_user_from_group" , args = (user .pk , group .pk )),
1216
+ follow = True )
1217
+ self .assertEqual (response .status_code , 200 )
1218
+ self .assertTemplateUsed (response , "realms/realmuser_detail.html" )
1219
+ self .assertNotContains (response , group .display_name )
1220
+ send_robust .assert_called_once ()
1221
+
1142
1222
# test realm
1143
1223
1144
1224
def test_realm_permission_denied (self ):
0 commit comments