Example #1
0
    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()
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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')
Example #5
0
    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')
Example #6
0
    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