def testAutomaticCorrectionRunnerMustCreateDirectoryToRunScript(self): runner = AutomaticCorrectionRunner() runner.setup_enviroment(self.delivery, self.script) self.assertTrue(os.path.isfile(AutomaticCorrectionRunner.TMP_DIR + "/" + os.path.basename(self.script.file.name))) zipfile = ZipFile(self.delivery.file.name) for name in zipfile.namelist(): self.assertTrue(os.path.isfile(AutomaticCorrectionRunner.TMP_DIR + "/" + name))
def testEjecutarDeberiaInvocarAlCorregirCuandoHayCorreccionesPendientes(self): corrector = AutomaticCorrectionRunner() automatic_correction = Mock() return_value = Mock() automatic_correction.delivery.practice.get_script.return_value = return_value automatic_correction.script = "test_script.sh" selection_strategy_mock = Mock() selection_strategy_mock.get_automatic_corrections.return_value = (automatic_correction, ) setup_enviroment_mock = Mock() script_result = ScriptResult() script_result.exit_value = 0 script_result.captured_stdout = "some stdout" execution_command_mock = Mock() execution_command_mock.execute.return_value = script_result publication_visitor = Mock() corrector.selection_strategy = selection_strategy_mock corrector.setup_enviroment = setup_enviroment_mock corrector.run_script_command = execution_command_mock corrector.publish_result_visitors = (publication_visitor, ) corrector.run() selection_strategy_mock.get_automatic_corrections.assert_called() setup_enviroment_mock.setup_enviroment.assert_called() execution_command_mock.execute.assert_called() publication_visitor.visit.assert_called()
def testEjecutarDeberiaInvocarAlCorregirCuandoHayCorreccionesPendientes( self): corrector = AutomaticCorrectionRunner() automatic_correction = Mock() return_value = Mock() automatic_correction.delivery.practice.get_script.return_value = return_value automatic_correction.script = "test_script.sh" selection_strategy_mock = Mock() selection_strategy_mock.get_automatic_corrections.return_value = ( automatic_correction, ) setup_enviroment_mock = Mock() script_result = ScriptResult() script_result.exit_value = 0 script_result.captured_stdout = "some stdout" execution_command_mock = Mock() execution_command_mock.execute.return_value = script_result publication_visitor = Mock() corrector.selection_strategy = selection_strategy_mock corrector.setup_enviroment = setup_enviroment_mock corrector.run_script_command = execution_command_mock corrector.publish_result_visitors = (publication_visitor, ) corrector.run() selection_strategy_mock.get_automatic_corrections.assert_called() setup_enviroment_mock.setup_enviroment.assert_called() execution_command_mock.execute.assert_called() publication_visitor.visit.assert_called()
def testRunScriptMustTurnPendingAutomaticCorrectionToSuccessfull(self): runner = AutomaticCorrectionRunner() runner.setup_enviroment(self.delivery, self.script) runner.run_script(self.automatic_correction, self.script) runner.clean_up_tmp_dir() self.assertEquals(self.automatic_correction.status, 1)