import pytest from amongus_env.models import Move, Observation, Phase from amongus_env.openenv_server import AmongUsEnvironment, create_http_app def test_openenv_environment_reset_and_step_return_observations() -> None: environment = AmongUsEnvironment(seed=1, impostor_ids=["blue"]) reset_observation = environment.reset() step_observation = environment.step(Move(room="Electrical")) assert isinstance(reset_observation, Observation) assert isinstance(step_observation, Observation) assert step_observation.location == "Electrical" assert step_observation.phase is Phase.TASKS def test_openenv_environment_accepts_action_payloads() -> None: environment = AmongUsEnvironment(seed=1, impostor_ids=["blue"]) environment.reset() observation = environment.step({"type": "move", "room": "Electrical"}) assert observation.location == "Electrical" def test_http_app_factory_reports_missing_openenv_dependency() -> None: try: app = create_http_app() except RuntimeError as exc: assert "openenv" in str(exc).lower() else: assert app is not None