refactor(backend)!: separate algorithm and data layers
Reorganize algorithm packages by business responsibility, move orchestration into services, and keep database access behind pooled repositories. Harden analysis API validation, remove unsafe legacy simulation endpoints, and add regression and architecture boundary coverage. BREAKING CHANGE: legacy algorithm module paths and obsolete simulation endpoints are removed.
This commit is contained in:
@@ -4,7 +4,7 @@ from unittest.mock import AsyncMock
|
||||
from uuid import uuid4
|
||||
|
||||
from app.api.v1.endpoints import project_data
|
||||
from app.infra.db.timescaledb import composite_queries
|
||||
from app.services import timeseries_analysis as composite_queries
|
||||
|
||||
|
||||
PROJECT_SCADA = {
|
||||
@@ -48,7 +48,7 @@ def test_realtime_scada_simulation_uses_current_project_metadata(monkeypatch):
|
||||
)
|
||||
|
||||
result = asyncio.run(
|
||||
composite_queries.CompositeQueries.get_scada_associated_realtime_simulation_data(
|
||||
composite_queries.TimeseriesAnalysisService.get_scada_associated_realtime_simulation_data(
|
||||
object(),
|
||||
object(),
|
||||
[PROJECT_SCADA["device_id"]],
|
||||
@@ -82,7 +82,7 @@ def test_analysis_scada_simulation_uses_current_project_metadata(monkeypatch):
|
||||
)
|
||||
|
||||
result = asyncio.run(
|
||||
composite_queries.CompositeQueries.get_scada_associated_analysis_simulation_data(
|
||||
composite_queries.TimeseriesAnalysisService.get_scada_associated_analysis_simulation_data(
|
||||
object(),
|
||||
object(),
|
||||
[PROJECT_SCADA["device_id"]],
|
||||
@@ -114,7 +114,7 @@ def test_element_scada_query_uses_current_project_metadata(monkeypatch):
|
||||
)
|
||||
|
||||
result = asyncio.run(
|
||||
composite_queries.CompositeQueries.get_element_associated_scada_data(
|
||||
composite_queries.TimeseriesAnalysisService.get_element_associated_scada_data(
|
||||
object(),
|
||||
object(),
|
||||
"J1",
|
||||
|
||||
Reference in New Issue
Block a user