"""Tests for the health-check example plugin."""

from __future__ import annotations

import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).parent.parent))

from fastapi import FastAPI
from fastapi.testclient import TestClient

from plugins.health_check_plugin import HealthCheckPlugin


def test_health_plugin_registers_route() -> None:
    app = FastAPI()
    plugin = HealthCheckPlugin()
    plugin.register(app)

    client = TestClient(app)
    response = client.get("/plugin/health")

    assert response.status_code == 200
    data = response.json()
    assert data["status"] == "ok"
    assert data["plugin"] == "health_check"
    assert "started_at" in data


def test_health_plugin_health_metadata() -> None:
    plugin = HealthCheckPlugin()
    meta = plugin.health()
    assert meta["name"] == "health_check"
    assert meta["version"] == "1.0.0"
    assert meta["status"] == "ok"
    assert "started_at" in meta
