@@ 2348-2403 (lines=56) @@ | ||
2345 | assert 'code' in res.json.keys() |
|
2346 | assert res.json_body['code'] == error.USER_ROLE_NOT_FOUND |
|
2347 | ||
2348 | def test_api__delete_workspace_member_role__err_400__workspace_manager_itself(self): # nopep8 |
|
2349 | """ |
|
2350 | Delete worskpace member role. |
|
2351 | Unallow to delete himself as workspace_manager |
|
2352 | """ |
|
2353 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
2354 | admin = dbsession.query(models.User) \ |
|
2355 | .filter(models.User.email == '[email protected]') \ |
|
2356 | .one() |
|
2357 | uapi = UserApi( |
|
2358 | current_user=admin, |
|
2359 | session=dbsession, |
|
2360 | config=self.app_config, |
|
2361 | ) |
|
2362 | gapi = GroupApi( |
|
2363 | current_user=admin, |
|
2364 | session=dbsession, |
|
2365 | config=self.app_config, |
|
2366 | ) |
|
2367 | groups = [gapi.get_one_with_name('trusted-users')] |
|
2368 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
2369 | user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
2370 | workspace_api = WorkspaceApi( |
|
2371 | current_user=admin, |
|
2372 | session=dbsession, |
|
2373 | config=self.app_config, |
|
2374 | show_deleted=True, |
|
2375 | ) |
|
2376 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
2377 | rapi = RoleApi( |
|
2378 | current_user=admin, |
|
2379 | session=dbsession, |
|
2380 | config=self.app_config, |
|
2381 | ) |
|
2382 | rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
|
2383 | rapi.create_one(user2, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
|
2384 | transaction.commit() |
|
2385 | ||
2386 | self.testapp.authorization = ( |
|
2387 | 'Basic', |
|
2388 | ( |
|
2389 | '[email protected]', |
|
2390 | '[email protected]' |
|
2391 | ) |
|
2392 | ) |
|
2393 | res = self.testapp.delete( |
|
2394 | '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
|
2395 | workspace_id=workspace.workspace_id, |
|
2396 | user_id=user2.user_id, |
|
2397 | ), |
|
2398 | status=400, |
|
2399 | ) |
|
2400 | assert res.json_body['code'] == error.USER_CANT_REMOVE_IS_OWN_ROLE_IN_WORKSPACE # nopep8 |
|
2401 | # after |
|
2402 | roles = self.testapp.get('/api/v2/workspaces/{}/members'.format(workspace.workspace_id), status=200).json_body # nopep8 |
|
2403 | assert user2.user_id in [role['user_id'] for role in roles] |
|
2404 | ||
2405 | def test_api__delete_workspace_member_role__err_400__simple_user(self): |
|
2406 | """ |
|
@@ 2239-2293 (lines=55) @@ | ||
2236 | for role in roles: |
|
2237 | assert role['user_id'] != user.user_id |
|
2238 | ||
2239 | def test_api__delete_workspace_member_role__ok_200__nominal_case(self): |
|
2240 | """ |
|
2241 | Delete worskpace member role |
|
2242 | """ |
|
2243 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
2244 | admin = dbsession.query(models.User) \ |
|
2245 | .filter(models.User.email == '[email protected]') \ |
|
2246 | .one() |
|
2247 | uapi = UserApi( |
|
2248 | current_user=admin, |
|
2249 | session=dbsession, |
|
2250 | config=self.app_config, |
|
2251 | ) |
|
2252 | gapi = GroupApi( |
|
2253 | current_user=admin, |
|
2254 | session=dbsession, |
|
2255 | config=self.app_config, |
|
2256 | ) |
|
2257 | groups = [gapi.get_one_with_name('trusted-users')] |
|
2258 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
2259 | user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
2260 | workspace_api = WorkspaceApi( |
|
2261 | current_user=admin, |
|
2262 | session=dbsession, |
|
2263 | config=self.app_config, |
|
2264 | show_deleted=True, |
|
2265 | ) |
|
2266 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
2267 | rapi = RoleApi( |
|
2268 | current_user=admin, |
|
2269 | session=dbsession, |
|
2270 | config=self.app_config, |
|
2271 | ) |
|
2272 | rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
|
2273 | rapi.create_one(user2, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
|
2274 | transaction.commit() |
|
2275 | ||
2276 | self.testapp.authorization = ( |
|
2277 | 'Basic', |
|
2278 | ( |
|
2279 | '[email protected]', |
|
2280 | '[email protected]' |
|
2281 | ) |
|
2282 | ) |
|
2283 | res = self.testapp.delete( |
|
2284 | '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
|
2285 | workspace_id=workspace.workspace_id, |
|
2286 | user_id=user2.user_id, |
|
2287 | ), |
|
2288 | status=204, |
|
2289 | ) |
|
2290 | # after |
|
2291 | roles = self.testapp.get('/api/v2/workspaces/{}/members'.format(workspace.workspace_id), status=200).json_body # nopep8 |
|
2292 | for role in roles: |
|
2293 | assert role['user_id'] != user2.user_id |
|
2294 | ||
2295 | def test_api__delete_workspace_member_role__err_400__role_not_exist(self): |
|
2296 | """ |