mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
Resolve user-facing versions from SemVer release tags and available local history while retaining raw package metadata for API identity. Stamp Desktop provenance at build time, and expose generic version details for every Desktop install method.
46 lines
No EOL
1.3 KiB
Python
46 lines
No EOL
1.3 KiB
Python
from unittest.mock import MagicMock, patch
|
|
|
|
from hermes_cli.version_info import VersionInfo
|
|
|
|
|
|
def test_format_banner_version_label_without_git_state():
|
|
from hermes_cli import banner
|
|
|
|
with patch.object(
|
|
banner,
|
|
"get_version_info",
|
|
return_value=VersionInfo(banner.VERSION, banner.VERSION, None, None, None, "unknown"),
|
|
):
|
|
value = banner.format_banner_version_label()
|
|
|
|
assert value == f"Hermes Agent v{banner.VERSION}"
|
|
|
|
|
|
def test_format_banner_version_label_includes_derived_version_and_provenance():
|
|
from hermes_cli import banner
|
|
|
|
with patch.object(
|
|
banner,
|
|
"get_version_info",
|
|
return_value=VersionInfo("0.19.0", "0.19.0+3", 3, "b" * 40, "feature/version", "git"),
|
|
):
|
|
value = banner.format_banner_version_label()
|
|
|
|
assert "v0.19.0+3" in value
|
|
assert "feature/version" in value
|
|
assert "b" * 12 in value
|
|
|
|
|
|
def test_format_banner_version_label_omits_zero_suffix():
|
|
from hermes_cli import banner
|
|
|
|
with patch.object(
|
|
banner,
|
|
"get_version_info",
|
|
return_value=VersionInfo("0.19.0", "0.19.0", 0, "a" * 40, "main", "git"),
|
|
):
|
|
value = banner.format_banner_version_label()
|
|
|
|
assert "v0.19.0" in value
|
|
assert "+0" not in value
|
|
assert "carried" not in value |