fix: Add service containers and fix test failures

- Add Redis and RabbitMQ services to CI workflow
- Fix Jinja2 template error by passing file=None in error cases
- Fix test expecting dict response format for list_files endpoint
- Fix NOT NULL constraint by providing valid local_filename
- Fix retry-subtask to validate subtask name before checking processed file
- Add mock for process_document in reprocess test

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-08 08:14:09 +00:00
parent 4ca24a2e0e
commit 0a461343e7
7 changed files with 62 additions and 30 deletions
+5 -2
View File
@@ -68,8 +68,11 @@ class TestFileEndpoints:
response = client.get("/api/files")
assert response.status_code == 200
data = response.json()
assert isinstance(data, list)
assert len(data) == 0
assert isinstance(data, dict)
assert "files" in data
assert "pagination" in data
assert isinstance(data["files"], list)
assert len(data["files"]) == 0
def test_get_nonexistent_file(self, client: TestClient):
"""Test getting a file that doesn't exist."""
+1 -3
View File
@@ -147,9 +147,7 @@ class TestBulkOperations:
file_record = FileRecord(
filehash=f"hash{i}",
original_filename=f"test{i}.pdf",
local_filename=(
f"/tmp/test{i}.pdf" if i == 0 else None
), # Second file has no local file
local_filename=f"/tmp/test{i}.pdf", # Both files have local_filename
file_size=1024,
mime_type="application/pdf",
)
+8 -1
View File
@@ -3,6 +3,7 @@ Tests for file detail view improvements including reprocessing and preview endpo
"""
import os
import pytest
from unittest.mock import patch, MagicMock
from fastapi.testclient import TestClient
from app.models import FileRecord, ProcessingLog
@@ -11,8 +12,14 @@ from app.models import FileRecord, ProcessingLog
class TestFileReprocessing:
"""Tests for single file reprocessing endpoint."""
def test_reprocess_existing_file(self, client: TestClient, db_session, sample_pdf_path):
@patch("app.api.files.process_document")
def test_reprocess_existing_file(self, mock_process_document, client: TestClient, db_session, sample_pdf_path):
"""Test reprocessing an existing file."""
# Setup mock
mock_task = MagicMock()
mock_task.id = "test-task-123"
mock_process_document.delay.return_value = mock_task
# Create a file record
file_record = FileRecord(
filehash="abc123",