@@ 1184-1239 (lines=56) @@ | ||
1181 | # by correct value when avatar feature will be enabled |
|
1182 | assert user_role['user']['avatar_url'] is None |
|
1183 | ||
1184 | def test_api__get_workspace_members__ok_200__as_admin(self): |
|
1185 | """ |
|
1186 | Check obtain workspace members list of a workspace where admin doesn't |
|
1187 | have any right |
|
1188 | """ |
|
1189 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1190 | admin = dbsession.query(models.User) \ |
|
1191 | .filter(models.User.email == '[email protected]') \ |
|
1192 | .one() |
|
1193 | uapi = UserApi( |
|
1194 | current_user=admin, |
|
1195 | session=dbsession, |
|
1196 | config=self.app_config, |
|
1197 | ) |
|
1198 | gapi = GroupApi( |
|
1199 | current_user=admin, |
|
1200 | session=dbsession, |
|
1201 | config=self.app_config, |
|
1202 | ) |
|
1203 | groups = [gapi.get_one_with_name('trusted-users')] |
|
1204 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
1205 | workspace_api = WorkspaceApi( |
|
1206 | current_user=admin, |
|
1207 | session=dbsession, |
|
1208 | config=self.app_config, |
|
1209 | ) |
|
1210 | workspace = workspace_api.create_workspace('test_2', save_now=True) # nopep8 |
|
1211 | rapi = RoleApi( |
|
1212 | current_user=None, |
|
1213 | session=dbsession, |
|
1214 | config=self.app_config, |
|
1215 | ) |
|
1216 | rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
|
1217 | rapi.delete_one(admin.user_id, workspace.workspace_id) |
|
1218 | transaction.commit() |
|
1219 | user_id = user.user_id |
|
1220 | workspace_id = workspace.workspace_id |
|
1221 | admin_id = admin.user_id |
|
1222 | self.testapp.authorization = ( |
|
1223 | 'Basic', |
|
1224 | ( |
|
1225 | '[email protected]', |
|
1226 | '[email protected]' |
|
1227 | ) |
|
1228 | ) |
|
1229 | res = self.testapp.get('/api/v2/workspaces/{}/members'.format( |
|
1230 | workspace_id, |
|
1231 | user_id |
|
1232 | ), status=200).json_body |
|
1233 | assert len(res) == 1 |
|
1234 | user_role = res[0] |
|
1235 | assert user_role['role'] == 'reader' |
|
1236 | assert user_role['user_id'] == user_id |
|
1237 | assert user_role['workspace_id'] == workspace_id |
|
1238 | assert user_role['is_active'] is True |
|
1239 | assert user_role['do_notify'] is False |
|
1240 | ||
1241 | def test_api__get_workspace_members__err_400__unallowed_user(self): |
|
1242 | """ |
|
@@ 1305-1358 (lines=54) @@ | ||
1302 | # by correct value when avatar feature will be enabled |
|
1303 | assert user_role['user']['avatar_url'] is None |
|
1304 | ||
1305 | def test_api__get_workspace_member__ok_200__as_admin(self): |
|
1306 | """ |
|
1307 | Check obtain workspace members list with a reachable workspace for user |
|
1308 | """ |
|
1309 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1310 | admin = dbsession.query(models.User) \ |
|
1311 | .filter(models.User.email == '[email protected]') \ |
|
1312 | .one() |
|
1313 | uapi = UserApi( |
|
1314 | current_user=admin, |
|
1315 | session=dbsession, |
|
1316 | config=self.app_config, |
|
1317 | ) |
|
1318 | gapi = GroupApi( |
|
1319 | current_user=admin, |
|
1320 | session=dbsession, |
|
1321 | config=self.app_config, |
|
1322 | ) |
|
1323 | groups = [gapi.get_one_with_name('trusted-users')] |
|
1324 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
1325 | workspace_api = WorkspaceApi( |
|
1326 | current_user=admin, |
|
1327 | session=dbsession, |
|
1328 | config=self.app_config, |
|
1329 | ) |
|
1330 | workspace = workspace_api.create_workspace('test_2', save_now=True) # nopep8 |
|
1331 | rapi = RoleApi( |
|
1332 | current_user=None, |
|
1333 | session=dbsession, |
|
1334 | config=self.app_config, |
|
1335 | ) |
|
1336 | rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
|
1337 | rapi.delete_one(admin.user_id, workspace.workspace_id) |
|
1338 | transaction.commit() |
|
1339 | user_id = user.user_id |
|
1340 | workspace_id = workspace.workspace_id |
|
1341 | admin_id = admin.user_id |
|
1342 | self.testapp.authorization = ( |
|
1343 | 'Basic', |
|
1344 | ( |
|
1345 | '[email protected]', |
|
1346 | '[email protected]' |
|
1347 | ) |
|
1348 | ) |
|
1349 | res = self.testapp.get('/api/v2/workspaces/{}/members/{}'.format( |
|
1350 | workspace_id, |
|
1351 | user_id |
|
1352 | ), status=200).json_body |
|
1353 | user_role = res |
|
1354 | assert user_role['role'] == 'reader' |
|
1355 | assert user_role['user_id'] == user_id |
|
1356 | assert user_role['workspace_id'] == workspace_id |
|
1357 | assert user_role['is_active'] is True |
|
1358 | assert user_role['do_notify'] is False |
|
1359 | ||
1360 | def test_api__get_workspace_member__ok_200__other_user(self): |
|
1361 | """ |