CI: install, plugin discovery smoke test, unit tests #3

Open
opened 2026-08-03 16:55:18 -07:00 by kalmiya · 0 comments
Owner

Kanban ticket: t_10f70e4d
Board: hermes-anthropic-api


Task t_10f70e4d: CI: install, plugin discovery smoke test, unit tests
status: ready
assignee: -
workspace: scratch
max-retries: 2 (default)
created: 2026-08-03 16:53 by kalmiya

Body:
Minimal CI for the standalone plugin repo.

  • .gitea/workflows/ci.yml (Forgejo) with three jobs:

    1. install — pip install -e . in a clean venv.
    2. discover — run hermes plugins list and assert anthropic_api shows up (or directly invoke hermes_cli.plugins.discover_plugins()).
    3. test — run pytest with httpx.AsyncClient against a mocked aiohttp test client.
  • tests/test_adapter.py:

    • Mocks the Hermes agent call.
    • Posts to POST /v1/messages with a minimal body; asserts the Anthropic response envelope.
    • Posts to GET /v1/models; asserts shape.
    • Posts to POST /v1/messages/count_tokens; asserts shape.
    • Verifies auth rejection with no Bearer token.
    • Verifies error envelope on a deliberately-bad request.

Events (1):
[2026-08-03 16:53] created {'assignee': None, 'status': 'ready', 'parents': [], 'tenant': None, 'workspace_kind': 'scratch', 'workspace_path': None, 'branch_name': None, 'project_id': None, 'skills': None, 'goal_mode': None, 'model_override': None, 'provider_override': None}

**Kanban ticket:** `t_10f70e4d` **Board:** `hermes-anthropic-api` --- Task t_10f70e4d: CI: install, plugin discovery smoke test, unit tests status: ready assignee: - workspace: scratch max-retries: 2 (default) created: 2026-08-03 16:53 by kalmiya Body: Minimal CI for the standalone plugin repo. - `.gitea/workflows/ci.yml` (Forgejo) with three jobs: 1. `install` — `pip install -e .` in a clean venv. 2. `discover` — run `hermes plugins list` and assert `anthropic_api` shows up (or directly invoke `hermes_cli.plugins.discover_plugins()`). 3. `test` — run pytest with `httpx.AsyncClient` against a mocked aiohttp test client. - `tests/test_adapter.py`: - Mocks the Hermes agent call. - Posts to `POST /v1/messages` with a minimal body; asserts the Anthropic response envelope. - Posts to `GET /v1/models`; asserts shape. - Posts to `POST /v1/messages/count_tokens`; asserts shape. - Verifies auth rejection with no Bearer token. - Verifies error envelope on a deliberately-bad request. Events (1): [2026-08-03 16:53] created {'assignee': None, 'status': 'ready', 'parents': [], 'tenant': None, 'workspace_kind': 'scratch', 'workspace_path': None, 'branch_name': None, 'project_id': None, 'skills': None, 'goal_mode': None, 'model_override': None, 'provider_override': None}
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kalmiya/hermes-anthropic-api#3
No description provided.