SIENTIAPDE-1241: Remove model equation implementation documentation and add test coverage for _generate_artifacts in ModelRepository.

This commit is contained in:
Bruno Domingues
2025-10-30 14:56:10 -03:00
parent a5c0cb6e47
commit f5c1ac3615
2 changed files with 45 additions and 78 deletions

View File

@@ -802,3 +802,48 @@ def test_generate_artifacts_header_not_found(
with pytest.raises(FileNotFoundError, match='Header file does not exist'):
repo._generate_artifacts(mock_train_result)
@patch('model_manager.utils.repository.model_repository.ModelServing')
@patch('model_manager.utils.repository.model_repository.path.exists')
@patch('model_manager.utils.repository.model_repository.path.join')
def test_generate_artifacts_success(
mock_join, mock_exists, mock_model_serving_class, mock_logger, mock_train_result
):
"""Test _generate_artifacts success case covering lines 147-148."""
from model_manager.utils.repository.model_repository import ModelRepository
repo = ModelRepository(
url='http://mlflow.test', username='user', password='pass', logger=mock_logger
)
# Mock path.join to return predictable paths
def join_side_effect(*args):
return '/'.join(args)
mock_join.side_effect = join_side_effect
mock_exists.return_value = True # Both reports dir and header.html exist
# Mock the internal methods to avoid actual file operations
with (
patch.object(repo, '_setup_run_directory') as mock_setup,
patch.object(repo, '_generate_report') as mock_generate_report,
patch.object(repo, '_init_artifacts_data') as mock_init_data,
patch.object(repo, '_get_reports_directory') as mock_get_reports_dir,
patch.object(repo, '_create_run_directory') as mock_create_run_dir,
):
# Setup mocks
mock_init_data.return_value = (pd.DataFrame(), pd.DataFrame())
mock_get_reports_dir.return_value = '/reports'
mock_create_run_dir.return_value = '/reports/run_1'
mock_generate_report.return_value = mock_train_result
# Call the method
result = repo._generate_artifacts(mock_train_result)
# Verify the methods on lines 147-148 were called
mock_setup.assert_called_once_with('/reports/run_1', '/reports/header.html')
mock_generate_report.assert_called_once()
# Verify result
assert result == mock_train_result