Pret-a-depenser / tests /unit /test_model_loading.py
celpri
Notebooks DataDrift
4b22893
raw
history blame contribute delete
994 Bytes
import pytest
from unittest.mock import patch, MagicMock
from src.model.model import load_model
# HF OK
@patch("src.model.model.joblib.load")
@patch("src.model.model.hf_hub_download")
def test_load_model_from_hf(mock_hf, mock_joblib):
mock_hf.return_value = "fake_path.joblib"
mock_joblib.return_value = "MODEL"
model = load_model()
assert model == "MODEL"
# HF échoue → MLflow OK
@patch("src.model.model.hf_hub_download", side_effect=Exception("HF fail"))
@patch("mlflow.sklearn.load_model")
def test_load_model_fallback_mlflow(mock_mlflow, mock_hf):
mock_mlflow.return_value = "MLFLOW_MODEL"
model = load_model()
assert model == "MLFLOW_MODEL"
# Tout échoue → FileNotFoundError
@patch("src.model.model.hf_hub_download", side_effect=Exception("HF fail"))
@patch("mlflow.sklearn.load_model", side_effect=Exception("MLflow fail"))
def test_load_model_raises_error(mock_mlflow, mock_hf):
with pytest.raises(FileNotFoundError):
load_model()