Files
gh-christianlouis-docuelevate/tests/test_diagnostic.py
T
2026-02-12 03:21:41 +00:00

40 lines
1.5 KiB
Python

"""Tests for app/api/diagnostic.py module."""
import pytest
@pytest.mark.integration
class TestDiagnosticSettings:
"""Tests for diagnostic settings endpoint."""
def test_diagnostic_settings_endpoint(self, client):
"""Test /api/diagnostic/settings endpoint."""
response = client.get("/api/diagnostic/settings")
assert response.status_code == 200
data = response.json()
assert data["status"] == "success"
assert "settings" in data
assert "configured_services" in data["settings"]
def test_diagnostic_settings_has_expected_services(self, client):
"""Test that diagnostic settings has expected service keys."""
response = client.get("/api/diagnostic/settings")
data = response.json()
services = data["settings"]["configured_services"]
expected_keys = ["email", "s3", "dropbox", "onedrive", "nextcloud", "sftp", "openai", "azure"]
for key in expected_keys:
assert key in services
@pytest.mark.integration
class TestTestNotification:
"""Tests for test notification endpoint."""
def test_test_notification_endpoint(self, client):
"""Test /api/diagnostic/test-notification endpoint."""
response = client.post("/api/diagnostic/test-notification")
assert response.status_code == 200
data = response.json()
# Should return warning (no notification services configured) or success
assert data["status"] in ("warning", "success", "error")