def test_crash_tell_manager(self): worker = NowcastWorker("worker_name", "description") worker.logger = Mock(name="logger") worker.tell_manager = Mock(name="tell_manager") worker.worker_func = Mock(name="worker_func", side_effect=Exception) worker._do_work() worker.tell_manager.assert_called_once_with("crash")
def test_logger_debug_task_completed(self): worker = NowcastWorker("worker_name", "description") worker.logger = Mock(name="logger") worker._context = Mock(name="context") worker.worker_func = Mock(name="worker_func", side_effect=SystemExit) worker._do_work() worker.logger.debug.assert_called_once_with( "shutting down", extra={"logger_name": "worker_name"})
def test_system_exit_context_destroy(self): worker = NowcastWorker("worker_name", "description") worker.init_cli() worker.logger = Mock(name="logger") worker._context = Mock(name="context") worker.worker_func = Mock(name="worker_func", side_effect=SystemExit) worker._do_work() assert worker._context.destroy.call_count == 1
def test_logger_critical_unhandled_exception(self): worker = NowcastWorker("worker_name", "description") worker.logger = Mock(name="logger") worker.tell_manager = Mock(name="tell_manager") worker._context = Mock(name="context") worker.worker_func = Mock(name="worker_func", side_effect=Exception) worker._do_work() worker.logger.critical.assert_called_once_with("unhandled exception:", exc_info=True)
def test_failure_tell_manager(self): worker = NowcastWorker("worker_name", "description") worker.init_cli() worker.logger = Mock(name="logger") worker.tell_manager = Mock(name="tell_manager") worker.worker_func = Mock(name="worker_func", side_effect=WorkerError) worker.failure = Mock(name="failure_func", return_value="failure") worker._do_work() worker.tell_manager.assert_called_once_with("failure")
def test_success_tell_manager(self): worker = NowcastWorker("worker_name", "description") worker.init_cli() worker.logger = Mock(name="logger") worker.tell_manager = Mock(name="tell_manager") worker.worker_func = Mock(name="worker_func", return_value="checklist") worker.success = Mock(name="success_func", return_value="success") worker._do_work() worker.tell_manager.assert_called_once_with("success", "checklist")
def test_success_func(self): worker = NowcastWorker("worker_name", "description") worker.init_cli() worker.logger = Mock(name="logger") worker.tell_manager = Mock(name="tell_manager") worker.worker_func = Mock(name="worker_func") worker.success = Mock(name="success_func") worker._do_work() worker.success.assert_called_once_with(worker._parsed_args)