Code Duplication    Length = 54-56 lines in 2 locations

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

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