re-structure
This commit is contained in:
@@ -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 ModelVersion
|
||||
from inference.data.repositories.model_version_repository import ModelVersionRepository
|
||||
from backend.data.admin_models import ModelVersion
|
||||
from backend.data.repositories.model_version_repository import ModelVersionRepository
|
||||
|
||||
|
||||
class TestModelVersionRepository:
|
||||
@@ -62,7 +62,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_create_returns_model(self, repo):
|
||||
"""Test create returns created model version."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -82,7 +82,7 @@ class TestModelVersionRepository:
|
||||
dataset_id = uuid4()
|
||||
trained_at = datetime.now(timezone.utc)
|
||||
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -115,7 +115,7 @@ class TestModelVersionRepository:
|
||||
task_id = uuid4()
|
||||
dataset_id = uuid4()
|
||||
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -134,7 +134,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_create_without_optional_ids(self, repo):
|
||||
"""Test create without task_id and dataset_id."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -155,7 +155,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_returns_model(self, repo, sample_model):
|
||||
"""Test get returns model when exists."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -169,7 +169,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_with_uuid(self, repo, sample_model):
|
||||
"""Test get works with UUID object."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -181,7 +181,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_returns_none_when_not_found(self, repo):
|
||||
"""Test get returns None when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -198,7 +198,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_paginated_returns_models_and_total(self, repo, sample_model):
|
||||
"""Test get_paginated returns list of models and total count."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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_model]
|
||||
@@ -212,7 +212,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_paginated_with_status_filter(self, repo, sample_model):
|
||||
"""Test get_paginated filters by status."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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_model]
|
||||
@@ -225,7 +225,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_paginated_with_pagination(self, repo, sample_model):
|
||||
"""Test get_paginated with limit and offset."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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_model]
|
||||
@@ -238,7 +238,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_paginated_empty_results(self, repo):
|
||||
"""Test get_paginated with no results."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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 = []
|
||||
@@ -256,7 +256,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_active_returns_active_model(self, repo, active_model):
|
||||
"""Test get_active returns the active model."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.first.return_value = active_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -270,7 +270,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_get_active_returns_none(self, repo):
|
||||
"""Test get_active returns None when no active model."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.first.return_value = None
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -287,7 +287,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_activate_activates_model(self, repo, sample_model, active_model):
|
||||
"""Test activate sets model as active and deactivates others."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.all.return_value = [active_model]
|
||||
mock_session.get.return_value = sample_model
|
||||
@@ -304,7 +304,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_activate_with_uuid(self, repo, sample_model):
|
||||
"""Test activate works with UUID object."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.all.return_value = []
|
||||
mock_session.get.return_value = sample_model
|
||||
@@ -318,7 +318,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_activate_returns_none_when_not_found(self, repo):
|
||||
"""Test activate returns None when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.all.return_value = []
|
||||
mock_session.get.return_value = None
|
||||
@@ -332,7 +332,7 @@ class TestModelVersionRepository:
|
||||
def test_activate_sets_activated_at(self, repo, sample_model):
|
||||
"""Test activate sets activated_at timestamp."""
|
||||
sample_model.activated_at = None
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.exec.return_value.all.return_value = []
|
||||
mock_session.get.return_value = sample_model
|
||||
@@ -349,7 +349,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_deactivate_deactivates_model(self, repo, active_model):
|
||||
"""Test deactivate sets model as inactive."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = active_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -364,7 +364,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_deactivate_with_uuid(self, repo, active_model):
|
||||
"""Test deactivate works with UUID object."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = active_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -376,7 +376,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_deactivate_returns_none_when_not_found(self, repo):
|
||||
"""Test deactivate returns None when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -392,7 +392,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_update_updates_model(self, repo, sample_model):
|
||||
"""Test update updates model metadata."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -409,7 +409,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_update_all_fields(self, repo, sample_model):
|
||||
"""Test update can update all fields."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -428,7 +428,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_update_with_uuid(self, repo, sample_model):
|
||||
"""Test update works with UUID object."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -440,7 +440,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_update_returns_none_when_not_found(self, repo):
|
||||
"""Test update returns None when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -453,7 +453,7 @@ class TestModelVersionRepository:
|
||||
def test_update_partial_fields(self, repo, sample_model):
|
||||
"""Test update only updates provided fields."""
|
||||
original_name = sample_model.name
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -474,7 +474,7 @@ class TestModelVersionRepository:
|
||||
def test_archive_archives_model(self, repo, sample_model):
|
||||
"""Test archive sets model status to archived."""
|
||||
sample_model.is_active = False
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -489,7 +489,7 @@ class TestModelVersionRepository:
|
||||
def test_archive_with_uuid(self, repo, sample_model):
|
||||
"""Test archive works with UUID object."""
|
||||
sample_model.is_active = False
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -501,7 +501,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_archive_returns_none_when_not_found(self, repo):
|
||||
"""Test archive returns None when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -513,7 +513,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_archive_returns_none_when_active(self, repo, active_model):
|
||||
"""Test archive returns None when model is active."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = active_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -530,7 +530,7 @@ class TestModelVersionRepository:
|
||||
def test_delete_returns_true(self, repo, sample_model):
|
||||
"""Test delete returns True when model exists and not active."""
|
||||
sample_model.is_active = False
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -545,7 +545,7 @@ class TestModelVersionRepository:
|
||||
def test_delete_with_uuid(self, repo, sample_model):
|
||||
"""Test delete works with UUID object."""
|
||||
sample_model.is_active = False
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = sample_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
@@ -557,7 +557,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_delete_returns_false_when_not_found(self, repo):
|
||||
"""Test delete returns False when model not found."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_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)
|
||||
@@ -570,7 +570,7 @@ class TestModelVersionRepository:
|
||||
|
||||
def test_delete_returns_false_when_active(self, repo, active_model):
|
||||
"""Test delete returns False when model is active."""
|
||||
with patch("inference.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
with patch("backend.data.repositories.model_version_repository.get_session_context") as mock_ctx:
|
||||
mock_session = MagicMock()
|
||||
mock_session.get.return_value = active_model
|
||||
mock_ctx.return_value.__enter__ = MagicMock(return_value=mock_session)
|
||||
|
||||
Reference in New Issue
Block a user