Пример #1
0
    def test_update_password(self):
        test_user = self.http_req.user

        # make sure user who is shooting the request has proper permission to
        # update an user's attributes, whatever itself or others.
        user_should_have_perm(test_user, 'auth.change_user')

        user_new_attrs = self.user_new_attrs.copy()
        new_password = '******'
        user_new_attrs['password'] = new_password

        self.assertRaisesXmlrpcFault(FORBIDDEN, XUser.update,
                                     self.http_req, user_new_attrs, test_user.pk)

        user_new_attrs['old_password'] = '******'
        self.assertRaisesXmlrpcFault(FORBIDDEN, XUser.update,
                                     self.http_req, user_new_attrs, test_user.pk)

        user_new_attrs['old_password'] = test_user.username
        data = XUser.update(self.http_req, user_new_attrs, test_user.pk)
        self.assertNotIn('password', data)
        self.assertEqual(data['first_name'], user_new_attrs['first_name'])
        self.assertEqual(data['last_name'], user_new_attrs['last_name'])
        self.assertEqual(data['email'], user_new_attrs['email'])

        user = User.objects.get(pk=test_user.pk)
        self.assertTrue(user.check_password(new_password))
Пример #2
0
    def test_update_password(self):
        test_user = self.http_req.user

        # make sure user who is shooting the request has proper permission to
        # update an user's attributes, whatever itself or others.
        user_should_have_perm(test_user, 'auth.change_user')

        user_new_attrs = self.user_new_attrs.copy()
        new_password = '******'
        user_new_attrs['password'] = new_password

        self.assertXmlrpcFaultForbidden(XUser.update, self.http_req,
                                        user_new_attrs, test_user.pk)

        user_new_attrs['old_password'] = '******'
        self.assertXmlrpcFaultForbidden(XUser.update, self.http_req,
                                        user_new_attrs, test_user.pk)

        user_new_attrs['old_password'] = test_user.username
        data = XUser.update(self.http_req, user_new_attrs, test_user.pk)
        self.assertNotIn('password', data)
        self.assertEqual(data['first_name'], user_new_attrs['first_name'])
        self.assertEqual(data['last_name'], user_new_attrs['last_name'])
        self.assertEqual(data['email'], user_new_attrs['email'])

        user = User.objects.get(pk=test_user.pk)
        self.assertTrue(user.check_password(new_password))
Пример #3
0
    def test_enable_a_group(self):
        user_should_have_perm(self.tester, self.permission)

        self.client.post(self.set_status_url, {'status': 1})

        group = TCMSEnvGroup.objects.get(pk=self.group_nitrate.pk)
        self.assertTrue(group.is_active)
Пример #4
0
    def setUpTestData(cls):
        super().setUpTestData()
        cls.property_py = f.TCMSEnvPropertyFactory(name='python')
        cls.property_db = f.TCMSEnvPropertyFactory(name='db')
        f.TCMSEnvValueFactory(value='mysql', property=cls.property_db)

        user_should_have_perm(cls.tester, 'management.add_tcmsenvvalue')
Пример #5
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.upload_file_url = reverse('upload-file')

        user_should_have_perm(cls.tester, 'management.add_testattachment')
        user_should_have_perm(cls.tester, 'testcases.add_testcaseattachment')
Пример #6
0
    def test_update_other_with_proper_permission(self):
        user_should_have_perm(self.http_req.user, 'auth.change_user')

        data = XUser.update(self.http_req, self.user_new_attrs, self.user.pk)
        updated_user = User.objects.get(pk=self.user.pk)
        self.assertEqual(data['first_name'], updated_user.first_name)
        self.assertEqual(data['last_name'], updated_user.last_name)
        self.assertEqual(data['email'], updated_user.email)
Пример #7
0
    def test_missing_status(self):
        user_should_have_perm(self.tester, self.permission)

        response = self.client.post(self.set_status_url)
        self.assertJsonResponse(
            response,
            {'message': 'Environment group status is missing.'},
            status_code=HTTPStatus.BAD_REQUEST)
Пример #8
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.plan_tester = User.objects.create_user(username='******',
                                                   email='*****@*****.**',
                                                   password='******')

        user_should_have_perm(cls.plan_tester, 'testcases.add_testcaseplan')
Пример #9
0
    def test_update_other_with_proper_permission(self):
        user_should_have_perm(self.http_req.user, 'auth.change_user')

        data = XUser.update(self.http_req, self.user_new_attrs, self.user.pk)
        updated_user = User.objects.get(pk=self.user.pk)
        self.assertEqual(data['first_name'], updated_user.first_name)
        self.assertEqual(data['last_name'], updated_user.last_name)
        self.assertEqual(data['email'], updated_user.email)
Пример #10
0
    def test_404_if_group_pk_not_exist(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        response = self.client.get(self.group_modify_url,
                                   {'action': 'modify',
                                    'id': 999999999,
                                    'status': 1})
        self.assertEqual(http_client.NOT_FOUND, response.status_code)
Пример #11
0
    def setUpTestData(cls):
        super(TestUploadFile, cls).setUpTestData()

        cls.upload_file_url = reverse('upload-file')

        cls.password = '******'
        cls.user = create_request_user(username='******', password=cls.password)
        user_should_have_perm(cls.user, 'management.add_testattachment')
        user_should_have_perm(cls.user, 'testcases.add_testcaseattachment')
Пример #12
0
    def setUpTestData(cls):
        super(TestImportCasesToPlan, cls).setUpTestData()

        cls.plan_tester = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******')

        user_should_have_perm(cls.plan_tester, 'testcases.add_testcaseplan')
Пример #13
0
    def test_404_if_group_pk_not_exist(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        response = self.client.get(self.group_modify_url, {
            'action': 'modify',
            'id': 999999999,
            'status': 1
        })
        self.assert404(response)
Пример #14
0
    def test_refuse_invalid_status_value(self):
        user_should_have_perm(self.tester, self.permission)

        # Status value is not valid as long as it's not 0 or 1.
        for status in ('true', 'false', 'yes', 'no', '2'):
            response = self.client.post(self.set_status_url, {'status': status})
            self.assertJsonResponse(
                response,
                {'message': f'Environment group status "{status}" is invalid.'},
                status_code=HTTPStatus.BAD_REQUEST)
Пример #15
0
    def setUpTestData(cls):
        super().setUpTestData()
        user_should_have_perm(cls.tester, 'management.change_tcmsenvvalue')

        cls.property_db = f.TCMSEnvPropertyFactory(name='db')
        cls.property_value = f.TCMSEnvValueFactory(
            value='mysql', property=cls.property_db)

        cls.edit_url = reverse('management-env-property-value-edit',
                               args=[cls.property_value.pk])
Пример #16
0
    def test_disable_a_group(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        self.client.get(self.group_modify_url,
                        {'action': 'modify',
                         'id': self.group_nitrate.pk,
                         'status': 0})

        group = TCMSEnvGroup.objects.get(pk=self.group_nitrate.pk)
        self.assertFalse(group.is_active)
Пример #17
0
    def test_delete_group_by_non_manager(self):
        user_should_have_perm(self.tester, self.permission)

        url = reverse('management-delete-env-group',
                      args=[self.group_fedora.pk])
        response = self.client.post(url)

        self.assertJsonResponse(
            response, {'env_group_id': self.group_fedora.pk})
        self.assertFalse(
            TCMSEnvGroup.objects.filter(pk=self.group_fedora.pk).exists())
Пример #18
0
    def test_delete_group_by_non_manager(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        response = self.client.get(self.group_delete_url,
                                   {'action': 'del', 'id': self.group_fedora.pk})

        self.assertEqual({'rc': 0, 'response': 'ok'}, json_loads(response.content))

        self.assertFalse(
            TCMSEnvGroup.objects.filter(pk=self.group_fedora.pk).exists())
Пример #19
0
    def setUpTestData(cls):
        super().setUpTestData()

        # Create an empty run for test
        cls.test_run_2 = f.TestRunFactory(product_version=cls.version,
                                          plan=cls.plan,
                                          build=cls.build,
                                          manager=cls.tester,
                                          default_tester=cls.tester)

        user_should_have_perm(cls.tester, 'testruns.change_testrun')
        cls.url = reverse('plan-choose-run', args=[cls.plan.pk])
Пример #20
0
    def setUpTestData(cls):
        super(TestAddGroup, cls).setUpTestData()

        cls.group_add_url = reverse('management-env-groups')

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        cls.new_group_name = 'nitrate-dev'

        cls.permission = 'management.add_tcmsenvgroup'
        user_should_have_perm(cls.tester, cls.permission)
Пример #21
0
    def test_disable_a_group(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        self.client.get(self.group_modify_url, {
            'action': 'modify',
            'id': self.group_nitrate.pk,
            'status': 0
        })

        group = TCMSEnvGroup.objects.get(pk=self.group_nitrate.pk)
        self.assertFalse(group.is_active)
Пример #22
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.another_plan = f.TestPlanFactory(name='Another plan for test',
                                             author=cls.tester,
                                             owner=cls.tester,
                                             product=cls.product,
                                             product_version=cls.version)
        cls.another_case_1 = f.TestCaseFactory(author=cls.tester,
                                               default_tester=None,
                                               reviewer=cls.tester,
                                               plan=[cls.another_plan])
        cls.another_case_2 = f.TestCaseFactory(author=cls.tester,
                                               default_tester=None,
                                               reviewer=cls.tester,
                                               plan=[cls.another_plan])

        cls.third_plan = f.TestPlanFactory(name='Third plan for test',
                                           author=cls.tester,
                                           owner=cls.tester,
                                           product=cls.product,
                                           product_version=cls.version)
        cls.third_case_1 = f.TestCaseFactory(author=cls.tester,
                                             default_tester=None,
                                             reviewer=cls.tester,
                                             plan=[cls.third_plan])
        cls.third_case_2 = f.TestCaseFactory(author=cls.tester,
                                             default_tester=None,
                                             reviewer=cls.tester,
                                             plan=[cls.third_plan])

        cls.totally_new_plan = f.TestPlanFactory(
            name='Test clone plan with copying cases',
            author=cls.tester,
            owner=cls.tester,
            product=cls.product,
            product_version=cls.version)
        cls.case_maintain_original_author = f.TestCaseFactory(
            author=cls.tester,
            default_tester=None,
            reviewer=cls.tester,
            plan=[cls.totally_new_plan])
        cls.case_keep_default_tester = f.TestCaseFactory(
            author=cls.tester,
            default_tester=None,
            reviewer=cls.tester,
            plan=[cls.totally_new_plan])

        cls.plan_tester = User.objects.create_user(username='******',
                                                   email='*****@*****.**',
                                                   password='******')
        user_should_have_perm(cls.plan_tester, 'testplans.add_testplan')
        cls.plan_clone_url = reverse('plans-clone')
Пример #23
0
    def setUpTestData(cls):
        super().setUpTestData()
        user_should_have_perm(cls.tester, 'management.change_tcmsenvvalue')
        cls.set_status_url = reverse('management-set-env-property-values-status')

        cls.property_db = f.TCMSEnvPropertyFactory(name='db')
        cls.value_mysql = f.TCMSEnvValueFactory(
            value='mysql', is_active=False, property=cls.property_db)
        cls.value_pgsql = f.TCMSEnvValueFactory(
            value='pgsql', is_active=False, property=cls.property_db)
        cls.value_mariadb = f.TCMSEnvValueFactory(
            value='mariadb', property=cls.property_db)
Пример #24
0
    def test_refuse_invalid_status_value(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        # Status value is not valid as long as it's not 0 or 1.
        for invalid_status in ('true', 'false', 'yes', 'no', '2'):
            response = self.client.get(self.group_modify_url,
                                       {'action': 'modify',
                                        'id': self.group_nitrate.pk,
                                        'status': invalid_status})
            self.assertEqual({'rc': 1, 'response': 'Argument illegel.'},
                             json_loads(response.content))
Пример #25
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.group_add_url = reverse('management-add-env-group')

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        cls.new_group_name = 'nitrate-dev'

        cls.permission = 'management.add_tcmsenvgroup'
        user_should_have_perm(cls.tester, cls.permission)
Пример #26
0
    def setUpTestData(cls):
        super(TestVisitEnvironmentGroupPage, cls).setUpTestData()

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        user_should_have_perm(cls.tester, 'management.change_tcmsenvgroup')

        cls.group_edit_url = reverse('management-env-group-edit')
        cls.group_nitrate = TCMSEnvGroupFactory(name='nitrate', manager=cls.tester)
        cls.disabled_group = TCMSEnvGroupFactory(name='disabled-group',
                                                 is_active=False,
                                                 manager=cls.tester)
Пример #27
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        user_should_have_perm(cls.tester, 'management.change_tcmsenvgroup')

        cls.group_edit_url = reverse('management-env-group-edit')
        cls.group_nitrate = f.TCMSEnvGroupFactory(name='nitrate',
                                                  manager=cls.tester)
        cls.disabled_group = f.TCMSEnvGroupFactory(name='disabled-group',
                                                   is_active=False,
                                                   manager=cls.tester)
Пример #28
0
    def test_visit_group_page_with_permission(self):
        self.client.login(username=self.new_tester.username, password='******')

        user_should_have_perm(self.new_tester, 'management.change_tcmsenvgroup')
        group_edit_url = reverse('management-env-group-edit')

        response = self.client.get(self.group_url)

        for group in (self.group_1, self.group_2):
            self.assertContains(
                response,
                '<a href="{}?id={}">{}</a>'.format(group_edit_url,
                                                   group.pk,
                                                   group.name),
                html=True)
Пример #29
0
    def setUpTestData(cls):
        super().setUpTestData()

        user_should_have_perm(cls.tester, 'management.change_tcmsenvgroup')

        cls.group_nitrate = f.TCMSEnvGroupFactory(
            name='nitrate', manager=cls.tester)
        cls.group_db = f.TCMSEnvGroupFactory(
            name='db', is_active=False, manager=cls.tester)
        cls.duplicate_group = f.TCMSEnvGroupFactory(
            name='fedora', manager=cls.tester)

        cls.property_1 = f.TCMSEnvPropertyFactory()
        cls.property_2 = f.TCMSEnvPropertyFactory()
        cls.property_3 = f.TCMSEnvPropertyFactory()
Пример #30
0
    def test_visit_group_page_with_permission(self):
        self.client.login(username=self.new_tester.username,
                          password='******')

        user_should_have_perm(self.new_tester,
                              'management.change_tcmsenvgroup')
        group_edit_url = reverse('management-env-group-edit')

        response = self.client.get(self.group_url)

        for group in (self.group_1, self.group_2):
            self.assertContains(response,
                                '<a href="{}?id={}">{}</a>'.format(
                                    group_edit_url, group.pk, group.name),
                                html=True)
Пример #31
0
    def setUpTestData(cls):
        super(TestEditEnvironmentGroup, cls).setUpTestData()

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        user_should_have_perm(cls.tester, 'management.change_tcmsenvgroup')

        cls.group_nitrate = TCMSEnvGroupFactory(name='nitrate', manager=cls.tester)
        cls.duplicate_group = TCMSEnvGroupFactory(name='fedora', manager=cls.tester)

        cls.property_1 = TCMSEnvPropertyFactory()
        cls.property_2 = TCMSEnvPropertyFactory()
        cls.property_3 = TCMSEnvPropertyFactory()

        cls.group_edit_url = reverse('management-env-group-edit')
Пример #32
0
    def test_link_cases(self):
        user_should_have_perm(self.tester, 'testcases.add_testcaseplan')

        post_data = {'case': [self.another_case_1.pk, self.another_case_2.pk]}
        response = self.client.post(self.link_cases_url, post_data)

        self.assertRedirects(response,
                             reverse('plan-get', args=[self.plan.pk]),
                             target_status_code=HTTPStatus.MOVED_PERMANENTLY)

        self.assertTrue(
            TestCasePlan.objects.filter(plan=self.plan,
                                        case=self.another_case_1).exists())
        self.assertTrue(
            TestCasePlan.objects.filter(plan=self.plan,
                                        case=self.another_case_2).exists())
Пример #33
0
    def test_delete_group_by_non_manager(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        response = self.client.get(self.group_delete_url, {
            'action': 'del',
            'id': self.group_fedora.pk
        })

        self.assertEqual({
            'rc': 0,
            'response': 'ok'
        }, json.loads(response.content))

        self.assertFalse(
            TCMSEnvGroup.objects.filter(pk=self.group_fedora.pk).exists())
Пример #34
0
    def test_refuse_invalid_status_value(self):
        user_should_have_perm(self.tester, self.permission)
        self.client.login(username=self.tester.username, password='******')

        # Status value is not valid as long as it's not 0 or 1.
        for invalid_status in ('true', 'false', 'yes', 'no', '2'):
            response = self.client.get(
                self.group_modify_url, {
                    'action': 'modify',
                    'id': self.group_nitrate.pk,
                    'status': invalid_status
                })
            self.assertEqual({
                'rc': 1,
                'response': 'Argument illegel.'
            }, json.loads(response.content))
Пример #35
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.plan = f.TestPlanFactory(owner=cls.tester, author=cls.tester)
        cls.case_1 = f.TestCaseFactory(author=cls.tester,
                                       reviewer=cls.tester,
                                       default_tester=None,
                                       plan=[cls.plan])
        cls.case_2 = f.TestCaseFactory(author=cls.tester,
                                       reviewer=cls.tester,
                                       default_tester=None,
                                       plan=[cls.plan])

        user_should_have_perm(cls.tester, 'testcases.change_testcase')

        cls.user_1 = f.UserFactory(username='******')
        cls.url = reverse('ajax-update-cases-default-tester')
Пример #36
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******')
        user_should_have_perm(cls.tester, 'management.change_tcmsenvgroup')

        cls.group_nitrate = f.TCMSEnvGroupFactory(name='nitrate',
                                                  manager=cls.tester)
        cls.duplicate_group = f.TCMSEnvGroupFactory(name='fedora',
                                                    manager=cls.tester)

        cls.property_1 = f.TCMSEnvPropertyFactory()
        cls.property_2 = f.TCMSEnvPropertyFactory()
        cls.property_3 = f.TCMSEnvPropertyFactory()

        cls.group_edit_url = reverse('management-env-group-edit')
Пример #37
0
    def test_set_plan_parent_for_the_first_time(self):
        user_should_have_perm(self.tester, 'testplans.change_testplan')

        self.client.post(
            reverse('ajax-update'), {
                'content_type': 'testplans.testplan',
                'object_pk': self.plan.pk,
                'field': 'parent',
                'value': self.parent.pk,
                'value_type': 'int'
            })

        plan = TestPlan.objects.get(pk=self.plan.pk)
        assert self.parent.pk == plan.parent.pk

        log = TCMSLogModel.objects.first()
        assert log.field == 'parent'
        assert log.original_value == 'None'
        assert log.new_value == str(self.parent.pk)
Пример #38
0
    def setUpTestData(cls):
        super(TestCloneView, cls).setUpTestData()

        cls.another_plan = TestPlanFactory(
            name='Another plan for test',
            author=cls.tester, owner=cls.tester,
            product=cls.product, product_version=cls.version)
        cls.another_case_1 = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.another_plan])
        cls.another_case_2 = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.another_plan])

        cls.third_plan = TestPlanFactory(
            name='Third plan for test',
            author=cls.tester, owner=cls.tester,
            product=cls.product, product_version=cls.version)
        cls.third_case_1 = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.third_plan])
        cls.third_case_2 = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.third_plan])

        cls.totally_new_plan = TestPlanFactory(
            name='Test clone plan with copying cases',
            author=cls.tester, owner=cls.tester,
            product=cls.product, product_version=cls.version)
        cls.case_maintain_original_author = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.totally_new_plan])
        cls.case_keep_default_tester = TestCaseFactory(
            author=cls.tester, default_tester=None,
            reviewer=cls.tester, plan=[cls.totally_new_plan])

        cls.plan_tester = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******')
        user_should_have_perm(cls.plan_tester, 'testplans.add_testplan')
        cls.plan_clone_url = reverse('plans-clone')
Пример #39
0
def make_http_request(user=None, user_perm=None, data=None):
    """Factory method to make instance of FakeHTTPRequest

    :param user: a user bound to created fake HTTP request. That simulates a
        user requests an HTTP request. If omitted, a user will be created
        automatically.
    :type user: :class:`User <django.contrib.auth.models.User>`
    :param str user_perm: the permission user should have to perform the
        request. If omitted, no permission is set.
    :param data: not used at this moment.
    :return: a fake HTTP request object.
    :rtype: :class:`FakeHTTPRequest <tcms.xmlrpc.tests.utils.FakeHTTPRequest>`
    """
    _user = user
    if _user is None:
        _user = create_http_user()

    if user_perm is not None:
        user_should_have_perm(_user, user_perm)

    return FakeHTTPRequest(_user, data)
Пример #40
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.comment_author = f.UserFactory()

        user_should_have_perm(cls.tester, 'django_comments.can_moderate')

        cls.case_1 = f.TestCaseFactory()
        cls.case_2 = f.TestCaseFactory()

        add_comment(cls.tester,
                    'testcases.testcase', [cls.case_1.pk, cls.case_2.pk],
                    'first comment')
        add_comment(cls.tester,
                    'testcases.testcase', [cls.case_1.pk, cls.case_2.pk],
                    'second comment')
        add_comment(cls.tester,
                    'testcases.testcase', [cls.case_1.pk, cls.case_2.pk],
                    'third comment')
        add_comment(cls.comment_author,
                    'testcases.testcase', [cls.case_1.pk], '4th comment')
Пример #41
0
    def test_link_cases(self):
        self.client.login(username=self.plan_tester.username, password='******')

        user_should_have_perm(self.plan_tester, 'testcases.add_testcaseplan')

        post_data = {
            'case': [self.another_case_1.pk, self.another_case_2.pk]
        }
        response = self.client.post(self.link_cases_url, post_data)

        self.assertRedirects(
            response,
            reverse('plan-get', args=[self.plan.pk]),
            target_status_code=http_client.MOVED_PERMANENTLY)

        self.assertTrue(
            TestCasePlan.objects.filter(
                plan=self.plan, case=self.another_case_1).exists())
        self.assertTrue(
            TestCasePlan.objects.filter(
                plan=self.plan, case=self.another_case_2).exists())
Пример #42
0
def make_http_request(user=None, user_perm=None, data=None):
    """Factory method to make instance of FakeHTTPRequest

    :param user: a user bound to created fake HTTP request. That simulates a
        user requests an HTTP request. If omitted, a user will be created
        automatically.
    :type user: :class:`User <django.contrib.auth.models.User>`
    :param str user_perm: the permission user should have to perform the
        request. If omitted, no permission is set.
    :param data: not used at this moment.
    :return: a fake HTTP request object.
    :rtype: :class:`FakeHTTPRequest <tcms.xmlrpc.tests.utils.FakeHTTPRequest>`
    """
    _user = user
    if _user is None:
        _user = create_http_user()

    if user_perm is not None:
        user_should_have_perm(_user, user_perm)

    return FakeHTTPRequest(_user, data)
Пример #43
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.tester = User.objects.create_user(username='******',
                                              email='*****@*****.**')
        cls.tester.set_password('password')
        cls.tester.save()

        cls.comment_author = f.UserFactory()

        user_should_have_perm(cls.tester, 'django_comments.can_moderate')

        cls.case_1 = f.TestCaseFactory()
        cls.case_2 = f.TestCaseFactory()

        add_comment(cls.tester, 'testcases.testcase',
                    [cls.case_1.pk, cls.case_2.pk], 'first comment')
        add_comment(cls.tester, 'testcases.testcase',
                    [cls.case_1.pk, cls.case_2.pk], 'second comment')
        add_comment(cls.tester, 'testcases.testcase',
                    [cls.case_1.pk, cls.case_2.pk], 'third comment')
        add_comment(cls.comment_author, 'testcases.testcase', [cls.case_1.pk],
                    '4th comment')
Пример #44
0
 def setUp(self):
     user_should_have_perm(self.tester, self.permission)
Пример #45
0
 def setUp(self):
     super().setUp()
     user_should_have_perm(self.tester, self.permission)
Пример #46
0
    def test_404_if_group_pk_not_exist(self):
        user_should_have_perm(self.tester, self.permission)

        url = reverse('management-set-env-group-status', args=[999999999])
        response = self.client.post(url, {'status': 1})
        self.assert404(response)