def test_process_behavior(self): handler = Mock() manager = Manager() manager.register(handler, ['coverage.xml']) project = self.create_project() build = self.create_build(project) job = self.create_job(build) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase) artifact = self.create_artifact( step=jobstep, name='junit.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert not handler.called artifact = self.create_artifact( step=jobstep, name='coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) handler.assert_called_once_with(jobstep) handler.return_value.process.assert_called_once()
def test_process_behavior(self, process): class _CovHandler(ArtifactHandler): FILENAMES = ('coverage.xml',) class _OtherHandler(ArtifactHandler): FILENAMES = ('/other.xml',) manager = Manager() manager.register(_CovHandler) manager.register(_OtherHandler) project = self.create_project() build = self.create_build(project) job = self.create_job(build) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase) artifact = self.create_artifact( step=jobstep, name='junit.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert not process.called artifact = self.create_artifact( step=jobstep, name='coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) artifact = self.create_artifact( step=jobstep, name='foo/coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert process.call_count == 2 artifact = self.create_artifact( step=jobstep, name='artifactstore/other.xml' ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert process.call_count == 3 # shouldn't process this artifact = self.create_artifact( step=jobstep, name='artifactstore/foo/other.xml' ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert process.call_count == 3
def test_process_behavior(self, process): handler = ArtifactHandler handler.FILENAMES = ('coverage.xml',) manager = Manager() manager.register(handler) project = self.create_project() build = self.create_build(project) job = self.create_job(build) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase) artifact = self.create_artifact( step=jobstep, name='junit.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert not process.called artifact = self.create_artifact( step=jobstep, name='coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert process.call_count == 1
def test_can_process(self): class _CovHandler(ArtifactHandler): FILENAMES = ('coverage.xml',) class _OtherHandler(ArtifactHandler): FILENAMES = ('other.xml',) manager = Manager() manager.register(_CovHandler) manager.register(_OtherHandler) assert manager.can_process('foo/coverage.xml') assert manager.can_process('other.xml') assert not manager.can_process('service.log')
def test_can_process(self): class _CovHandler(ArtifactHandler): FILENAMES = ('coverage.xml',) class _OtherHandler(ArtifactHandler): FILENAMES = ('/other.xml', 'foo/*/weird.json') manager = Manager() manager.register(_CovHandler) manager.register(_OtherHandler) assert manager.can_process('foo/coverage.xml') assert manager.can_process('other.xml') assert manager.can_process('artifactstore/other.xml') assert manager.can_process('foo/bar/weird.json') assert manager.can_process('artifactstore/foo/bar/weird.json') assert not manager.can_process('foo/other.xml') assert not manager.can_process('bar/foo/baz/weird.json') assert not manager.can_process('service.log')
def test_process_behavior(self, process): handler = ArtifactHandler handler.FILENAMES = ('coverage.xml', ) manager = Manager() manager.register(handler) project = self.create_project() build = self.create_build(project) job = self.create_job(build) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase) artifact = self.create_artifact( step=jobstep, name='junit.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert not process.called artifact = self.create_artifact( step=jobstep, name='coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) artifact = self.create_artifact( step=jobstep, name='foo/coverage.xml', ) artifact.file.save(StringIO(), artifact.name) manager.process(artifact) assert process.call_count == 2