Skip to content

chore: Add test for hermes_cli adapter - #13

Merged
dagardner-nv merged 8 commits into
NVIDIA:mainfrom
dagardner-nv:david-hermes-cli-tests
Jun 23, 2026
Merged

chore: Add test for hermes_cli adapter#13
dagardner-nv merged 8 commits into
NVIDIA:mainfrom
dagardner-nv:david-hermes-cli-tests

Conversation

@dagardner-nv

@dagardner-nv dagardner-nv commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Tests

    • Added comprehensive test suite for Hermes CLI functionality, including environment isolation and path validation.
  • Chores

    • Enhanced CI/CD workflow with dedicated pytest execution step.
    • Added optional Hermes CLI integration configuration.
    • Updated project configuration and ignore settings for development tools.

Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c2d8080c-554b-42f0-930b-c8a1a7b6b264

📥 Commits

Reviewing files that changed from the base of the PR and between 77d0a4b and e57267b.

📒 Files selected for processing (5)
  • .github/workflows/ci_python.yml
  • .gitignore
  • pyproject.toml
  • tests/conftest.py
  • tests/test_hermes_cli_fields.py

📝 Walkthrough

Walkthrough

Adds a pytest-based test suite for the Hermes CLI integration. Introduces pyproject.toml changes for asyncio test configuration and a hermes optional dependency, a conftest.py with environment isolation and fake Hermes CLI agent fixtures, an async integration test asserting FabricClient output fields, a CI step to run pytest, and a .vscode/ gitignore entry.

Changes

Hermes CLI Test Suite Bootstrap

Layer / File(s) Summary
pytest asyncio config and hermes optional dep
pyproject.toml
Adds a hermes optional-dependency entry with Python-version markers and a [tool.pytest.ini_options] block setting asyncio_mode = "auto" with session-scoped fixture loop.
Shared test fixtures: env isolation and fake Hermes CLI agent
tests/conftest.py
Adds an autouse environ snapshot/restore fixture, session-scoped fixtures resolving and copying the hermes-cli-agent fixture directory, a constant CLI profile fixture, and a fixture resolving the fake-hermes.py executable path.
FabricClient Hermes CLI fields integration test
tests/test_hermes_cli_fields.py
Adds an async test invoking FabricClient with the fake Hermes command and profile, asserting success status, adapter/runner/CLI metadata, path-based output fields relative to the agent dir, and presence of base_url/enabled_toolsets/error/response keys.
CI pytest step and gitignore
.github/workflows/ci_python.yml, .gitignore
Adds a CI step that runs uv sync --group test --no-group dev then uv run pytest; adds .vscode/ to .gitignore.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • NVIDIA/NeMo-Fabric#8: Both PRs modify .github/workflows/ci_python.yml to extend CI test execution — the earlier PR structures the smoke-test loop that this PR's new uv run pytest step follows.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: Add test for hermes_cli adapter' directly aligns with the main objective of this PR—establishing testing infrastructure for the hermes_cli adapter by adding fixtures and test files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@dagardner-nv dagardner-nv added the enhancement New feature or request label Jun 23, 2026
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
@dagardner-nv
dagardner-nv marked this pull request as ready for review June 23, 2026 18:38
@AjayThorve
AjayThorve self-requested a review June 23, 2026 19:34
@dagardner-nv
dagardner-nv merged commit 62c5aeb into NVIDIA:main Jun 23, 2026
4 checks passed
@dagardner-nv
dagardner-nv deleted the david-hermes-cli-tests branch July 9, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants