"""infra routers unit tests.""" from fastapi.testclient import TestClient from pytest_mock import MockerFixture def test_hello(test_client: TestClient) -> None: response = test_client.get("/hello/") assert response.status_code == 200 assert response.json() == {"status": "ok"} def test_refresh_api_key_returns_ok( test_client: TestClient, mocker: MockerFixture ) -> None: mocker.patch("ai_evals.api.routers.infra.invalidate_key_cache") mocker.patch("ai_evals.api.routers.infra.get_expected_key") response = test_client.post("/admin/refresh-api-key") assert response.status_code == 200 assert response.json() == {"status": "ok"} def test_refresh_api_key_invalidates_then_refetches( test_client: TestClient, mocker: MockerFixture ) -> None: mock_invalidate = mocker.patch("ai_evals.api.routers.infra.invalidate_key_cache") mock_fetch = mocker.patch("ai_evals.api.routers.infra.get_expected_key") test_client.post("/admin/refresh-api-key") mock_invalidate.assert_called_once() mock_fetch.assert_called_once() def test_refresh_api_key_requires_no_auth( test_client: TestClient, mocker: MockerFixture ) -> None: mocker.patch("ai_evals.api.routers.infra.invalidate_key_cache") mocker.patch("ai_evals.api.routers.infra.get_expected_key") response = test_client.post("/admin/refresh-api-key") assert response.status_code != 403