Spaces:
Sleeping
Sleeping
| """Tests for the FastAPI server wrapper behavior.""" | |
| from __future__ import annotations | |
| import asyncio | |
| import importlib | |
| from typing import Any, Protocol, cast | |
| from searcharena import SearchEnvironment | |
| class ServerAppModule(Protocol): | |
| _env: SearchEnvironment | None | |
| async def reset(self, request: Any | None = None) -> Any: ... | |
| def test_reset_response_preserves_terminal_observation( | |
| empty_corpus, | |
| monkeypatch, | |
| ) -> None: | |
| """The reset endpoint should mirror a terminal observation from the environment.""" | |
| server_app = cast(ServerAppModule, importlib.import_module("server.app")) | |
| env = SearchEnvironment(corpus=empty_corpus, tasks=[]) | |
| monkeypatch.setattr(server_app, "_env", env) | |
| response = asyncio.run(server_app.reset()) | |
| assert response.done is True | |
| assert response.reward == 0.001 | |
| assert response.observation["done"] is True | |
| assert response.observation["reward"] == 0.001 | |
| assert "No tasks available" in response.observation["question"] | |