simplifications and refactorings

This commit is contained in:
2026-05-04 16:59:06 +02:00
parent e14cb8a654
commit 4cdb4b144c
18 changed files with 30 additions and 456 deletions
+5 -104
View File
@@ -132,8 +132,10 @@ def test_client(mock_jellyfin, mock_jellyseerr, mock_ssh):
app.dependency_overrides[get_jellyseerr_client] = lambda: mock_jellyseerr
app.dependency_overrides[get_ssh_client] = lambda: mock_ssh
app.dependency_overrides[get_user_id] = lambda: "user123"
client = TestClient(app)
yield client
auth_settings = SimpleNamespace(auth_enabled=False)
with patch("media_library_viewer_api.auth.get_settings", return_value=auth_settings):
client = TestClient(app)
yield client
app.dependency_overrides.clear()
@@ -245,107 +247,6 @@ class TestUsers:
assert response.json()["state"] == "idle"
assert response.json()["pending_count"] == 0
def test_users_message_test_smtp(self, test_client):
settings = SimpleNamespace(
smtp_host="smtp.fastmail.com",
smtp_port=587,
smtp_username="main@fastmail.com",
smtp_password="app-password",
smtp_from_address="alias@example.com",
smtp_from_name="Media Library Viewer",
smtp_use_tls=True,
smtp_use_ssl=False,
smtp_timeout=15,
)
app.dependency_overrides[get_mail_queue] = lambda: MagicMock()
try:
with patch("media_library_viewer_api.routers.users.get_settings", return_value=settings), patch(
"media_library_viewer_api.routers.users.test_smtp_connection",
return_value={
"status": "ok",
"message": "SMTP connection successful using Fastmail STARTTLS 587",
"from_address": "alias@example.com",
"from_name": "Media Library Viewer",
"smtp_host": "smtp.fastmail.com",
"smtp_port": 587,
"use_tls": True,
"use_ssl": False,
"authenticated": True,
"selected_mode": {
"label": "Fastmail STARTTLS 587",
"smtp_host": "smtp.fastmail.com",
"smtp_port": 587,
"use_tls": True,
"use_ssl": False,
},
"attempts": [
{
"label": "Fastmail STARTTLS 587",
"smtp_host": "smtp.fastmail.com",
"smtp_port": 587,
"use_tls": True,
"use_ssl": False,
"status": "ok",
}
],
},
):
response = test_client.post("/api/users/message/test-smtp")
finally:
app.dependency_overrides.pop(get_mail_queue, None)
assert response.status_code == 200
data = response.json()
assert data["status"] == "ok"
assert data["smtp_host"] == "smtp.fastmail.com"
assert data["selected_mode"]["label"] == "Fastmail STARTTLS 587"
def test_users_message_test_smtp_timeout_message(self, test_client):
settings = SimpleNamespace(
smtp_host="smtp.fastmail.com",
smtp_port=587,
smtp_username="main@fastmail.com",
smtp_password="app-password",
smtp_from_address="alias@example.com",
smtp_from_name="Media Library Viewer",
smtp_use_tls=True,
smtp_use_ssl=False,
smtp_timeout=15,
)
app.dependency_overrides[get_mail_queue] = lambda: MagicMock()
try:
with patch("media_library_viewer_api.routers.users.get_settings", return_value=settings), patch(
"media_library_viewer_api.routers.users.test_smtp_connection",
return_value={
"status": "error",
"message": "SMTP connection timed out while waiting for the server greeting. Check host, port, network access, and SMTP_TIMEOUT.",
"from_address": "alias@example.com",
"from_name": "Media Library Viewer",
"smtp_host": "smtp.fastmail.com",
"smtp_port": 587,
"use_tls": True,
"use_ssl": False,
"authenticated": True,
"selected_mode": None,
"attempts": [
{
"label": "configured",
"smtp_host": "smtp.fastmail.com",
"smtp_port": 587,
"use_tls": True,
"use_ssl": False,
"status": "failed",
"error": "SMTP connection timed out while waiting for the server greeting. Check host, port, network access, and SMTP_TIMEOUT.",
}
],
},
):
response = test_client.post("/api/users/message/test-smtp")
finally:
app.dependency_overrides.pop(get_mail_queue, None)
assert response.status_code == 200
assert response.json()["status"] == "error"
assert "timed out" in response.json()["message"].lower()
def test_users_message_is_queued(self, test_client):
mail_queue = MagicMock()
mail_queue.status.return_value = {
@@ -371,7 +272,7 @@ class TestUsers:
smtp_username="mailer@example.com",
smtp_password="secret",
smtp_from_address="mailer@example.com",
smtp_from_name="Media Library Viewer",
smtp_from_name="Manage",
smtp_use_tls=True,
smtp_use_ssl=False,
smtp_timeout=15,