| from unittest.mock import AsyncMock, MagicMock, patch |
|
|
| from fastapi.testclient import TestClient |
|
|
| from src.server.auth.dependencies import get_current_user |
| from src.server.main import app |
|
|
|
|
| |
| def setup_module(module): |
| app.dependency_overrides[get_current_user] = lambda: { |
| "id": "user-knowledge-int", |
| "role": "system_admin", |
| "department": "Engineering", |
| } |
|
|
|
|
| def teardown_module(module): |
| app.dependency_overrides.pop(get_current_user, None) |
|
|
|
|
| client = TestClient(app) |
|
|
|
|
| def test_summary_endpoint_performance(): |
| |
| with patch("src.server.api_routes.knowledge.items.KnowledgeItemService") as mock_class: |
| mock_inst = MagicMock() |
| |
| mock_inst.get_available_sources = AsyncMock(return_value=(True, [])) |
| mock_class.return_value = mock_inst |
|
|
| response = client.get("/api/knowledge-items/sources") |
| assert response.status_code == 200 |
|
|
|
|
| def test_error_handling_in_pagination(): |
| |
| with patch("src.server.api_routes.knowledge.items.KnowledgeItemService") as mock_class: |
| mock_inst = MagicMock() |
| mock_inst.list_items = AsyncMock(return_value=(False, {"error": "Database Crash"})) |
| mock_class.return_value = mock_inst |
|
|
| response = client.get("/api/knowledge-items") |
| assert response.status_code == 500 |
|
|