| @@ 2045-2101 (lines=57) @@ | ||
| 2042 | assert user_role['user_id'] == user2.user_id |
|
| 2043 | assert user_role['workspace_id'] == workspace.workspace_id |
|
| 2044 | ||
| 2045 | def test_api__update_workspace_member_role__err_400__role_not_exist(self): |
|
| 2046 | """ |
|
| 2047 | Update worskpace member role |
|
| 2048 | """ |
|
| 2049 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 2050 | admin = dbsession.query(models.User) \ |
|
| 2051 | .filter(models.User.email == '[email protected]') \ |
|
| 2052 | .one() |
|
| 2053 | uapi = UserApi( |
|
| 2054 | current_user=admin, |
|
| 2055 | session=dbsession, |
|
| 2056 | config=self.app_config, |
|
| 2057 | ) |
|
| 2058 | gapi = GroupApi( |
|
| 2059 | current_user=admin, |
|
| 2060 | session=dbsession, |
|
| 2061 | config=self.app_config, |
|
| 2062 | ) |
|
| 2063 | groups = [gapi.get_one_with_name('trusted-users')] |
|
| 2064 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 2065 | user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 2066 | workspace_api = WorkspaceApi( |
|
| 2067 | current_user=admin, |
|
| 2068 | session=dbsession, |
|
| 2069 | config=self.app_config, |
|
| 2070 | show_deleted=True, |
|
| 2071 | ) |
|
| 2072 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
| 2073 | rapi = RoleApi( |
|
| 2074 | current_user=None, |
|
| 2075 | session=dbsession, |
|
| 2076 | config=self.app_config, |
|
| 2077 | ) |
|
| 2078 | rapi.delete_one(admin.user_id, workspace.workspace_id) |
|
| 2079 | transaction.commit() |
|
| 2080 | # update workspace role |
|
| 2081 | self.testapp.authorization = ( |
|
| 2082 | 'Basic', |
|
| 2083 | ( |
|
| 2084 | '[email protected]', |
|
| 2085 | '[email protected]' |
|
| 2086 | ) |
|
| 2087 | ) |
|
| 2088 | params = { |
|
| 2089 | 'role': 'content-manager', |
|
| 2090 | } |
|
| 2091 | res = self.testapp.put_json( |
|
| 2092 | '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
|
| 2093 | workspace_id=workspace.workspace_id, |
|
| 2094 | user_id=user2.user_id |
|
| 2095 | ), |
|
| 2096 | status=400, |
|
| 2097 | params=params, |
|
| 2098 | ) |
|
| 2099 | assert isinstance(res.json, dict) |
|
| 2100 | assert 'code' in res.json.keys() |
|
| 2101 | assert res.json_body['code'] == error.USER_ROLE_NOT_FOUND |
|
| 2102 | ||
| 2103 | def test_api__update_workspace_member_role__ok_200__as_admin(self): |
|
| 2104 | """ |
|
| @@ 2295-2346 (lines=52) @@ | ||
| 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 | """ |
|
| 2297 | Delete worskpace member role |
|
| 2298 | """ |
|
| 2299 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 2300 | admin = dbsession.query(models.User) \ |
|
| 2301 | .filter(models.User.email == '[email protected]') \ |
|
| 2302 | .one() |
|
| 2303 | uapi = UserApi( |
|
| 2304 | current_user=admin, |
|
| 2305 | session=dbsession, |
|
| 2306 | config=self.app_config, |
|
| 2307 | ) |
|
| 2308 | gapi = GroupApi( |
|
| 2309 | current_user=admin, |
|
| 2310 | session=dbsession, |
|
| 2311 | config=self.app_config, |
|
| 2312 | ) |
|
| 2313 | groups = [gapi.get_one_with_name('trusted-users')] |
|
| 2314 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 2315 | user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 2316 | workspace_api = WorkspaceApi( |
|
| 2317 | current_user=admin, |
|
| 2318 | session=dbsession, |
|
| 2319 | config=self.app_config, |
|
| 2320 | show_deleted=True, |
|
| 2321 | ) |
|
| 2322 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
| 2323 | rapi = RoleApi( |
|
| 2324 | current_user=admin, |
|
| 2325 | session=dbsession, |
|
| 2326 | config=self.app_config, |
|
| 2327 | ) |
|
| 2328 | transaction.commit() |
|
| 2329 | ||
| 2330 | self.testapp.authorization = ( |
|
| 2331 | 'Basic', |
|
| 2332 | ( |
|
| 2333 | '[email protected]', |
|
| 2334 | '[email protected]' |
|
| 2335 | ) |
|
| 2336 | ) |
|
| 2337 | res = self.testapp.delete( |
|
| 2338 | '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
|
| 2339 | workspace_id=workspace.workspace_id, |
|
| 2340 | user_id=user2.user_id, |
|
| 2341 | ), |
|
| 2342 | status=400, |
|
| 2343 | ) |
|
| 2344 | assert isinstance(res.json, dict) |
|
| 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 | """ |
|