コード例 #1
0
    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.request = RequestFactory().request()
        self.request.user = User.objects.create(username='******')

        self.choice = ReviewRequestReviewGroupsChoice(request=self.request)
コード例 #2
0
    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.request = RequestFactory().request()
        self.request.user = User.objects.create(username='******')

        self.choice = ReviewRequestReviewGroupsChoice(request=self.request)
コード例 #3
0
class ReviewRequestReviewGroupsChoiceTests(TestCase):
    """Unit tests for ReviewRequestReviewGroupsChoice."""

    fixtures = ['test_users']

    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.request = RequestFactory().request()
        self.request.user = User.objects.create(username='******')

        self.choice = ReviewRequestReviewGroupsChoice(request=self.request)

    def test_get_queryset(self):
        """Testing ReviewGroupsChoice.get_queryset"""
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')

        self.assertQuerysetEqual(self.choice.get_queryset(),
                                 [group1.pk, group2.pk],
                                 transform=lambda group: group.pk)

    def test_get_queryset_with_local_site(self):
        """Testing ReviewGroupsChoice.get_queryset with LocalSite"""
        good_site = LocalSite.objects.create(name='good-site')
        bad_site = LocalSite.objects.create(name='bad-site')

        # These should match.
        group1 = self.create_review_group(name='group1', local_site=good_site)
        group2 = self.create_review_group(name='group2', local_site=good_site)

        # These should not match.
        self.create_review_group(name='group3')
        self.create_review_group(name='group4', local_site=bad_site)

        self.choice.extra_state['local_site'] = good_site

        self.assertQuerysetEqual(self.choice.get_queryset(),
                                 [group1.pk, group2.pk],
                                 transform=lambda group: group.pk)

    def test_matches_with_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "any" operator
        """
        group = self.create_review_group(name='group1')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_none_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "none" operator
        """
        group = self.create_review_group(name='group1')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('none')),
        ])

        review_request = self.create_review_request()
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group]
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_contains_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "contains-any"
        operator
        """
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')
        group3 = self.create_review_group(name='group2')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('contains-any'),
                      [group1, group2]),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group2]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group3]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_does_not_contain_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with
        "does-not-contain-any" operator
        """
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')
        group3 = self.create_review_group(name='group3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice,
                      self.choice.get_operator('does-not-contain-any'),
                      [group1, group2])
        ])

        review_request = self.create_review_request()
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group3]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group1]
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_any_public_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "any-public"
        operator"""
        group1 = self.create_review_group(name='group1', invite_only=False)
        group2 = self.create_review_group(name='group2', invite_only=True)

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any-public')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group1]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group2]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_all_invite_only_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with
        "all-invite-only" operator
        """
        group1 = self.create_review_group(name='group1', invite_only=True)
        group2 = self.create_review_group(name='group2', invite_only=False)

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice,
                      self.choice.get_operator('all-invite-only')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group1]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group2]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))
コード例 #4
0
ファイル: test_conditions.py プロジェクト: davidt/reviewboard
    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.choice = ReviewRequestReviewGroupsChoice()
コード例 #5
0
ファイル: test_conditions.py プロジェクト: davidt/reviewboard
class ReviewRequestReviewGroupsChoiceTests(TestCase):
    """Unit tests for ReviewRequestReviewGroupsChoice."""

    fixtures = ['test_users']

    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.choice = ReviewRequestReviewGroupsChoice()

    def test_get_queryset(self):
        """Testing ReviewGroupsChoice.get_queryset"""
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')

        self.assertQuerysetEqual(
            self.choice.get_queryset(),
            [group1.pk, group2.pk],
            transform=lambda group: group.pk)

    def test_get_queryset_with_local_site(self):
        """Testing ReviewGroupsChoice.get_queryset with LocalSite"""
        good_site = LocalSite.objects.create(name='good-site')
        bad_site = LocalSite.objects.create(name='bad-site')

        # These should match.
        group1 = self.create_review_group(name='group1',
                                          local_site=good_site)
        group2 = self.create_review_group(name='group2',
                                          local_site=good_site)

        # These should not match.
        self.create_review_group(name='group3')
        self.create_review_group(name='group4', local_site=bad_site)

        self.choice.extra_state['local_site'] = good_site

        self.assertQuerysetEqual(
            self.choice.get_queryset(),
            [group1.pk, group2.pk],
            transform=lambda group: group.pk)

    def test_matches_with_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "any" operator
        """
        group = self.create_review_group(name='group1')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_none_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "none" operator
        """
        group = self.create_review_group(name='group1')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('none')),
        ])

        review_request = self.create_review_request()
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group]
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_contains_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "contains-any"
        operator
        """
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')
        group3 = self.create_review_group(name='group2')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('contains-any'),
                      [group1, group2]),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group2]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group3]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_does_not_contain_any_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with
        "does-not-contain-any" operator
        """
        group1 = self.create_review_group(name='group1')
        group2 = self.create_review_group(name='group2')
        group3 = self.create_review_group(name='group3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice,
                      self.choice.get_operator('does-not-contain-any'),
                      [group1, group2])
        ])

        review_request = self.create_review_request()
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group3]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group1]
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_any_public_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with "any-public"
        operator"""
        group1 = self.create_review_group(name='group1', invite_only=False)
        group2 = self.create_review_group(name='group2', invite_only=True)

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any-public')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group1]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group2]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))

    def test_matches_with_all_invite_only_op(self):
        """Testing ReviewRequestReviewGroupsChoice.matches with
        "all-invite-only" operator
        """
        group1 = self.create_review_group(name='group1', invite_only=True)
        group2 = self.create_review_group(name='group2', invite_only=False)

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice,
                      self.choice.get_operator('all-invite-only')),
        ])

        review_request = self.create_review_request()
        review_request.target_groups = [group1]
        self.assertTrue(condition_set.matches(review_request=review_request))

        review_request.target_groups = [group2]
        self.assertFalse(condition_set.matches(review_request=review_request))

        review_request.target_groups = []
        self.assertFalse(condition_set.matches(review_request=review_request))
コード例 #6
0
    def setUp(self):
        super(ReviewRequestReviewGroupsChoiceTests, self).setUp()

        self.choice = ReviewRequestReviewGroupsChoice()