hermes-agent/tests/scripts/test_smoke_nemo_relay_shared_metrics.py
Alex Fournier 14bed44c8c Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics"
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-27 21:10:51 -07:00

41 lines
1.2 KiB
Python

"""Tests for the shared-metrics smoke artifact."""
from pathlib import Path
import pytest
from scripts import smoke_nemo_relay_shared_metrics as smoke
@pytest.mark.parametrize(
"relative_path",
[
Path(".venv") / "bin" / "hermes",
Path(".venv") / "Scripts" / "hermes.exe",
],
)
def test_resolve_hermes_executable_from_repository_venv(
tmp_path,
monkeypatch,
relative_path,
):
executable = tmp_path / relative_path
executable.parent.mkdir(parents=True)
executable.touch()
monkeypatch.setattr(smoke.shutil, "which", lambda _name: None)
assert smoke._resolve_hermes_executable(tmp_path) == executable
def test_resolve_hermes_executable_falls_back_to_path(tmp_path, monkeypatch):
executable = tmp_path / "bin" / "hermes"
monkeypatch.setattr(smoke.shutil, "which", lambda _name: str(executable))
assert smoke._resolve_hermes_executable(tmp_path / "repo") == executable
def test_resolve_hermes_executable_reports_missing_binary(tmp_path, monkeypatch):
monkeypatch.setattr(smoke.shutil, "which", lambda _name: None)
with pytest.raises(SystemExit, match="or on PATH"):
smoke._resolve_hermes_executable(tmp_path)