""" Unit and Integration tests for FloorGen FastAPI Production Server. """ import pytest from fastapi.testclient import TestClient from floorgen.api.server import app client = TestClient(app) def test_health_endpoint(): response = client.get("/health") assert response.status_code == 200 data = response.json() assert data["status"] == "healthy" assert data["model_loaded"] is True assert "version" in data def test_ready_endpoint(): response = client.get("/ready") assert response.status_code == 200 data = response.json() assert data["ready"] is True assert data["indexed_plans"] > 0 assert data["checkpoint_epoch"] >= 80 def test_rooms_endpoint(): response = client.get("/api/v1/rooms") assert response.status_code == 200 data = response.json() assert "living_room" in data["rooms"] assert "master_bedroom" in data["rooms"] def test_generate_endpoint_validation(): # Invalid room category response = client.post("/api/v1/generate", json={ "rooms": ["space_station_docking_bay"] }) assert response.status_code == 422 def test_generate_endpoint_success(): response = client.post("/api/v1/generate", json={ "rooms": ["living_room", "master_bedroom", "bathroom", "kitchen"], "steps": 10, "batch": 1, "solver": True }) assert response.status_code == 200 data = response.json() assert data["realism_score"] > 80.0 assert data["circulation"] == 1.0 assert "