def test_should_run_true_all_values_missing(self):
        self.job.postproc_result.pp_health_exists = False
        self.job.page_result.corr_ocr_text_path_exists = False
        self.job.page_result.corr_ocr_xml_path_exists = False
        page_corrector = PageCorrector(self.job)

        self.assertTrue(page_corrector.should_run())
    def test_should_run_false(self):
        self.job.postproc_result.pp_health_exists = True
        self.job.page_result.corr_ocr_text_path_exists = True
        self.job.page_result.corr_ocr_xml_path_exists = True
        page_corrector = PageCorrector(self.job)

        self.assertFalse(page_corrector.should_run())
    def test_do_process_page_corrector(self):
        settings = default_settings()
        job = mock_emop_job(settings)
        page_corrector = PageCorrector(job=job)
        page_corrector.run = mock.MagicMock()
        results = mock_results_tuple()
        page_corrector.should_run = mock.MagicMock()
        page_corrector.should_run.return_value = True
        page_corrector.run.return_value = results(stdout=None, stderr=None, exitcode=0)

        retval = self.run.do_process(obj=page_corrector, job=job)

        self.assertTrue(page_corrector.run.called)
        self.assertTrue(retval)
    def test_do_process_page_corrector_not_skipped(self):
        settings = default_settings()
        self.run.settings.controller_skip_existing = False
        job = mock_emop_job(settings)
        page_corrector = PageCorrector(job=job)
        page_corrector.run = mock.MagicMock()
        results = mock_results_tuple()
        page_corrector.run.return_value = results(stdout=None, stderr=None, exitcode=0)
        page_corrector.should_run = mock.MagicMock()
        self.run.append_result = mock.MagicMock()

        retval = self.run.do_process(obj=page_corrector, job=job)

        self.assertFalse(page_corrector.should_run.called)
        self.assertTrue(retval)
    def test_do_process_page_corrector_failed(self):
        settings = default_settings()
        job = mock_emop_job(settings)
        page_corrector = PageCorrector(job=job)
        page_corrector.run = mock.MagicMock()
        results = mock_results_tuple()
        page_corrector.should_run = mock.MagicMock()
        page_corrector.should_run.return_value = True
        page_corrector.run.return_value = results(stdout=None, stderr="Test", exitcode=1)
        self.run.append_result = mock.MagicMock()

        retval = self.run.do_process(obj=page_corrector, job=job)

        self.run.append_result.assert_called_with(job=job, results="PageCorrector Failed: Test", failed=True)
        self.assertFalse(retval)