- Added DuplicatesService for background duplicate analysis and similarity detection. - Introduced endpoints for analyzing duplicates, checking status, and merging tags. - Created utility functions for file hashing and perceptual hashing. - Implemented watcher settings for runtime tuning of debounce and deduplication. - Added database maintenance tools for resetting and deleting the database. - Enhanced error handling with sanitization for client responses. - Added tests for duplicates service and error handling. - Updated ESLint configuration for better code quality checks. - Introduced filename validation and logging utilities.
25 lines
566 B
Python
25 lines
566 B
Python
import sys
|
|
import pytest_asyncio
|
|
|
|
from .repo_root import REPO_ROOT
|
|
|
|
if str(REPO_ROOT) not in sys.path:
|
|
sys.path.insert(0, str(REPO_ROOT))
|
|
|
|
@pytest_asyncio.fixture
|
|
async def services(tmp_path):
|
|
from backend.deps import build_services
|
|
|
|
db_path = str(tmp_path / "test_services.db")
|
|
# build_services is now async
|
|
svc_res = await build_services(db_path)
|
|
assert svc_res.ok, svc_res.error
|
|
svc = svc_res.data
|
|
try:
|
|
yield svc
|
|
finally:
|
|
try:
|
|
await svc.get("db").aclose()
|
|
except Exception:
|
|
pass
|