示例#1
0
    def _create_config(self, with_local_site=False):
        """Create an integration config.

        Args:
            with_local_site (bool):
                Whether to limit the config to a local site.
        """
        choice = ReviewRequestRepositoriesChoice()

        condition_set = ConditionSet(conditions=[
            Condition(choice=choice,
                      operator=choice.get_operator('any'))
        ])

        if with_local_site:
            local_site = self.get_local_site(name=self.local_site_name)
        else:
            local_site = None

        config = self.integration.create_config(name='Config 1',
                                                enabled=True,
                                                local_site=local_site)
        config.set('conditions', condition_set.serialize())
        config.set('branch_name', 'review-requests')
        config.save()

        return config
示例#2
0
    def _create_config(self, with_local_site=False):
        """Create an integration config.

        Args:
            with_local_site (bool):
                Whether to limit the config to a local site.
        """
        choice = ReviewRequestRepositoriesChoice()

        condition_set = ConditionSet(conditions=[
            Condition(choice=choice,
                      operator=choice.get_operator('any'))
        ])

        if with_local_site:
            local_site = self.get_local_site(name=self.local_site_name)
        else:
            local_site = None

        config = self.integration.create_config(name='Config 1',
                                                enabled=True,
                                                local_site=local_site)
        config.set('conditions', condition_set.serialize())
        config.set('branch_name', 'review-requests')
        config.save()

        return config
示例#3
0
    def _create_config(self, job_name='job_1', with_local_site=False):
        """Create an integration config.

        Args:
            job_name (string, optional):
                The Jenkins job name, which is used in constructing the
                URL to start a build on Jenkins.
        """
        choice = ReviewRequestRepositoriesChoice()

        condition_set = ConditionSet(conditions=[
            Condition(choice=choice,
                      operator=choice.get_operator('any'))
        ])

        if with_local_site:
            local_site = self.get_local_site(name=self.local_site_name)
        else:
            local_site = None

        config = self.integration.create_config(name='Config 1',
                                                enabled=True,
                                                local_site=local_site)
        config.set('conditions', condition_set.serialize())
        config.set('jenkins_job_name', job_name)
        config.set('jenkins_endpoint', 'http://localhost:8000')
        config.set('jenkins_username', 'admin')
        config.set('jenkins_password', 'admin')

        config.save()

        return config
示例#4
0
    def _create_config(self, enterprise=False, with_local_site=False):
        """Create an integration config.

        Args:
            enterprise (bool, optional):
                Whether to use an enterprise endpoint or the default
                open-source endpoint.

            with_local_site (bool, optional):
                Whether to limit the config to a local site.
        """
        choice = ReviewRequestRepositoriesChoice()

        condition_set = ConditionSet(conditions=[
            Condition(choice=choice,
                      operator=choice.get_operator('any'))
        ])

        if with_local_site:
            local_site = self.get_local_site(name=self.local_site_name)
        else:
            local_site = None

        config = self.integration.create_config(name='Config 1',
                                                enabled=True,
                                                local_site=local_site)
        config.set('conditions', condition_set.serialize())
        config.set('travis_yml', 'script:\n    python ./tests/runtests.py')
        config.set('branch_name', 'review-requests')

        if enterprise:
            config.set('travis_endpoint', TravisAPI.ENTERPRISE_ENDPOINT)
            config.set('travis_custom_endpoint', 'https://travis.example.com/')
        else:
            config.set('travis_endpoint', TravisAPI.OPEN_SOURCE_ENDPOINT)

        config.save()

        return config
示例#5
0
    def setUp(self):
        super(ReviewRequestRepositoriesChoiceTests, self).setUp()

        self.choice = ReviewRequestRepositoriesChoice()
示例#6
0
class ReviewRequestRepositoriesChoiceTests(TestCase):
    """Unit tests for ReviewRequestRepositoriesChoice."""

    fixtures = ['test_scmtools', 'test_users']

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

        self.choice = ReviewRequestRepositoriesChoice()

    def test_matches_with_any_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "any" operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any')),
        ])

        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                create_repository=True)))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request()))

    def test_matches_with_none_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "none" operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('none')),
        ])

        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request()))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                create_repository=True)))

    def test_matches_with_one_of_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "one-of"
        operator
        """
        repository1 = self.create_repository(name='repo1')
        repository2 = self.create_repository(name='repo2')
        repository3 = self.create_repository(name='repo3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('one-of'),
                      [repository1, repository2])
        ])

        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository1)))
        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository2)))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository3)))

    def test_matches_with_not_one_of_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "not-one-of"
        operator
        """
        repository1 = self.create_repository(name='repo1')
        repository2 = self.create_repository(name='repo2')
        repository3 = self.create_repository(name='repo3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('not-one-of'),
                      [repository1, repository2])
        ])

        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository1)))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository2)))
        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                repository=repository3)))

    def test_matches_with_is_public_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "is-public"
        operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('is-public')),
        ])

        public_repo = self.create_repository(name='repo1', public=True)
        private_repo = self.create_repository(name='repo2', public=False)

        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                repository=public_repo)))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                repository=private_repo)))

    def test_matches_with_is_private_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "is-private"
        operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('is-private')),
        ])

        public_repo = self.create_repository(name='repo1', public=True)
        private_repo = self.create_repository(name='repo2', public=False)

        self.assertTrue(
            condition_set.matches(review_request=self.create_review_request(
                repository=private_repo)))
        self.assertFalse(
            condition_set.matches(review_request=self.create_review_request(
                repository=public_repo)))
示例#7
0
    def setUp(self):
        super(ReviewRequestRepositoriesChoiceTests, self).setUp()

        self.choice = ReviewRequestRepositoriesChoice()
示例#8
0
class ReviewRequestRepositoriesChoiceTests(TestCase):
    """Unit tests for ReviewRequestRepositoriesChoice."""

    fixtures = ['test_scmtools', 'test_users']

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

        self.choice = ReviewRequestRepositoriesChoice()

    def test_matches_with_any_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "any" operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('any')),
        ])

        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(create_repository=True)))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request()))

    def test_matches_with_none_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "none" operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('none')),
        ])

        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request()))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(create_repository=True)))

    def test_matches_with_one_of_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "one-of"
        operator
        """
        repository1 = self.create_repository(name='repo1')
        repository2 = self.create_repository(name='repo2')
        repository3 = self.create_repository(name='repo3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('one-of'),
                      [repository1, repository2])
        ])

        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(repository=repository1)))
        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(repository=repository2)))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(repository=repository3)))

    def test_matches_with_not_one_of_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "not-one-of"
        operator
        """
        repository1 = self.create_repository(name='repo1')
        repository2 = self.create_repository(name='repo2')
        repository3 = self.create_repository(name='repo3')

        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('not-one-of'),
                      [repository1, repository2])
        ])

        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(repository=repository1)))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(repository=repository2)))
        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(repository=repository3)))

    def test_matches_with_is_public_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "is-public"
        operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('is-public')),
        ])

        public_repo = self.create_repository(name='repo1', public=True)
        private_repo = self.create_repository(name='repo2', public=False)

        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(repository=public_repo)))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(
                repository=private_repo)))

    def test_matches_with_is_private_op(self):
        """Testing ReviewRequestRepositoriesChoice.matches with "is-private"
        operator
        """
        condition_set = ConditionSet(ConditionSet.MODE_ALL, [
            Condition(self.choice, self.choice.get_operator('is-private')),
        ])

        public_repo = self.create_repository(name='repo1', public=True)
        private_repo = self.create_repository(name='repo2', public=False)

        self.assertTrue(condition_set.matches(
            review_request=self.create_review_request(
                repository=private_repo)))
        self.assertFalse(condition_set.matches(
            review_request=self.create_review_request(repository=public_repo)))