Code Duplication    Length = 56-64 lines in 3 locations

backend/tracim_backend/tests/functional/test_account.py 1 location

@@ 1511-1568 (lines=58) @@
1508
        assert res[1]['public_name'] == test_user2.display_name
1509
        assert res[1]['avatar_url'] is None
1510
1511
    def test_api__get_user__err_403__admin__too_small_acp(self):
1512
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1513
        admin = dbsession.query(models.User) \
1514
            .filter(models.User.email == '[email protected]') \
1515
            .one()
1516
        uapi = UserApi(
1517
            current_user=admin,
1518
            session=dbsession,
1519
            config=self.app_config,
1520
        )
1521
        gapi = GroupApi(
1522
            current_user=admin,
1523
            session=dbsession,
1524
            config=self.app_config,
1525
        )
1526
        groups = [gapi.get_one_with_name('users')]
1527
        test_user = uapi.create_user(
1528
            email='[email protected]',
1529
            password='pass',
1530
            name='bob',
1531
            groups=groups,
1532
            timezone='Europe/Paris',
1533
            lang='fr',
1534
            do_save=True,
1535
            do_notify=False,
1536
        )
1537
        test_user2 = uapi.create_user(
1538
            email='[email protected]',
1539
            password='pass',
1540
            name='bob2',
1541
            groups=groups,
1542
            timezone='Europe/Paris',
1543
            lang='fr',
1544
            do_save=True,
1545
            do_notify=False,
1546
        )
1547
        uapi.save(test_user)
1548
        transaction.commit()
1549
        user_id = int(admin.user_id)
1550
1551
        self.testapp.authorization = (
1552
            'Basic',
1553
            (
1554
                '[email protected]',
1555
                '[email protected]'
1556
            )
1557
        )
1558
        params = {
1559
            'acp': 't',
1560
        }
1561
        res = self.testapp.get(
1562
            '/api/v2/users/me/known_members',
1563
            status=400,
1564
            params=params
1565
        )
1566
        assert isinstance(res.json, dict)
1567
        assert 'code' in res.json.keys()
1568
        assert res.json_body['code'] == error.GENERIC_SCHEMA_VALIDATION_ERROR  # nopep8
1569
1570
    def test_api__get_user__ok_200__normal_user_by_email(self):
1571
        dbsession = get_tm_session(self.session_factory, transaction.manager)

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

@@ 5460-5523 (lines=64) @@
5457
        assert res['user_id'] == admin.user_id
5458
        assert res['profile'] == 'administrators'
5459
5460
    def test_api__set_user_profile__err_403__other_normal_user(self):
5461
        """
5462
        Set user profile of user normal user as normal user
5463
        Return 403 error because of no right to do this as simple user
5464
        """
5465
        dbsession = get_tm_session(self.session_factory, transaction.manager)
5466
        admin = dbsession.query(models.User) \
5467
            .filter(models.User.email == '[email protected]') \
5468
            .one()
5469
        uapi = UserApi(
5470
            current_user=admin,
5471
            session=dbsession,
5472
            config=self.app_config,
5473
        )
5474
        gapi = GroupApi(
5475
            current_user=admin,
5476
            session=dbsession,
5477
            config=self.app_config,
5478
        )
5479
        groups = [gapi.get_one_with_name('users')]
5480
        test_user = uapi.create_user(
5481
            email='[email protected]',
5482
            password='pass',
5483
            name='bob',
5484
            groups=groups,
5485
            timezone='Europe/Paris',
5486
            lang='fr',
5487
            do_save=True,
5488
            do_notify=False,
5489
        )
5490
        test_user2 = uapi.create_user(
5491
            email='[email protected]',
5492
            password='pass',
5493
            name='test',
5494
            groups=groups,
5495
            timezone='Europe/Paris',
5496
            lang='fr',
5497
            do_save=True,
5498
            do_notify=False,
5499
        )
5500
        uapi.save(test_user2)
5501
        uapi.save(test_user)
5502
        transaction.commit()
5503
        user_id = int(test_user.user_id)
5504
5505
        self.testapp.authorization = (
5506
            'Basic',
5507
            (
5508
                '[email protected]',
5509
                'pass',
5510
            )
5511
        )
5512
        # Set params
5513
        params = {
5514
            'profile': 'administrators',
5515
        }
5516
        res = self.testapp.put_json(
5517
            '/api/v2/users/{}/profile'.format(user_id),
5518
            params=params,
5519
            status=403,
5520
        )
5521
        assert res.json_body
5522
        assert 'code' in res.json_body
5523
        assert res.json_body['code'] == error.INSUFFICIENT_USER_PROFILE
5524
5525
5526
class TestSetUserEnableDisableEndpoints(FunctionalTest):
@@ 5700-5755 (lines=56) @@
5697
        assert res['user_id'] == user_id
5698
        assert res['is_active'] is True
5699
5700
    def test_api_enable_user__err_403__other_account(self):
5701
        dbsession = get_tm_session(self.session_factory, transaction.manager)
5702
        admin = dbsession.query(models.User) \
5703
            .filter(models.User.email == '[email protected]') \
5704
            .one()
5705
        uapi = UserApi(
5706
            current_user=admin,
5707
            session=dbsession,
5708
            config=self.app_config,
5709
        )
5710
        gapi = GroupApi(
5711
            current_user=admin,
5712
            session=dbsession,
5713
            config=self.app_config,
5714
        )
5715
        groups = [gapi.get_one_with_name('users')]
5716
        test_user = uapi.create_user(
5717
            email='[email protected]',
5718
            password='pass',
5719
            name='bob',
5720
            groups=groups,
5721
            timezone='Europe/Paris',
5722
            lang='fr',
5723
            do_save=True,
5724
            do_notify=False,
5725
        )
5726
        test_user2 = uapi.create_user(
5727
            email='[email protected]',
5728
            password='pass',
5729
            name='test2',
5730
            groups=groups,
5731
            timezone='Europe/Paris',
5732
            lang='fr',
5733
            do_save=True,
5734
            do_notify=False,
5735
        )
5736
        uapi.disable(test_user, do_save=True)
5737
        uapi.save(test_user2)
5738
        uapi.save(test_user)
5739
        transaction.commit()
5740
        user_id = int(test_user.user_id)
5741
5742
        self.testapp.authorization = (
5743
            'Basic',
5744
            (
5745
                '[email protected]',
5746
                'pass'
5747
            )
5748
        )
5749
        res = self.testapp.put_json(
5750
            '/api/v2/users/{}/enabled'.format(user_id),
5751
            status=403,
5752
        )
5753
        assert res.json_body
5754
        assert 'code' in res.json_body
5755
        assert res.json_body['code'] == error.INSUFFICIENT_USER_PROFILE
5756
5757
    def test_api_disable_user__err_403__other_account(self):
5758
        dbsession = get_tm_session(self.session_factory, transaction.manager)