Esempio n. 1
0
    def test_function_get_all_report_permissions(self):
        first_user = UserCreationForm(
            data = dict(
                username = '******',
                password1 = '123456',
                password2 = '123456',
            )
        ).save()

        first_role = SGRSRole(
            name = 'first_role',
            description = 'first role for test',
            can_download = True,
        )
        first_role.save()

        first_perm = ReportPermission(
            name = 'first-perm',
            description = 'first perm',
            db_conf = 'default',
            SQL_conf = """
                SELECT count(*) FROM tablename
            """,
            filter_conf = '{}',
        )
        first_perm.save()
        first_role.report_permissions = [first_perm,]
        first_role.save()

        second_role = SGRSRole(
            name = 'second_role',
            description = 'second role for test',
            can_download = True,
        )
        second_role.save()

        second_perm = ReportPermission(
            name = 'second-perm',
            description = 'second perm',
            db_conf = 'default',
            SQL_conf = """
                SELECT count(*) FROM tablename
            """,
            filter_conf = '{}',
        )
        second_perm.save()
        second_role.report_permissions = [second_perm,]
        second_role.save()

        first_user_assignment = SGRSUserAssignment(user = first_user)
        first_user_assignment.save()
        first_user_assignment.roles = [first_role, second_role]
        first_user_assignment.save()

        sort_key_function = lambda x:x.id
        self.assertEqual(
            sorted(ReportPermission.objects.filter(
                    sgrsrole__in=[first_role, second_role]),
                key=sort_key_function),
            sorted(first_user.get_all_report_permissions(),
                key=sort_key_function)
        )