From e9a954a8fd79059995f8e44832bea040c9a5320a Mon Sep 17 00:00:00 2001 From: Hemna Date: Tue, 27 Dec 2022 15:31:49 -0500 Subject: [PATCH] Fix some unit tests and loading of CONF w/o file --- aprsd/cli_helper.py | 13 +++++++----- aprsd/cmds/dev.py | 3 ++- tests/cmds/test_dev.py | 45 ------------------------------------------ 3 files changed, 10 insertions(+), 51 deletions(-) delete mode 100644 tests/cmds/test_dev.py diff --git a/aprsd/cli_helper.py b/aprsd/cli_helper.py index e1c8508..ed8acce 100644 --- a/aprsd/cli_helper.py +++ b/aprsd/cli_helper.py @@ -65,12 +65,15 @@ def process_standard_options(f: F) -> F: default_config_files = [kwargs["config_file"]] else: default_config_files = None - CONF( - [], project="aprsd", version=aprsd.__version__, - default_config_files=default_config_files, - ) + try: + CONF( + [], project="aprsd", version=aprsd.__version__, + default_config_files=default_config_files, + ) + except cfg.ConfigFilesNotFoundError: + pass ctx.obj["loglevel"] = kwargs["loglevel"] - ctx.obj["config_file"] = kwargs["config_file"] + # ctx.obj["config_file"] = kwargs["config_file"] ctx.obj["quiet"] = kwargs["quiet"] log.setup_logging( ctx.obj["loglevel"], diff --git a/aprsd/cmds/dev.py b/aprsd/cmds/dev.py index ab8d07d..cda428a 100644 --- a/aprsd/cmds/dev.py +++ b/aprsd/cmds/dev.py @@ -86,7 +86,8 @@ def test_plugin( if not plugin_path: click.echo(ctx.get_help()) click.echo("") - ctx.fail("Failed to provide -p option to test a plugin") + click.echo("Failed to provide -p option to test a plugin") + ctx.exit(-1) return if type(message) is tuple: diff --git a/tests/cmds/test_dev.py b/tests/cmds/test_dev.py deleted file mode 100644 index aaaee26..0000000 --- a/tests/cmds/test_dev.py +++ /dev/null @@ -1,45 +0,0 @@ -import typing as t -import unittest -from unittest import mock - -from click.testing import CliRunner -from oslo_config import cfg - -from aprsd import conf # noqa: F401 -from aprsd.aprsd import cli -from aprsd.cmds import dev # noqa - -from .. import fake - - -CONF = cfg.CONF -F = t.TypeVar("F", bound=t.Callable[..., t.Any]) - - -class TestDevTestPluginCommand(unittest.TestCase): - - def config_and_init(self, login=None, password=None): - CONF.callsign = fake.FAKE_TO_CALLSIGN - CONF.trace_enabled = False - CONF.watch_list.packet_keep_count = 1 - if login: - CONF.aprs_network.login = login - if password: - CONF.aprs_network.password = password - - CONF.admin.user = "admin" - CONF.admin.password = "password" - - @mock.patch("aprsd.logging.log.setup_logging") - def test_no_plugin_arg(self, mock_logging): - """Make sure we get an error if there is no login and config.""" - - runner = CliRunner() - self.config_and_init(login="something") - - result = runner.invoke( - cli, ["dev", "test-plugin", "bogus command"], - catch_exceptions=False, - ) - assert result.exit_code == 2 - assert "Failed to provide -p option to test a plugin" in result.output