feat: enhance E2E testing setup and model reporting
- Added a new fixture to manage runtime report artifacts in a writable temp directory during E2E tests, addressing permission issues in local CI/dev environments. - Updated `conftest.py` to include a requirements.txt file in the model packaging path for training activities. - Refactored existing fixtures to use `pytest.fixture` instead of `pytest_asyncio.fixture` for better compatibility. - Enhanced the `Reports` class to include a target alias for report metrics, ensuring compatibility with Evidently's reporting requirements. - Introduced new test scenarios to validate the handling of missing and whitespace-only `date_column` inputs in the training workflow. These changes improve the robustness of the E2E testing framework and enhance the clarity of model reporting metrics.
This commit is contained in:
@@ -21,7 +21,7 @@ def _stub_evidently() -> None:
|
||||
sys.modules['evidently'] = ev
|
||||
|
||||
mp = ModuleType('evidently.metric_preset')
|
||||
mp.DataDriftPreset = _make_dummy('DataDriftPreset')
|
||||
mp.DataDriftPreset = _make_dummy('DataDriftPreset') # type: ignore[attr-defined]
|
||||
sys.modules['evidently.metric_preset'] = mp
|
||||
|
||||
metrics = ModuleType('evidently.metrics')
|
||||
@@ -47,22 +47,22 @@ def _stub_evidently() -> None:
|
||||
def generate_column_metrics(*_a, **_k):
|
||||
return []
|
||||
|
||||
base.generate_column_metrics = generate_column_metrics
|
||||
base.generate_column_metrics = generate_column_metrics # type: ignore[attr-defined]
|
||||
sys.modules['evidently.metrics.base_metric'] = base
|
||||
|
||||
opt = ModuleType('evidently.options')
|
||||
opt.ColorOptions = _make_dummy('ColorOptions')
|
||||
opt.ColorOptions = _make_dummy('ColorOptions') # type: ignore[attr-defined]
|
||||
sys.modules['evidently.options'] = opt
|
||||
|
||||
pipeline = ModuleType('evidently.pipeline')
|
||||
sys.modules['evidently.pipeline'] = pipeline
|
||||
|
||||
colmap = ModuleType('evidently.pipeline.column_mapping')
|
||||
colmap.ColumnMapping = _make_dummy('ColumnMapping')
|
||||
colmap.ColumnMapping = _make_dummy('ColumnMapping') # type: ignore[attr-defined]
|
||||
sys.modules['evidently.pipeline.column_mapping'] = colmap
|
||||
|
||||
rep = ModuleType('evidently.report')
|
||||
rep.Report = _make_dummy('Report')
|
||||
rep.Report = _make_dummy('Report') # type: ignore[attr-defined]
|
||||
sys.modules['evidently.report'] = rep
|
||||
|
||||
|
||||
@@ -82,9 +82,9 @@ def pytest_configure(config) -> None: # noqa: ARG001
|
||||
def treat_nan(input_data, *_a, **_k):
|
||||
return input_data
|
||||
|
||||
df_pre.create_features = create_features
|
||||
df_pre.limit_dataset = limit_dataset
|
||||
df_pre.treat_nan = treat_nan
|
||||
df_pre.create_features = create_features # type: ignore[attr-defined]
|
||||
df_pre.limit_dataset = limit_dataset # type: ignore[attr-defined]
|
||||
df_pre.treat_nan = treat_nan # type: ignore[attr-defined]
|
||||
sys.modules['sientia_do.operations.df_preprocessor'] = df_pre
|
||||
|
||||
sys.modules.setdefault('sientia_do.operations', ModuleType('sientia_do.operations'))
|
||||
@@ -97,7 +97,7 @@ def pytest_configure(config) -> None: # noqa: ARG001
|
||||
|
||||
pass
|
||||
|
||||
ts_an.TimeSeriesDiscontinuityAnalyzer = TimeSeriesDiscontinuityAnalyzer
|
||||
ts_an.TimeSeriesDiscontinuityAnalyzer = TimeSeriesDiscontinuityAnalyzer # type: ignore[attr-defined]
|
||||
sys.modules['sientia_do.timeseries.analyzer'] = ts_an
|
||||
|
||||
sys.modules.setdefault('sientia_do.timeseries', ModuleType('sientia_do.timeseries'))
|
||||
|
||||
Reference in New Issue
Block a user