def _sync_artifact_as_coverage(self, jobstep, artifact): resp = self.fetch_artifact(jobstep, artifact) # TODO(dcramer): requests doesnt seem to provide a non-binary file-like # API, so we're stuffing it into StringIO handler = CoverageHandler(jobstep) handler.process(StringIO(resp.content))
def test_result_generation(): jobstep = JobStep(id=uuid.uuid4(), job=Job(id=uuid.uuid4(), project_id=uuid.uuid4())) fp = StringIO(SAMPLE_COVERAGE) handler = CoverageHandler(jobstep) results = handler.get_coverage(fp) assert len(results) == 2 r1 = results[0] assert type(r1) == FileCoverage assert r1.job_id == jobstep.job.id assert r1.project_id == jobstep.job.project_id assert r1.filename == 'setup.py' assert r1.data == 'NUNNNNNNNNNUCCNU' r2 = results[1] assert type(r2) == FileCoverage assert r2.job_id == jobstep.job.id assert r2.project_id == jobstep.job.project_id assert r2.data == 'CCCNNNU'