Esempio n. 1
0
    def test_filter_all(self):
        pipelines = gocd.Pipelines(self.pipeline_groups)

        rule_filter = pipelines.any()

        self.assertTrue(rule_filter(dict(pipeline='b-build')))
        self.assertTrue(rule_filter(dict(pipeline='b-test')))
        self.assertTrue(rule_filter(dict(pipeline='b-test-release-x')))
        self.assertTrue(rule_filter(dict(pipeline='a-test')))
Esempio n. 2
0
    def test_filter_in_group_which_does_not_exist(self):
        pipelines = gocd.Pipelines(self.pipeline_groups)

        rule_filter = pipelines.in_group(group='betaxxx')

        self.assertFalse(rule_filter(dict(pipeline='b-build')))
        self.assertFalse(rule_filter(dict(pipeline='b-test')))
        self.assertFalse(rule_filter(dict(pipeline='b-test-release-x')))
        self.assertFalse(rule_filter(dict(pipeline='a-test')))
Esempio n. 3
0
    def test_filter_in_group(self):
        pipelines = gocd.Pipelines(self.pipeline_groups)

        rule_filter = pipelines.in_group(group='beta')

        self.assertTrue(rule_filter(dict(pipeline='b-build')))
        self.assertTrue(rule_filter(dict(pipeline='b-test')))
        self.assertFalse(rule_filter(dict(pipeline='b-test-release-x')))
        self.assertFalse(rule_filter(dict(pipeline='a-test')))
Esempio n. 4
0
    def test_filter_name_like_in_group(self):
        pipelines = gocd.Pipelines(self.pipeline_groups)

        rule_filter = pipelines.name_like_in_group(
            re_pattern=r'(.+)-release.*', group='beta')

        self.assertFalse(rule_filter(dict(pipeline='b-build')))
        self.assertFalse(rule_filter(dict(pipeline='b-test')))
        self.assertTrue(rule_filter(dict(pipeline='b-test-release-x')))
        self.assertFalse(rule_filter(dict(pipeline='a-test')))
Esempio n. 5
0
    def test_check_no_event_in_rule(self):
        msg = dict(event=gocd.Event.BREAKS, pipeline='p1')
        conf = dict(filter=dict(function='pipelines.in_group', args=['g1']),
                    actions=['mailto:[email protected]'])
        pipelines = gocd.Pipelines([{
            'name': 'g1',
            'pipelines': [{
                'name': 'p1'
            }]
        }])
        rule = gocd.GocdRule(conf)

        rcpts = rule.check(msg, dict(pipelines=pipelines))

        self.assertEqual(rcpts, conf['actions'])
Esempio n. 6
0
    def test_check_no_event(self):
        msg = dict(event=None, pipeline='p2')
        conf = dict(filter=dict(events=['FAILS', 'BREAKS'],
                                function='pipelines.in_group',
                                args=['g1']),
                    actions=['mailto:[email protected]'])
        pipelines = gocd.Pipelines([{
            'name': 'g1',
            'pipelines': [{
                'name': 'p1'
            }]
        }])
        rule = gocd.GocdRule(conf)

        rcpts = rule.check(msg, dict(pipelines=pipelines))

        self.assertEqual(rcpts, [])