refactor: modernize code quality tooling with Ruff
- Replace black, isort, and flake8 with Ruff (all-in-one linter and formatter) - Add comprehensive pyproject.toml configuration - Simplify Makefile code quality targets - Configure exclusions for venv/.venv in pyproject.toml - Auto-fix 1,359 linting issues across codebase Benefits: - Much faster builds (Ruff is written in Rust) - Single tool replaces multiple tools - More comprehensive rule set (UP, B, C4, SIM, PIE, RET, Q) - All configuration centralized in pyproject.toml - Better import sorting and formatting consistency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
# tests/test_background_tasks.py
|
||||
from datetime import datetime
|
||||
from unittest.mock import AsyncMock, patch
|
||||
|
||||
import pytest
|
||||
@@ -32,8 +31,9 @@ class TestBackgroundTasks:
|
||||
job_id = job.id
|
||||
|
||||
# Mock CSV processor and prevent session from closing
|
||||
with patch("app.tasks.background_tasks.CSVProcessor") as mock_processor, patch(
|
||||
"app.tasks.background_tasks.SessionLocal", return_value=db
|
||||
with (
|
||||
patch("app.tasks.background_tasks.CSVProcessor") as mock_processor,
|
||||
patch("app.tasks.background_tasks.SessionLocal", return_value=db),
|
||||
):
|
||||
mock_instance = mock_processor.return_value
|
||||
mock_instance.process_marketplace_csv_from_url = AsyncMock(
|
||||
@@ -86,10 +86,10 @@ class TestBackgroundTasks:
|
||||
job_id = job.id
|
||||
|
||||
# Mock CSV processor to raise exception
|
||||
with patch("app.tasks.background_tasks.CSVProcessor") as mock_processor, patch(
|
||||
"app.tasks.background_tasks.SessionLocal", return_value=db
|
||||
with (
|
||||
patch("app.tasks.background_tasks.CSVProcessor") as mock_processor,
|
||||
patch("app.tasks.background_tasks.SessionLocal", return_value=db),
|
||||
):
|
||||
|
||||
mock_instance = mock_processor.return_value
|
||||
mock_instance.process_marketplace_csv_from_url = AsyncMock(
|
||||
side_effect=Exception("Import failed")
|
||||
@@ -124,8 +124,9 @@ class TestBackgroundTasks:
|
||||
@pytest.mark.asyncio
|
||||
async def test_marketplace_import_job_not_found(self, db):
|
||||
"""Test handling when import job doesn't exist"""
|
||||
with patch("app.tasks.background_tasks.CSVProcessor") as mock_processor, patch(
|
||||
"app.tasks.background_tasks.SessionLocal", return_value=db
|
||||
with (
|
||||
patch("app.tasks.background_tasks.CSVProcessor") as mock_processor,
|
||||
patch("app.tasks.background_tasks.SessionLocal", return_value=db),
|
||||
):
|
||||
mock_instance = mock_processor.return_value
|
||||
mock_instance.process_marketplace_csv_from_url = AsyncMock(
|
||||
@@ -170,8 +171,9 @@ class TestBackgroundTasks:
|
||||
job_id = job.id
|
||||
|
||||
# Mock CSV processor with some errors
|
||||
with patch("app.tasks.background_tasks.CSVProcessor") as mock_processor, patch(
|
||||
"app.tasks.background_tasks.SessionLocal", return_value=db
|
||||
with (
|
||||
patch("app.tasks.background_tasks.CSVProcessor") as mock_processor,
|
||||
patch("app.tasks.background_tasks.SessionLocal", return_value=db),
|
||||
):
|
||||
mock_instance = mock_processor.return_value
|
||||
mock_instance.process_marketplace_csv_from_url = AsyncMock(
|
||||
|
||||
Reference in New Issue
Block a user