diff --git a/cli/main.py b/cli/main.py index b5dc4e2..d107f65 100644 --- a/cli/main.py +++ b/cli/main.py @@ -64,6 +64,11 @@ def _hoist_global_options(args: list[str]) -> list[str]: @click.group(help=_HELP) +@click.version_option( + version=None, + package_name="allium-cli", + prog_name="allium", +) @click.option( "--profile", default=None, diff --git a/tests/test_main.py b/tests/test_main.py index 6a396fa..6e6a99e 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,6 +1,8 @@ from __future__ import annotations -from cli.main import _hoist_global_options +from click.testing import CliRunner + +from cli.main import _hoist_global_options, cli class TestHoistGlobalOptions: @@ -46,3 +48,18 @@ def test_verbose_long_form(self): args = ["auth", "list", "--verbose"] result = _hoist_global_options(args) assert result[0] == "--verbose" + + +class TestVersionFlag: + def test_version_flag_outputs_version(self): + runner = CliRunner() + result = runner.invoke(cli, ["--version"]) + assert result.exit_code == 0 + assert "allium" in result.output.lower() + + def test_version_flag_contains_version_number(self): + runner = CliRunner() + result = runner.invoke(cli, ["--version"]) + assert result.exit_code == 0 + # Version output should contain a semver-like pattern + assert "." in result.output