def test_run_and_log_case_status(self): test_lines = [ "00:00:00 default starting \n", "00:00:00 default success \n", ] with utils.TemporaryDirectory() as tempdir, MockTime(): run_and_log_case_status(self.base_func, "default", caseroot=tempdir) self.assertMatchAllLines(tempdir, test_lines)
def test_run_and_log_case_status_case_submit_no_batch(self): test_lines = [ "00:00:00 case.submit starting \n", "00:00:00 case.submit success \n", ] with utils.TemporaryDirectory() as tempdir, MockTime(): run_and_log_case_status(self.base_func, "case.submit", caseroot=tempdir, is_batch=False) self.assertMatchAllLines(tempdir, test_lines)
def test_run_and_log_case_status_error(self): test_lines = [ "00:00:00 default starting \n", "00:00:00 default error \n", "Something went wrong\n", ] with utils.TemporaryDirectory() as tempdir, MockTime(): with self.assertRaises(Exception): run_and_log_case_status(self.error_func, "default", caseroot=tempdir) self.assertMatchAllLines(tempdir, test_lines)
def test_run_and_log_case_status_case_submit_error_on_batch(self): test_lines = [ "00:00:00 case.submit starting \n", "00:00:00 case.submit error \n", "Something went wrong\n", ] with utils.TemporaryDirectory() as tempdir, MockTime(): with self.assertRaises(Exception): run_and_log_case_status(self.error_func, "case.submit", caseroot=tempdir, is_batch=True) self.assertMatchAllLines(tempdir, test_lines)
def test_run_and_log_case_status_custom_msg(self): test_lines = [ "00:00:00 default starting starting extra\n", "00:00:00 default success success extra\n", ] starting_func = mock.MagicMock(return_value="starting extra") success_func = mock.MagicMock(return_value="success extra") def normal_func(): return "data" with utils.TemporaryDirectory() as tempdir, MockTime(): run_and_log_case_status(normal_func, "default", custom_starting_msg_functor=starting_func, custom_success_msg_functor=success_func, caseroot=tempdir) self.assertMatchAllLines(tempdir, test_lines) starting_func.assert_called_with() success_func.assert_called_with("data")
def test_run_and_log_case_status_custom_msg_error_on_batch(self): test_lines = [ "00:00:00 default starting starting extra\n", "00:00:00 default success success extra\n", ] starting_func = mock.MagicMock(return_value="starting extra") success_func = mock.MagicMock(return_value="success extra") def error_func(): raise Exception("Error") with utils.TemporaryDirectory() as tempdir, MockTime(), \ self.assertRaises(Exception): run_and_log_case_status(error_func, "default", custom_starting_msg_functor=starting_func, custom_success_msg_functor=success_func, caseroot=tempdir) self.assertMatchAllLines(tempdir, test_lines) starting_func.assert_called_with() success_func.assert_not_called()