re-structure

This commit is contained in:
Yaojia Wang
2026-02-01 22:55:31 +01:00
parent 400b12a967
commit b602d0a340
176 changed files with 856 additions and 853 deletions

View File

@@ -9,8 +9,8 @@ from datetime import datetime, timezone
from unittest.mock import MagicMock, patch
from uuid import uuid4, UUID
from inference.data.admin_models import TrainingDataset, DatasetDocument, TrainingTask
from inference.data.repositories.dataset_repository import DatasetRepository
from backend.data.admin_models import TrainingDataset, DatasetDocument, TrainingTask
from backend.data.repositories.dataset_repository import DatasetRepository
class TestDatasetRepository:
@@ -69,7 +69,7 @@ class TestDatasetRepository:
def test_create_returns_dataset(self, repo):
"""Test create returns created dataset."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -81,7 +81,7 @@ class TestDatasetRepository:
def test_create_with_all_params(self, repo):
"""Test create with all parameters."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -103,7 +103,7 @@ class TestDatasetRepository:
def test_create_default_values(self, repo):
"""Test create uses default values."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -121,7 +121,7 @@ class TestDatasetRepository:
def test_get_returns_dataset(self, repo, sample_dataset):
"""Test get returns dataset when exists."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -135,7 +135,7 @@ class TestDatasetRepository:
def test_get_with_uuid(self, repo, sample_dataset):
"""Test get works with UUID object."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -147,7 +147,7 @@ class TestDatasetRepository:
def test_get_returns_none_when_not_found(self, repo):
"""Test get returns None when dataset not found."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = None
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -164,7 +164,7 @@ class TestDatasetRepository:
def test_get_paginated_returns_datasets_and_total(self, repo, sample_dataset):
"""Test get_paginated returns list of datasets and total count."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.one.return_value = 1
mock_session.exec.return_value.all.return_value = [sample_dataset]
@@ -178,7 +178,7 @@ class TestDatasetRepository:
def test_get_paginated_with_status_filter(self, repo, sample_dataset):
"""Test get_paginated filters by status."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.one.return_value = 1
mock_session.exec.return_value.all.return_value = [sample_dataset]
@@ -191,7 +191,7 @@ class TestDatasetRepository:
def test_get_paginated_with_pagination(self, repo, sample_dataset):
"""Test get_paginated with limit and offset."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.one.return_value = 50
mock_session.exec.return_value.all.return_value = [sample_dataset]
@@ -204,7 +204,7 @@ class TestDatasetRepository:
def test_get_paginated_empty_results(self, repo):
"""Test get_paginated with no results."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.one.return_value = 0
mock_session.exec.return_value.all.return_value = []
@@ -222,7 +222,7 @@ class TestDatasetRepository:
def test_get_active_training_tasks_returns_dict(self, repo, sample_training_task):
"""Test get_active_training_tasks returns dict of active tasks."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.all.return_value = [sample_training_task]
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -240,7 +240,7 @@ class TestDatasetRepository:
def test_get_active_training_tasks_invalid_uuid(self, repo):
"""Test get_active_training_tasks filters invalid UUIDs."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.all.return_value = []
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -263,7 +263,7 @@ class TestDatasetRepository:
def test_update_status_updates_dataset(self, repo, sample_dataset):
"""Test update_status updates dataset status."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -276,7 +276,7 @@ class TestDatasetRepository:
def test_update_status_with_error_message(self, repo, sample_dataset):
"""Test update_status with error message."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -292,7 +292,7 @@ class TestDatasetRepository:
def test_update_status_with_totals(self, repo, sample_dataset):
"""Test update_status with total counts."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -312,7 +312,7 @@ class TestDatasetRepository:
def test_update_status_with_dataset_path(self, repo, sample_dataset):
"""Test update_status with dataset path."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -328,7 +328,7 @@ class TestDatasetRepository:
def test_update_status_with_uuid(self, repo, sample_dataset):
"""Test update_status works with UUID object."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -340,7 +340,7 @@ class TestDatasetRepository:
def test_update_status_not_found(self, repo):
"""Test update_status does nothing when dataset not found."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = None
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -356,7 +356,7 @@ class TestDatasetRepository:
def test_update_training_status_updates_dataset(self, repo, sample_dataset):
"""Test update_training_status updates training status."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -370,7 +370,7 @@ class TestDatasetRepository:
def test_update_training_status_with_task_id(self, repo, sample_dataset):
"""Test update_training_status with active task ID."""
task_id = uuid4()
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -387,7 +387,7 @@ class TestDatasetRepository:
def test_update_training_status_updates_main_status(self, repo, sample_dataset):
"""Test update_training_status updates main status when completed."""
sample_dataset.status = "ready"
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -405,7 +405,7 @@ class TestDatasetRepository:
def test_update_training_status_clears_task_id(self, repo, sample_dataset):
"""Test update_training_status clears task ID when None."""
sample_dataset.active_training_task_id = uuid4()
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -421,7 +421,7 @@ class TestDatasetRepository:
def test_update_training_status_not_found(self, repo):
"""Test update_training_status does nothing when dataset not found."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = None
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -437,7 +437,7 @@ class TestDatasetRepository:
def test_add_documents_creates_links(self, repo):
"""Test add_documents creates dataset document links."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -464,7 +464,7 @@ class TestDatasetRepository:
def test_add_documents_default_counts(self, repo):
"""Test add_documents uses default counts."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -484,7 +484,7 @@ class TestDatasetRepository:
def test_add_documents_with_uuid(self, repo):
"""Test add_documents works with UUID object."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -502,7 +502,7 @@ class TestDatasetRepository:
def test_add_documents_empty_list(self, repo):
"""Test add_documents with empty list."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
mock_ctx.return_value.__exit__ = MagicMock(return_value=False)
@@ -518,7 +518,7 @@ class TestDatasetRepository:
def test_get_documents_returns_list(self, repo, sample_dataset_document):
"""Test get_documents returns list of dataset documents."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.all.return_value = [sample_dataset_document]
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -531,7 +531,7 @@ class TestDatasetRepository:
def test_get_documents_with_uuid(self, repo, sample_dataset_document):
"""Test get_documents works with UUID object."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.all.return_value = [sample_dataset_document]
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -543,7 +543,7 @@ class TestDatasetRepository:
def test_get_documents_returns_empty_list(self, repo):
"""Test get_documents returns empty list when no documents."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.exec.return_value.all.return_value = []
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -559,7 +559,7 @@ class TestDatasetRepository:
def test_delete_returns_true(self, repo, sample_dataset):
"""Test delete returns True when dataset exists."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -573,7 +573,7 @@ class TestDatasetRepository:
def test_delete_with_uuid(self, repo, sample_dataset):
"""Test delete works with UUID object."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = sample_dataset
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
@@ -585,7 +585,7 @@ class TestDatasetRepository:
def test_delete_returns_false_when_not_found(self, repo):
"""Test delete returns False when dataset not found."""
with patch("inference.data.repositories.dataset_repository.get_session_context") as mock_ctx:
with patch("backend.data.repositories.dataset_repository.get_session_context") as mock_ctx:
mock_session = MagicMock()
mock_session.get.return_value = None
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)