|
@@ 2103-2183 (lines=81) @@
|
| 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 |
|
""" |
| 2105 |
|
Update worskpace member role |
| 2106 |
|
""" |
| 2107 |
|
dbsession = get_tm_session(self.session_factory, transaction.manager) |
| 2108 |
|
admin = dbsession.query(models.User) \ |
| 2109 |
|
.filter(models.User.email == '[email protected]') \ |
| 2110 |
|
.one() |
| 2111 |
|
uapi = UserApi( |
| 2112 |
|
current_user=admin, |
| 2113 |
|
session=dbsession, |
| 2114 |
|
config=self.app_config, |
| 2115 |
|
) |
| 2116 |
|
gapi = GroupApi( |
| 2117 |
|
current_user=admin, |
| 2118 |
|
session=dbsession, |
| 2119 |
|
config=self.app_config, |
| 2120 |
|
) |
| 2121 |
|
groups = [gapi.get_one_with_name('trusted-users')] |
| 2122 |
|
user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
| 2123 |
|
user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
| 2124 |
|
workspace_api = WorkspaceApi( |
| 2125 |
|
current_user=admin, |
| 2126 |
|
session=dbsession, |
| 2127 |
|
config=self.app_config, |
| 2128 |
|
show_deleted=True, |
| 2129 |
|
) |
| 2130 |
|
workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
| 2131 |
|
rapi = RoleApi( |
| 2132 |
|
current_user=None, |
| 2133 |
|
session=dbsession, |
| 2134 |
|
config=self.app_config, |
| 2135 |
|
) |
| 2136 |
|
rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
| 2137 |
|
rapi.create_one(user2, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
| 2138 |
|
rapi.delete_one(admin.user_id, workspace.workspace_id) |
| 2139 |
|
transaction.commit() |
| 2140 |
|
# before |
| 2141 |
|
self.testapp.authorization = ( |
| 2142 |
|
'Basic', |
| 2143 |
|
( |
| 2144 |
|
'[email protected]', |
| 2145 |
|
'[email protected]' |
| 2146 |
|
) |
| 2147 |
|
) |
| 2148 |
|
self.testapp.get( |
| 2149 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2150 |
|
workspace_id=workspace.workspace_id, |
| 2151 |
|
user_id=user2.user_id |
| 2152 |
|
), |
| 2153 |
|
status=200, |
| 2154 |
|
) |
| 2155 |
|
# update workspace role |
| 2156 |
|
params = { |
| 2157 |
|
'role': 'content-manager', |
| 2158 |
|
} |
| 2159 |
|
res = self.testapp.put_json( |
| 2160 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2161 |
|
workspace_id=workspace.workspace_id, |
| 2162 |
|
user_id=user2.user_id |
| 2163 |
|
), |
| 2164 |
|
status=200, |
| 2165 |
|
params=params, |
| 2166 |
|
) |
| 2167 |
|
user_role = res.json_body |
| 2168 |
|
assert user_role['role'] == 'content-manager' |
| 2169 |
|
assert user_role['user_id'] == user2.user_id |
| 2170 |
|
assert user_role['workspace_id'] == workspace.workspace_id |
| 2171 |
|
# after |
| 2172 |
|
res = self.testapp.get( |
| 2173 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2174 |
|
workspace_id=workspace.workspace_id, |
| 2175 |
|
user_id=user2.user_id, |
| 2176 |
|
), |
| 2177 |
|
status=200 |
| 2178 |
|
).json_body # nopep8 |
| 2179 |
|
user_role = res |
| 2180 |
|
assert user_role['role'] == 'content-manager' |
| 2181 |
|
assert user_role['do_notify'] is False |
| 2182 |
|
assert user_role['user_id'] == user2.user_id |
| 2183 |
|
assert user_role['workspace_id'] == workspace.workspace_id |
| 2184 |
|
|
| 2185 |
|
def test_api__delete_workspace_member_role__ok_200__as_admin(self): |
| 2186 |
|
""" |
|
@@ 1963-2043 (lines=81) @@
|
| 1960 |
|
assert 'code' in res.json.keys() |
| 1961 |
|
assert res.json_body['code'] == error.USER_NOT_FOUND |
| 1962 |
|
|
| 1963 |
|
def test_api__update_workspace_member_role__ok_200__nominal_case(self): |
| 1964 |
|
""" |
| 1965 |
|
Update worskpace member role |
| 1966 |
|
""" |
| 1967 |
|
dbsession = get_tm_session(self.session_factory, transaction.manager) |
| 1968 |
|
admin = dbsession.query(models.User) \ |
| 1969 |
|
.filter(models.User.email == '[email protected]') \ |
| 1970 |
|
.one() |
| 1971 |
|
uapi = UserApi( |
| 1972 |
|
current_user=admin, |
| 1973 |
|
session=dbsession, |
| 1974 |
|
config=self.app_config, |
| 1975 |
|
) |
| 1976 |
|
gapi = GroupApi( |
| 1977 |
|
current_user=admin, |
| 1978 |
|
session=dbsession, |
| 1979 |
|
config=self.app_config, |
| 1980 |
|
) |
| 1981 |
|
groups = [gapi.get_one_with_name('trusted-users')] |
| 1982 |
|
user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
| 1983 |
|
user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
| 1984 |
|
workspace_api = WorkspaceApi( |
| 1985 |
|
current_user=admin, |
| 1986 |
|
session=dbsession, |
| 1987 |
|
config=self.app_config, |
| 1988 |
|
show_deleted=True, |
| 1989 |
|
) |
| 1990 |
|
workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
| 1991 |
|
rapi = RoleApi( |
| 1992 |
|
current_user=None, |
| 1993 |
|
session=dbsession, |
| 1994 |
|
config=self.app_config, |
| 1995 |
|
) |
| 1996 |
|
rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
| 1997 |
|
rapi.create_one(user2, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
| 1998 |
|
rapi.delete_one(admin.user_id, workspace.workspace_id) |
| 1999 |
|
transaction.commit() |
| 2000 |
|
# before |
| 2001 |
|
self.testapp.authorization = ( |
| 2002 |
|
'Basic', |
| 2003 |
|
( |
| 2004 |
|
'[email protected]', |
| 2005 |
|
'[email protected]' |
| 2006 |
|
) |
| 2007 |
|
) |
| 2008 |
|
self.testapp.get( |
| 2009 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2010 |
|
workspace_id=workspace.workspace_id, |
| 2011 |
|
user_id=user2.user_id |
| 2012 |
|
), |
| 2013 |
|
status=200, |
| 2014 |
|
) |
| 2015 |
|
# update workspace role |
| 2016 |
|
params = { |
| 2017 |
|
'role': 'content-manager', |
| 2018 |
|
} |
| 2019 |
|
res = self.testapp.put_json( |
| 2020 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2021 |
|
workspace_id=workspace.workspace_id, |
| 2022 |
|
user_id=user2.user_id |
| 2023 |
|
), |
| 2024 |
|
status=200, |
| 2025 |
|
params=params, |
| 2026 |
|
) |
| 2027 |
|
user_role = res.json_body |
| 2028 |
|
assert user_role['role'] == 'content-manager' |
| 2029 |
|
assert user_role['user_id'] == user2.user_id |
| 2030 |
|
assert user_role['workspace_id'] == workspace.workspace_id |
| 2031 |
|
# after |
| 2032 |
|
res = self.testapp.get( |
| 2033 |
|
'/api/v2/workspaces/{workspace_id}/members/{user_id}'.format( |
| 2034 |
|
workspace_id=workspace.workspace_id, |
| 2035 |
|
user_id=user2.user_id, |
| 2036 |
|
), |
| 2037 |
|
status=200 |
| 2038 |
|
).json_body # nopep8 |
| 2039 |
|
user_role = res |
| 2040 |
|
assert user_role['role'] == 'content-manager' |
| 2041 |
|
assert user_role['do_notify'] is False |
| 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 |
|
""" |