QTZPOC-13

fix coverage
This commit is contained in:
2026-08-20 08:28:45 -03:00
parent d7bf36605d
commit 03ac4b31e5

View File

@@ -1972,6 +1972,30 @@ async def test_load_transform_model_both_attempts_fail_emits_error_metric(
assert emitted_tags(mlflow_repository.emit_metric, metrics.MODEL_READ_COUNT) == [] assert emitted_tags(mlflow_repository.emit_metric, metrics.MODEL_READ_COUNT) == []
@patch(JOBLIB_PATH)
@pytest.mark.asyncio
async def test_download_model_wrapper_both_attempts_fail_chains_causes(
joblib_mock, mlflow, mlflow_repository, tmp_path
):
flavor_error = Exception('flavor boom')
artifact_dir = build_artifact_dir(tmp_path, 'MLmodel', 'python_model.pkl')
mlflow_repository.dowload_artifacts = AsyncMock(return_value=artifact_dir)
mlflow.pyfunc.load_model.side_effect = flavor_error
joblib_mock.load.side_effect = ValueError('joblib boom')
with pytest.raises(ValueError) as exc_info:
await mlflow_repository.download_model('test_model', {}, 'predict', 'pyfunc', True)
assert str(exc_info.value) == 'joblib boom'
assert exc_info.value.__cause__ is flavor_error
error_tags = emitted_tags(mlflow_repository.emit_metric, metrics.MODEL_READ_ERROR_COUNT)
assert len(error_tags) == 1
assert error_tags[0]['operation_type'] == 'download_model_wrapper_joblib_fallback'
assert emitted_tags(mlflow_repository.emit_metric, metrics.MODEL_READ_COUNT) == []
mlflow_repository.observe_lag.assert_not_called()
@patch(JOBLIB_PATH) @patch(JOBLIB_PATH)
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_load_predict_model_fallback_success_metrics( async def test_load_predict_model_fallback_success_metrics(