def test_snapshot_build(self): """ Test that a snapshot build is not missing tests, even if there are no test results reported from the jobstep. """ project = self.create_project() plan = self.create_plan(project) option = ItemOption( item_id=plan.id, name='build.expect-tests', value='1', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, date_started=datetime(2013, 9, 19, 22, 15, 24), ) jobstep = self.create_jobstep(jobphase) assert is_missing_tests(jobstep, jobplan) snapshot = self.create_snapshot(project) snapshot_image = self.create_snapshot_image(snapshot, plan, job_id=job.id) assert not is_missing_tests(jobstep, jobplan)
def test_multi_phase(self): project = self.create_project() plan = self.create_plan() option = ItemOption( item_id=plan.id, name='build.expect-tests', value='1', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, label='setup', # it's important that the date_created here is actually newer # than the second phase date_created=datetime(2013, 9, 19, 22, 17, 24), date_started=datetime(2013, 9, 19, 22, 15, 24), ) jobphase2 = self.create_jobphase( job=job, label='test', date_created=datetime(2013, 9, 19, 22, 16, 24), date_started=datetime(2013, 9, 19, 22, 16, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase2) assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep2, jobplan)
def test_multi_phase(self): project = self.create_project() plan = self.create_plan(project) option = ItemOption( item_id=plan.id, name='build.expect-tests', value='1', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, label='setup', # it's important that the date_created here is actually newer # than the second phase date_created=datetime(2013, 9, 19, 22, 17, 24), date_started=datetime(2013, 9, 19, 22, 15, 24), ) jobphase2 = self.create_jobphase( job=job, label='test', date_created=datetime(2013, 9, 19, 22, 16, 24), date_started=datetime(2013, 9, 19, 22, 16, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase2) assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep2, jobplan)
def test_multi_phase(self): project = self.create_project() plan = self.create_plan() option = ItemOption( item_id=plan.id, name='build.expect-tests', value='1', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobphase = self.create_jobphase( job=job, label='setup', date_created=datetime(2013, 9, 19, 22, 15, 24), ) jobphase2 = self.create_jobphase( job=job, label='test', date_created=datetime(2013, 9, 19, 22, 16, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase2) assert not is_missing_tests(plan, jobstep) assert is_missing_tests(plan, jobstep2) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(plan, jobstep) assert is_missing_tests(plan, jobstep2) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(plan, jobstep2)
def test_single_phase(self): project = self.create_project() plan = self.create_plan() option = ItemOption( item_id=plan.id, name='build.expect-tests', value='0', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, date_started=datetime(2013, 9, 19, 22, 15, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase) assert not is_missing_tests(jobstep, jobplan) jobplan.data['snapshot']['options'][option.name] = '1' db.session.add(jobplan) db.session.commit() assert is_missing_tests(jobstep, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test', ) db.session.add(testcase) db.session.commit() assert is_missing_tests(jobstep, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep, jobplan)
def test_single_phase(self): project = self.create_project() plan = self.create_plan(project) option = ItemOption( item_id=plan.id, name='build.expect-tests', value='0', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, date_started=datetime(2013, 9, 19, 22, 15, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase) assert not is_missing_tests(jobstep, jobplan) jobplan.data['snapshot']['options'][option.name] = '1' db.session.add(jobplan) db.session.commit() assert is_missing_tests(jobstep, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test', ) db.session.add(testcase) db.session.commit() assert is_missing_tests(jobstep, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep, jobplan)
def test_single_phase(self): project = self.create_project() plan = self.create_plan() option = ItemOption( item_id=plan.id, name='build.expect-tests', value='0', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase) assert not is_missing_tests(plan, jobstep) option.value = '1' db.session.commit() assert is_missing_tests(plan, jobstep) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test', ) db.session.add(testcase) db.session.commit() assert is_missing_tests(plan, jobstep) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(plan, jobstep)
def test_multi_phase(self): project = self.create_project() plan = self.create_plan(project) option = ItemOption( item_id=plan.id, name='build.expect-tests', value='1', ) db.session.add(option) db.session.commit() build = self.create_build(project=project) job = self.create_job(build=build) jobplan = self.create_job_plan(job, plan) jobphase = self.create_jobphase( job=job, label='setup', date_created=datetime(2013, 9, 19, 22, 15, 24), ) jobphase2 = self.create_jobphase( job=job, label='test', date_created=datetime(2013, 9, 19, 22, 16, 24), ) jobstep = self.create_jobstep(jobphase) jobstep2 = self.create_jobstep(jobphase2) job2 = self.create_job(build=build) self.create_job_plan(job2, plan) # this has a later date_created than jobphase2, but shouldn't be # considered because it's a different job. self.create_jobphase( job=job2, label='differentjob', date_created=datetime(2013, 9, 19, 22, 17, 24), ) assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep.id, name='test', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep, jobplan) assert is_missing_tests(jobstep2, jobplan) testcase = TestCase( project_id=project.id, job_id=job.id, step_id=jobstep2.id, name='test2', ) db.session.add(testcase) db.session.commit() assert not is_missing_tests(jobstep2, jobplan)