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, }
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, }
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, }
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, }