def test_config_file_loaded(): create_test_config({"log": {"mode": True}}) try: run_app('exec echo alles gute') assert cfg.log_mode == LogMode.ENABLED finally: remove_test_config()
def test_plugin_executed(): create_test_config({"plugins": ["test_plugin"] }) # Use testing plugin in package 'test_plugin' run_app('exec --id run_with_test_plugin echo') assert test_plugin.TestPlugin.instance_ref( ).job_instances[-1].job_id == 'run_with_test_plugin'
def test_config_file_loaded(): create_test_config({"log": {"enabled": True}}) try: run_app('exec echo alles gute') assert cfg.log_enabled != cfg.DEF_LOG_ENABLED finally: remove_test_config()
def test_invalid_plugin_ignored(observer: TestStateObserver): test_plugin.TestPlugin.error_on_new_job_instance = BaseException( 'Must be captured') create_test_config({"plugins": ["test_plugin"] }) # Use testing plugin in package 'test_plugin' run_app('exec --id run_with_failing_plugin echo') assert observer.exec_state(-1) == ExecutionState.COMPLETED
def test_defaults(): create_test_config(dict()) cfgfile.load() assert not cfg.log_enabled assert cfg.log_stdout_level == 'off' assert cfg.log_file_level == 'off' assert cfg.log_file_path is None assert not cfg.persistence_enabled assert cfg.plugins == ()
def test_logging_stdout_level_cli_override(): create_test_config( {"log": { "enabled": True, "stdout": { "level": "error" } }}) run_app('exec --set log_stdout_level=warn echo') assert logging.WARN == log.get_console_level()
def test_logging_stdout_level_in_config(): create_test_config( {"log": { "enabled": True, "stdout": { "level": "error" } }}) run_app('exec echo') assert logging.ERROR == log.get_console_level()
def test_disable_job(observer: TestStateObserver): create_test_config({ "persistence": { "enabled": True, "type": "sqlite", "database": str(test_db_path()) } }) run_app('disable job_to_disable') run_app('exec --id job_to_disable echo') assert observer.last_job().job_id == 'job_to_disable' assert observer.exec_state(-1) == ExecutionState.DISABLED
def test_disable_jobs_by_regex(observer: TestStateObserver): create_test_config({ "persistence": { "enabled": True, "type": "sqlite", "database": str(test_db_path()) } }) run_app('disable -regex disabled.*') run_app('exec --id disable echo') run_app('exec --id disabled echo') run_app('exec --id disabled1 echo') assert observer.last_state('disable') == ExecutionState.COMPLETED assert observer.last_state('disabled') == ExecutionState.DISABLED assert observer.last_state('disabled1') == ExecutionState.DISABLED
def test_logging_file_path_cli_override(): create_test_config({ "log": { "mode": True, "file": { "level": "error", "path": "to_liberation.log" } } }) try: run_app('exec --set log_file_path=to_nowhere.log echo') assert log.get_file_path().endswith('to_nowhere.log') finally: log_file = Path('to_nowhere.log') if log_file.exists(): log_file.unlink()
def test_logging_file_path_in_config(): create_test_config({ "log": { "enabled": True, "file": { "level": "error", "path": "to_liberation.log" } } }) try: run_app('exec echo') assert log.get_file_path().endswith('to_liberation.log') finally: log_file = Path('to_liberation.log') if log_file.exists(): log_file.unlink()
def test_disable_jobs(observer: TestStateObserver): create_test_config({ "persistence": { "enabled": True, "type": "sqlite", "database": str(test_db_path()) } }) run_app('disable job1 job3 j.*' ) # 'j.*' not a regular expression here as -regex opt not used run_app('exec --id job1 echo') run_app('exec --id j2 echo') run_app('exec --id job3 echo') assert observer.last_state('job1') == ExecutionState.DISABLED assert observer.last_state('j2') == ExecutionState.COMPLETED assert observer.last_state('job3') == ExecutionState.DISABLED
def test_config_file_empty(): create_test_config(None) try: run_app('exec echo alles gute') finally: remove_test_config()
def test_logging_file_level_cli_override(): create_test_config({"log": {"mode": True, "file": {"level": "error"}}}) run_app('exec --set log_file_level=warn echo') assert logging.WARN == log.get_file_level()
def test_logging_file_level_in_config(): create_test_config({"log": {"mode": True, "file": {"level": "error"}}}) run_app('exec echo') assert logging.ERROR == log.get_file_level()
def test_logging_enabled_cli_override(): create_test_config({"log": {"mode": False}}) run_app('exec --set log_mode=on echo') assert not log.is_disabled()
def test_plugins_array(): create_test_config({"plugins": ["p1", "p2"]}) cfgfile.load() assert cfg.plugins == ("p1", "p2")
def test_logging_enabled_in_config(): create_test_config({"log": {"enabled": True}}) run_app('exec echo') assert not log.is_disabled()
def test_plugins_single_value(): create_test_config({"plugins": "plugin"}) cfgfile.load() assert cfg.plugins == ("plugin", )
def test_logging_disabled_by_default(): create_test_config(dict()) run_app('exec echo') assert log.is_disabled()
def test_not_str_type_raises_error(): create_test_config({"log": {"stdout": {"level": 3}}}) # Non-str value with pytest.raises(TypeError): cfgfile.load()
def test_logging_disabled_in_config(): create_test_config({"log": {"mode": False}}) run_app('exec echo') assert log.is_disabled()