|
@@ 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 |
|
""" |