add version command to show current version
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from pathlib import Path
|
||||
|
||||
from click.testing import CliRunner
|
||||
from unittest.mock import patch
|
||||
|
||||
from browser_cli.cli import main, _project_version
|
||||
|
||||
|
||||
def _expected_version() -> str:
|
||||
pyproject = Path(__file__).resolve().parent.parent / "pyproject.toml"
|
||||
for line in pyproject.read_text(encoding="utf-8").splitlines():
|
||||
if line.startswith("version = "):
|
||||
return line.split('"')[1]
|
||||
raise AssertionError("version not found in pyproject.toml")
|
||||
|
||||
|
||||
def test_short_version_option():
|
||||
result = CliRunner().invoke(main, ["-V"])
|
||||
assert result.exit_code == 0
|
||||
assert result.output.strip() == _expected_version()
|
||||
|
||||
|
||||
def test_long_version_option():
|
||||
result = CliRunner().invoke(main, ["--version"])
|
||||
assert result.exit_code == 0
|
||||
assert result.output.strip() == _expected_version()
|
||||
|
||||
|
||||
def test_project_version_falls_back_to_installed_package_metadata():
|
||||
with patch("browser_cli.cli.Path.read_text", side_effect=OSError), patch(
|
||||
"browser_cli.cli.package_version", return_value="9.9.9"
|
||||
):
|
||||
assert _project_version() == "9.9.9"
|
||||
Reference in New Issue
Block a user