def test_run(self, mock_path_isfile): mock_path_isfile.return_value = True expected_cmd = flatten_list([ "java", "-Xms128M", "-Xmx512M", "-jar", self.executable, "--dbconf", self.dbconf, "-t", self.transformations, "-o", self.job.output_dir, "--stats", "--alt", "2", "--max-transforms", "20", "--noiseCutoff", "0.5", "--dict", self.dict_files, "--", self.job.xml_file ]) stdout = "{\"total\":1,\"ignored\":0,\"correct\":0,\"corrected\":1,\"unchanged\":0}" results = mock_results_tuple() expected_results = results(None, None, 0) self.mock_rv.communicate.return_value[0] = stdout page_corrector = PageCorrector(self.job) retval = page_corrector.run() args, kwargs = self.mock_popen.call_args self.maxDiff = None self.assertTrue(mock_path_isfile.called) self.assertTrue(self.mock_popen.called) self.assertEqual(expected_cmd, args[0]) self.assertEqual(self.job.postproc_result.pp_health, stdout) self.assertTupleEqual(expected_results, retval)
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_skipped(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.run.return_value = results(stdout=None, stderr="Test", exitcode=1) flexmock(page_corrector).should_receive("should_run").and_return(False) self.run.append_result = mock.MagicMock() retval = self.run.do_process(obj=page_corrector, job=job) self.assertFalse(self.run.append_result.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)
def test_run_with_save(self, mock_path_isfile): mock_path_isfile.return_value = True expected_cmd = flatten_list([ "java", "-Xms128M", "-Xmx512M", "-jar", self.executable, "--dbconf", self.dbconf, "-t", self.transformations, "-o", self.job.output_dir, "--stats", "--alt", "2", "--max-transforms", "20", "--noiseCutoff", "0.5", "--dict", self.dict_files, "--save", "--", self.job.xml_file ]) page_corrector = PageCorrector(self.job) page_corrector.save = True page_corrector.run() args, kwargs = self.mock_popen.call_args self.assertEqual(expected_cmd, args[0])