Exemple #1
0
    def test_multiple_jobs(self):
        project = self.create_project()
        build = self.create_build(project, result=Result.failed)
        job1 = self.create_job(build, result=Result.failed)
        job2 = self.create_job(build, result=Result.failed)
        plan1 = self.create_plan(project)
        plan2 = self.create_plan(project)

        # Plan1 options.
        db.session.add(ItemOption(
            item_id=plan1.id,
            name='mail.notify-addresses',
            value='*****@*****.**',
        ))
        db.session.add(ItemOption(
            item_id=plan1.id,
            name='mail.notify-author',
            value='0',
        ))

        # Plan2 options.
        db.session.add(ItemOption(
            item_id=plan2.id,
            name='mail.notify-addresses',
            value='*****@*****.**',
        ))
        db.session.add(ItemOption(
            item_id=plan2.id,
            name='mail.notify-author',
            value='1',
        ))

        # Project options (notify-author is set to test that plan options can
        # override it).
        db.session.add(ProjectOption(
            project_id=project.id,
            name='mail.notify-author',
            value='0',
        ))

        # Set notify addresses to verify that it is not used when all jobs
        # override it.
        db.session.add(ProjectOption(
            project_id=project.id,
            name='mail.notify-addresses',
            value='*****@*****.**',
        ))
        db.session.flush()

        for job, plan in [(job1, plan1), (job2, plan2)]:
            self.create_job_plan(job, plan)

        db.session.commit()

        handler = MailNotificationHandler()
        assert handler.get_build_options(build) == {
            'mail.notify-addresses': {'*****@*****.**', '*****@*****.**'},
            'mail.notify-addresses-revisions': set(),
            'mail.notify-author': True,
        }
Exemple #2
0
    def test_simple(self):
        project = self.create_project()
        plan = self.create_plan(project)
        build = self.create_build(project, result=Result.failed)
        job = self.create_job(build, result=Result.failed)

        db.session.add(ItemOption(
            item_id=plan.id,
            name='mail.notify-author',
            value='0',
        ))

        db.session.add(ProjectOption(
            project_id=project.id,
            name='mail.notify-author',
            value='1',
        ))

        db.session.add(ProjectOption(
            project_id=project.id,
            name='mail.notify-addresses',
            value='*****@*****.**',
        ))
        db.session.flush()

        self.create_job_plan(job, plan)

        db.session.commit()

        handler = MailNotificationHandler()
        assert handler.get_build_options(build) == {
            'mail.notify-addresses': {'*****@*****.**'},
            'mail.notify-addresses-revisions': set(),
            'mail.notify-author': False,
        }
Exemple #3
0
    def test_simple(self):
        project = self.create_project()
        plan = self.create_plan(project)
        build = self.create_build(project, result=Result.failed)
        job = self.create_job(build, result=Result.failed)

        db.session.add(
            ItemOption(
                item_id=plan.id,
                name='mail.notify-author',
                value='0',
            ))

        db.session.add(
            ProjectOption(
                project_id=project.id,
                name='mail.notify-author',
                value='1',
            ))

        db.session.add(
            ProjectOption(
                project_id=project.id,
                name='mail.notify-addresses',
                value='*****@*****.**',
            ))
        db.session.flush()

        self.create_job_plan(job, plan)

        db.session.commit()

        handler = MailNotificationHandler()
        assert handler.get_build_options(build) == {
            'mail.notify-addresses': {'*****@*****.**'},
            'mail.notify-addresses-revisions': set(),
            'mail.notify-author': False,
        }
Exemple #4
0
    def test_multiple_jobs(self):
        project = self.create_project()
        build = self.create_build(project, result=Result.failed)
        job1 = self.create_job(build, result=Result.failed)
        job2 = self.create_job(build, result=Result.failed)
        plan1 = self.create_plan(project)
        plan2 = self.create_plan(project)

        # Plan1 options.
        db.session.add(
            ItemOption(
                item_id=plan1.id,
                name='mail.notify-addresses',
                value='*****@*****.**',
            ))
        db.session.add(
            ItemOption(
                item_id=plan1.id,
                name='mail.notify-author',
                value='0',
            ))

        # Plan2 options.
        db.session.add(
            ItemOption(
                item_id=plan2.id,
                name='mail.notify-addresses',
                value='*****@*****.**',
            ))
        db.session.add(
            ItemOption(
                item_id=plan2.id,
                name='mail.notify-author',
                value='1',
            ))

        # Project options (notify-author is set to test that plan options can
        # override it).
        db.session.add(
            ProjectOption(
                project_id=project.id,
                name='mail.notify-author',
                value='0',
            ))

        # Set notify addresses to verify that it is not used when all jobs
        # override it.
        db.session.add(
            ProjectOption(
                project_id=project.id,
                name='mail.notify-addresses',
                value='*****@*****.**',
            ))
        db.session.flush()

        for job, plan in [(job1, plan1), (job2, plan2)]:
            self.create_job_plan(job, plan)

        db.session.commit()

        handler = MailNotificationHandler()
        assert handler.get_build_options(build) == {
            'mail.notify-addresses':
            {'*****@*****.**', '*****@*****.**'},
            'mail.notify-addresses-revisions': set(),
            'mail.notify-author': True,
        }