Code Duplication    Length = 81-81 lines in 2 locations

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

@@ 1736-1816 (lines=81) @@
1733
        assert user_role['user_id'] == user2.user_id
1734
        assert user_role['workspace_id'] == workspace.workspace_id
1735
1736
    def test_api__update_workspace_member_role__ok_200__as_admin(self):
1737
        """
1738
        Update worskpace member role
1739
        """
1740
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1741
        admin = dbsession.query(models.User) \
1742
            .filter(models.User.email == '[email protected]') \
1743
            .one()
1744
        uapi = UserApi(
1745
            current_user=admin,
1746
            session=dbsession,
1747
            config=self.app_config,
1748
        )
1749
        gapi = GroupApi(
1750
            current_user=admin,
1751
            session=dbsession,
1752
            config=self.app_config,
1753
        )
1754
        groups = [gapi.get_one_with_name('trusted-users')]
1755
        user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1756
        user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1757
        workspace_api = WorkspaceApi(
1758
            current_user=admin,
1759
            session=dbsession,
1760
            config=self.app_config,
1761
            show_deleted=True,
1762
        )
1763
        workspace = workspace_api.create_workspace('test', save_now=True)  # nopep8
1764
        rapi = RoleApi(
1765
            current_user=admin,
1766
            session=dbsession,
1767
            config=self.app_config,
1768
        )
1769
        rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False)  # nopep8
1770
        rapi.create_one(user2, workspace, UserRoleInWorkspace.READER, False)  # nopep8
1771
        rapi.delete_one(admin.user_id, workspace.workspace_id)
1772
        transaction.commit()
1773
        # before
1774
        self.testapp.authorization = (
1775
            'Basic',
1776
            (
1777
                '[email protected]',
1778
                '[email protected]'
1779
            )
1780
        )
1781
        self.testapp.get(
1782
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1783
                workspace_id=workspace.workspace_id,
1784
                user_id=user2.user_id
1785
            ),
1786
            status=200,
1787
        )
1788
        # update workspace role
1789
        params = {
1790
            'role': 'content-manager',
1791
        }
1792
        res = self.testapp.put_json(
1793
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1794
                workspace_id=workspace.workspace_id,
1795
                user_id=user2.user_id
1796
            ),
1797
            status=200,
1798
            params=params,
1799
        )
1800
        user_role = res.json_body
1801
        assert user_role['role'] == 'content-manager'
1802
        assert user_role['user_id'] == user2.user_id
1803
        assert user_role['workspace_id'] == workspace.workspace_id
1804
        # after
1805
        res = self.testapp.get(
1806
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1807
                workspace_id=workspace.workspace_id,
1808
                user_id=user2.user_id,
1809
            ),
1810
            status=200
1811
        ).json_body   # nopep8
1812
        user_role = res
1813
        assert user_role['role'] == 'content-manager'
1814
        assert user_role['do_notify'] is False
1815
        assert user_role['user_id'] == user2.user_id
1816
        assert user_role['workspace_id'] == workspace.workspace_id
1817
1818
    def test_api__delete_workspace_member_role__ok_200__as_admin(self):
1819
        """
@@ 1654-1734 (lines=81) @@
1651
            params=params,
1652
        )
1653
1654
    def test_api__update_workspace_member_role__ok_200__nominal_case(self):
1655
        """
1656
        Update worskpace member role
1657
        """
1658
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1659
        admin = dbsession.query(models.User) \
1660
            .filter(models.User.email == '[email protected]') \
1661
            .one()
1662
        uapi = UserApi(
1663
            current_user=admin,
1664
            session=dbsession,
1665
            config=self.app_config,
1666
        )
1667
        gapi = GroupApi(
1668
            current_user=admin,
1669
            session=dbsession,
1670
            config=self.app_config,
1671
        )
1672
        groups = [gapi.get_one_with_name('trusted-users')]
1673
        user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1674
        user2 = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups)  # nopep8
1675
        workspace_api = WorkspaceApi(
1676
            current_user=admin,
1677
            session=dbsession,
1678
            config=self.app_config,
1679
            show_deleted=True,
1680
        )
1681
        workspace = workspace_api.create_workspace('test', save_now=True)  # nopep8
1682
        rapi = RoleApi(
1683
            current_user=admin,
1684
            session=dbsession,
1685
            config=self.app_config,
1686
        )
1687
        rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False)  # nopep8
1688
        rapi.create_one(user2, workspace, UserRoleInWorkspace.READER, False)  # nopep8
1689
        rapi.delete_one(admin.user_id, workspace.workspace_id)
1690
        transaction.commit()
1691
        # before
1692
        self.testapp.authorization = (
1693
            'Basic',
1694
            (
1695
                '[email protected]',
1696
                '[email protected]'
1697
            )
1698
        )
1699
        self.testapp.get(
1700
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1701
                workspace_id=workspace.workspace_id,
1702
                user_id=user2.user_id
1703
            ),
1704
            status=200,
1705
        )
1706
        # update workspace role
1707
        params = {
1708
            'role': 'content-manager',
1709
        }
1710
        res = self.testapp.put_json(
1711
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1712
                workspace_id=workspace.workspace_id,
1713
                user_id=user2.user_id
1714
            ),
1715
            status=200,
1716
            params=params,
1717
        )
1718
        user_role = res.json_body
1719
        assert user_role['role'] == 'content-manager'
1720
        assert user_role['user_id'] == user2.user_id
1721
        assert user_role['workspace_id'] == workspace.workspace_id
1722
        # after
1723
        res = self.testapp.get(
1724
            '/api/v2/workspaces/{workspace_id}/members/{user_id}'.format(
1725
                workspace_id=workspace.workspace_id,
1726
                user_id=user2.user_id,
1727
            ),
1728
            status=200
1729
        ).json_body   # nopep8
1730
        user_role = res
1731
        assert user_role['role'] == 'content-manager'
1732
        assert user_role['do_notify'] is False
1733
        assert user_role['user_id'] == user2.user_id
1734
        assert user_role['workspace_id'] == workspace.workspace_id
1735
1736
    def test_api__update_workspace_member_role__ok_200__as_admin(self):
1737
        """