Code Duplication    Length = 54-56 lines in 2 locations

backend/tracim_backend/tests/functional/test_workspaces.py 2 locations

@@ 1184-1239 (lines=56) @@
1181
        # by correct value when avatar feature will be enabled
1182
        assert user_role['user']['avatar_url'] is None
1183
1184
    def test_api__get_workspace_members__ok_200__as_admin(self):
1185
        """
1186
        Check obtain workspace members list of a workspace where admin doesn't
1187
        have any right
1188
        """
1189
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1190
        admin = dbsession.query(models.User) \
1191
            .filter(models.User.email == '[email protected]') \
1192
            .one()
1193
        uapi = UserApi(
1194
            current_user=admin,
1195
            session=dbsession,
1196
            config=self.app_config,
1197
        )
1198
        gapi = GroupApi(
1199
            current_user=admin,
1200
            session=dbsession,
1201
            config=self.app_config,
1202
        )
1203
        groups = [gapi.get_one_with_name('trusted-users')]
1204
        user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1205
        workspace_api = WorkspaceApi(
1206
            current_user=admin,
1207
            session=dbsession,
1208
            config=self.app_config,
1209
        )
1210
        workspace = workspace_api.create_workspace('test_2', save_now=True)  # nopep8
1211
        rapi = RoleApi(
1212
            current_user=None,
1213
            session=dbsession,
1214
            config=self.app_config,
1215
        )
1216
        rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False)  # nopep8
1217
        rapi.delete_one(admin.user_id, workspace.workspace_id)
1218
        transaction.commit()
1219
        user_id = user.user_id
1220
        workspace_id = workspace.workspace_id
1221
        admin_id = admin.user_id
1222
        self.testapp.authorization = (
1223
            'Basic',
1224
            (
1225
                '[email protected]',
1226
                '[email protected]'
1227
            )
1228
        )
1229
        res = self.testapp.get('/api/v2/workspaces/{}/members'.format(
1230
            workspace_id,
1231
            user_id
1232
        ), status=200).json_body
1233
        assert len(res) == 1
1234
        user_role = res[0]
1235
        assert user_role['role'] == 'reader'
1236
        assert user_role['user_id'] == user_id
1237
        assert user_role['workspace_id'] == workspace_id
1238
        assert user_role['is_active'] is True
1239
        assert user_role['do_notify'] is False
1240
1241
    def test_api__get_workspace_members__err_400__unallowed_user(self):
1242
        """
@@ 1305-1358 (lines=54) @@
1302
        # by correct value when avatar feature will be enabled
1303
        assert user_role['user']['avatar_url'] is None
1304
1305
    def test_api__get_workspace_member__ok_200__as_admin(self):
1306
        """
1307
        Check obtain workspace members list with a reachable workspace for user
1308
        """
1309
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1310
        admin = dbsession.query(models.User) \
1311
            .filter(models.User.email == '[email protected]') \
1312
            .one()
1313
        uapi = UserApi(
1314
            current_user=admin,
1315
            session=dbsession,
1316
            config=self.app_config,
1317
        )
1318
        gapi = GroupApi(
1319
            current_user=admin,
1320
            session=dbsession,
1321
            config=self.app_config,
1322
        )
1323
        groups = [gapi.get_one_with_name('trusted-users')]
1324
        user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1325
        workspace_api = WorkspaceApi(
1326
            current_user=admin,
1327
            session=dbsession,
1328
            config=self.app_config,
1329
        )
1330
        workspace = workspace_api.create_workspace('test_2', save_now=True)  # nopep8
1331
        rapi = RoleApi(
1332
            current_user=None,
1333
            session=dbsession,
1334
            config=self.app_config,
1335
        )
1336
        rapi.create_one(user, workspace, UserRoleInWorkspace.READER, False)  # nopep8
1337
        rapi.delete_one(admin.user_id, workspace.workspace_id)
1338
        transaction.commit()
1339
        user_id = user.user_id
1340
        workspace_id = workspace.workspace_id
1341
        admin_id = admin.user_id
1342
        self.testapp.authorization = (
1343
            'Basic',
1344
            (
1345
                '[email protected]',
1346
                '[email protected]'
1347
            )
1348
        )
1349
        res = self.testapp.get('/api/v2/workspaces/{}/members/{}'.format(
1350
            workspace_id,
1351
            user_id
1352
        ), status=200).json_body
1353
        user_role = res
1354
        assert user_role['role'] == 'reader'
1355
        assert user_role['user_id'] == user_id
1356
        assert user_role['workspace_id'] == workspace_id
1357
        assert user_role['is_active'] is True
1358
        assert user_role['do_notify'] is False
1359
1360
    def test_api__get_workspace_member__ok_200__other_user(self):
1361
        """