@@ 1014-1069 (lines=56) @@ | ||
1011 | # by correct value when avatar feature will be enabled |
|
1012 | assert user_role['user']['avatar_url'] is None |
|
1013 | ||
1014 | def test_api__get_workspace_members__ok_200__as_admin(self): |
|
1015 | """ |
|
1016 | Check obtain workspace members list of a workspace where admin doesn't |
|
1017 | have any right |
|
1018 | """ |
|
1019 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1020 | admin = dbsession.query(models.User) \ |
|
1021 | .filter(models.User.email == '[email protected]') \ |
|
1022 | .one() |
|
1023 | uapi = UserApi( |
|
1024 | current_user=admin, |
|
1025 | session=dbsession, |
|
1026 | config=self.app_config, |
|
1027 | ) |
|
1028 | gapi = GroupApi( |
|
1029 | current_user=admin, |
|
1030 | session=dbsession, |
|
1031 | config=self.app_config, |
|
1032 | ) |
|
1033 | groups = [gapi.get_one_with_name('trusted-users')] |
|
1034 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
1035 | workspace_api = WorkspaceApi( |
|
1036 | current_user=admin, |
|
1037 | session=dbsession, |
|
1038 | config=self.app_config, |
|
1039 | ) |
|
1040 | workspace = workspace_api.create_workspace('test_2', save_now=True) # nopep8 |
|
1041 | rapi = RoleApi( |
|
1042 | current_user=admin, |
|
1043 | session=dbsession, |
|
1044 | config=self.app_config, |
|
1045 | ) |
|
1046 | rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
|
1047 | rapi.delete_one(admin.user_id, workspace.workspace_id) |
|
1048 | transaction.commit() |
|
1049 | user_id = user.user_id |
|
1050 | workspace_id = workspace.workspace_id |
|
1051 | admin_id = admin.user_id |
|
1052 | self.testapp.authorization = ( |
|
1053 | 'Basic', |
|
1054 | ( |
|
1055 | '[email protected]', |
|
1056 | '[email protected]' |
|
1057 | ) |
|
1058 | ) |
|
1059 | res = self.testapp.get('/api/v2/workspaces/{}/members'.format( |
|
1060 | workspace_id, |
|
1061 | user_id |
|
1062 | ), status=200).json_body |
|
1063 | assert len(res) == 1 |
|
1064 | user_role = res[0] |
|
1065 | assert user_role['role'] == 'reader' |
|
1066 | assert user_role['user_id'] == user_id |
|
1067 | assert user_role['workspace_id'] == workspace_id |
|
1068 | assert user_role['is_active'] is True |
|
1069 | assert user_role['do_notify'] is False |
|
1070 | ||
1071 | def test_api__get_workspace_members__err_400__unallowed_user(self): |
|
1072 | """ |
|
@@ 1133-1186 (lines=54) @@ | ||
1130 | # by correct value when avatar feature will be enabled |
|
1131 | assert user_role['user']['avatar_url'] is None |
|
1132 | ||
1133 | def test_api__get_workspace_member__ok_200__as_admin(self): |
|
1134 | """ |
|
1135 | Check obtain workspace members list with a reachable workspace for user |
|
1136 | """ |
|
1137 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1138 | admin = dbsession.query(models.User) \ |
|
1139 | .filter(models.User.email == '[email protected]') \ |
|
1140 | .one() |
|
1141 | uapi = UserApi( |
|
1142 | current_user=admin, |
|
1143 | session=dbsession, |
|
1144 | config=self.app_config, |
|
1145 | ) |
|
1146 | gapi = GroupApi( |
|
1147 | current_user=admin, |
|
1148 | session=dbsession, |
|
1149 | config=self.app_config, |
|
1150 | ) |
|
1151 | groups = [gapi.get_one_with_name('trusted-users')] |
|
1152 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
1153 | workspace_api = WorkspaceApi( |
|
1154 | current_user=admin, |
|
1155 | session=dbsession, |
|
1156 | config=self.app_config, |
|
1157 | ) |
|
1158 | workspace = workspace_api.create_workspace('test_2', save_now=True) # nopep8 |
|
1159 | rapi = RoleApi( |
|
1160 | current_user=admin, |
|
1161 | session=dbsession, |
|
1162 | config=self.app_config, |
|
1163 | ) |
|
1164 | rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False) # nopep8 |
|
1165 | rapi.delete_one(admin.user_id, workspace.workspace_id) |
|
1166 | transaction.commit() |
|
1167 | user_id = user.user_id |
|
1168 | workspace_id = workspace.workspace_id |
|
1169 | admin_id = admin.user_id |
|
1170 | self.testapp.authorization = ( |
|
1171 | 'Basic', |
|
1172 | ( |
|
1173 | '[email protected]', |
|
1174 | '[email protected]' |
|
1175 | ) |
|
1176 | ) |
|
1177 | res = self.testapp.get('/api/v2/workspaces/{}/members/{}'.format( |
|
1178 | workspace_id, |
|
1179 | user_id |
|
1180 | ), status=200).json_body |
|
1181 | user_role = res |
|
1182 | assert user_role['role'] == 'reader' |
|
1183 | assert user_role['user_id'] == user_id |
|
1184 | assert user_role['workspace_id'] == workspace_id |
|
1185 | assert user_role['is_active'] is True |
|
1186 | assert user_role['do_notify'] is False |
|
1187 | ||
1188 | def test_api__get_workspace_member__ok_200__other_user(self): |
|
1189 | """ |