"""Tests for API main module.""" import pytest from fastapi import FastAPI from fastapi.testclient import TestClient from notebooklm_agent.api.main import app, create_application @pytest.mark.unit class TestCreateApplication: """Test suite for create_application function.""" def test_returns_fastapi_instance(self): """Should return FastAPI application instance.""" # Act application = create_application() # Assert assert isinstance(application, FastAPI) assert application.title == "NotebookLM Agent API" assert application.version == "0.1.0" def test_includes_health_router(self): """Should include health check router.""" # Act application = create_application() # Assert routes = [route.path for route in application.routes] assert any("/health" in route for route in routes) @pytest.mark.integration class TestRootEndpoint: """Test suite for root endpoint.""" def test_root_returns_api_info(self): """Should return API information.""" # Arrange client = TestClient(app) # Act response = client.get("/") # Assert assert response.status_code == 200 data = response.json() assert data["name"] == "NotebookLM Agent API" assert data["version"] == "0.1.0" assert "/docs" in data["documentation"]