Code Duplication    Length = 55-56 lines in 2 locations

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

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