71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
"""
|
|
Basic tests to verify the application setup.
|
|
"""
|
|
|
|
import pytest
|
|
from fastapi.testclient import TestClient
|
|
|
|
from app.main import app
|
|
from app.core.config import settings
|
|
|
|
|
|
@pytest.fixture
|
|
def client():
|
|
"""Test client fixture."""
|
|
return TestClient(app)
|
|
|
|
|
|
def test_health_check(client):
|
|
"""Test health check endpoint."""
|
|
response = client.get("/health")
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
# In test environment, services might not be available, so "degraded" is acceptable
|
|
assert data["status"] in ["healthy", "degraded"]
|
|
assert data["version"] == settings.APP_VERSION
|
|
|
|
|
|
def test_root_endpoint(client):
|
|
"""Test root endpoint."""
|
|
response = client.get("/")
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["message"] == "Virtual Board Member AI System"
|
|
assert data["version"] == settings.APP_VERSION
|
|
|
|
|
|
def test_api_docs_available(client):
|
|
"""Test that API documentation is available in development."""
|
|
if settings.DEBUG:
|
|
response = client.get("/docs")
|
|
assert response.status_code == 200
|
|
else:
|
|
response = client.get("/docs")
|
|
assert response.status_code == 404
|
|
|
|
|
|
def test_environment_configuration():
|
|
"""Test that environment configuration is loaded correctly."""
|
|
assert settings.APP_NAME == "Virtual Board Member AI"
|
|
assert settings.APP_VERSION == "0.1.0"
|
|
assert settings.ENVIRONMENT in ["development", "testing", "production"]
|
|
|
|
|
|
def test_supported_formats():
|
|
"""Test supported document formats configuration."""
|
|
formats = settings.supported_formats_list
|
|
assert "pdf" in formats
|
|
assert "xlsx" in formats
|
|
assert "csv" in formats
|
|
assert "pptx" in formats
|
|
assert "txt" in formats
|
|
|
|
|
|
def test_feature_flags():
|
|
"""Test that feature flags are properly configured."""
|
|
assert isinstance(settings.FEATURE_COMMITMENT_TRACKING, bool)
|
|
assert isinstance(settings.FEATURE_RISK_ANALYSIS, bool)
|
|
assert isinstance(settings.FEATURE_MEETING_SUPPORT, bool)
|
|
assert isinstance(settings.FEATURE_REAL_TIME_QUERIES, bool)
|
|
assert isinstance(settings.FEATURE_BATCH_PROCESSING, bool)
|