diff --git a/changelog.md b/changelog.md index bf918abd..2a6e4ad1 100644 --- a/changelog.md +++ b/changelog.md @@ -32,6 +32,7 @@ Internal * Upgrade `llm` dependency and set a minimum `pydantic_core` version. * Refactor suggestion logic into declarative rules. * Factor the `--batch` execution modes out of `main.py`. +* Move `--checkup` logic to the new `main_modes` with `--batch`. * Sort coverage report in tox suite. * Skip more tests when a database connection is not present. diff --git a/mycli/main.py b/mycli/main.py index a04b3841..7f47e769 100755 --- a/mycli/main.py +++ b/mycli/main.py @@ -85,8 +85,8 @@ main_batch_with_progress_bar, main_batch_without_progress_bar, ) +from mycli.main_modes.checkup import main_checkup from mycli.packages import special -from mycli.packages.checkup import do_checkup from mycli.packages.filepaths import dir_path_exists, guess_socket_location from mycli.packages.hybrid_redirection import get_redirect_components, is_redirect_command from mycli.packages.parseutils import is_dropping_database, is_valid_connection_scheme @@ -2263,7 +2263,7 @@ def get_password_from_file(password_file: str | None) -> str | None: ) if cli_args.checkup: - do_checkup(mycli) + main_checkup(mycli) sys.exit(0) if cli_args.csv and cli_args.format not in [None, 'csv']: diff --git a/mycli/packages/checkup.py b/mycli/main_modes/checkup.py similarity index 99% rename from mycli/packages/checkup.py rename to mycli/main_modes/checkup.py index 29e61355..c3b82a3b 100644 --- a/mycli/packages/checkup.py +++ b/mycli/main_modes/checkup.py @@ -149,7 +149,7 @@ def _configuration_checkup(mycli) -> None: print('User configuration all up to date!\n') -def do_checkup(mycli) -> None: +def main_checkup(mycli) -> None: _dependencies_checkup() _executables_checkup() _environment_checkup() diff --git a/test/pytests/test_checkup.py b/test/pytests/test_checkup.py index 78d0bd11..1571c139 100644 --- a/test/pytests/test_checkup.py +++ b/test/pytests/test_checkup.py @@ -3,7 +3,7 @@ from types import SimpleNamespace import urllib.error -from mycli.packages import checkup +from mycli.main_modes import checkup class FakeUrlResponse: @@ -227,7 +227,7 @@ def test_configuration_checkup_up_to_date(capsys) -> None: assert 'User configuration all up to date!' in output -def test_do_checkup_calls_all_sections(monkeypatch) -> None: +def test_main_checkup_calls_all_sections(monkeypatch) -> None: calls: list[tuple[str, object]] = [] mycli = SimpleNamespace(name='mycli') @@ -236,7 +236,7 @@ def test_do_checkup_calls_all_sections(monkeypatch) -> None: monkeypatch.setattr(checkup, '_environment_checkup', lambda: calls.append(('environment', None))) monkeypatch.setattr(checkup, '_configuration_checkup', lambda arg: calls.append(('configuration', arg))) - checkup.do_checkup(mycli) + checkup.main_checkup(mycli) assert calls == [ ('dependencies', None), diff --git a/test/pytests/test_main_regression.py b/test/pytests/test_main_regression.py index 9aac8e6f..33f9a6c2 100644 --- a/test/pytests/test_main_regression.py +++ b/test/pytests/test_main_regression.py @@ -1671,7 +1671,7 @@ def test_click_entrypoint_branches_with_dummy_mycli(monkeypatch: pytest.MonkeyPa monkeypatch.setattr(main.sys.stderr, 'isatty', lambda: True) checkup_calls: list[Any] = [] - monkeypatch.setattr(main, 'do_checkup', lambda mycli: checkup_calls.append(mycli)) + monkeypatch.setattr(main, 'main_checkup', lambda mycli: checkup_calls.append(mycli)) result = runner.invoke(main.click_entrypoint, ['--checkup']) assert result.exit_code == 0 assert len(checkup_calls) == 1