def test_get_job_failure_reasons_by_jobstep_failures(self): project = self.create_project(name="test", slug="project-slug") build = self.create_build(project, result=Result.failed, target="D1", label="Some sweet diff") job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep_a = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label="Step A") jobstep_b = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label="Step B") db.session.add( FailureReason( step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason="missing_tests" ) ) db.session.add( FailureReason( step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason="aborted" ) ) db.session.add( FailureReason( step_id=jobstep_b.id, job_id=job.id, build_id=build.id, project_id=project.id, reason="aborted" ) ) db.session.commit() expected_data = defaultdict(list) expected_data[jobstep_a.id] = ["aborted", "missing_tests"] expected_data[jobstep_b.id] = ["aborted"] self.assertEquals(_get_job_failure_reasons_by_jobstep(job), expected_data)
def test_get_job_failure_reasons_by_jobstep_passed(self): project = self.create_project(name="test", slug="project-slug") build = self.create_build(project, result=Result.passed, target="D1", label="Some sweet diff") job = self.create_job(build=build, result=Result.passed) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase, status=Status.finished, result=Result.passed) self.assertEquals(_get_job_failure_reasons_by_jobstep(job)[jobstep.id], [])
def test_get_job_failure_reasons_by_jobstep_passed(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.passed, target='D1', label='Some sweet diff') job = self.create_job(build=build, result=Result.passed) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase, status=Status.finished, result=Result.passed) self.assertEquals(_get_job_failure_reasons_by_jobstep(job)[jobstep.id], [])
def test_get_job_failure_reasons_by_jobstep_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.failed, target='D1', label='Some sweet diff') job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep_a = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label='Step A') jobstep_b = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label='Step B') db.session.add( FailureReason(step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='missing_tests')) db.session.add( FailureReason(step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='aborted')) db.session.add( FailureReason(step_id=jobstep_b.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='aborted')) db.session.commit() expected_data = defaultdict(list) expected_data[jobstep_a.id] = ['aborted', 'missing_tests'] expected_data[jobstep_b.id] = ['aborted'] self.assertEquals(_get_job_failure_reasons_by_jobstep(job), expected_data)
def test_get_job_failure_reasons_by_jobstep_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.failed, target='D1', label='Some sweet diff') job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep_a = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label='Step A') jobstep_b = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed, label='Step B') db.session.add(FailureReason(step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='missing_tests')) db.session.add(FailureReason(step_id=jobstep_a.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='aborted')) db.session.add(FailureReason(step_id=jobstep_b.id, job_id=job.id, build_id=build.id, project_id=project.id, reason='aborted')) db.session.commit() expected_data = defaultdict(list) expected_data[jobstep_a.id] = ['aborted', 'missing_tests'] expected_data[jobstep_b.id] = ['aborted'] self.assertEquals(_get_job_failure_reasons_by_jobstep(job), expected_data)