diff --git a/scripts/run_training_test.py b/scripts/run_training_test.py index d2a4f35..cb4ccc2 100644 --- a/scripts/run_training_test.py +++ b/scripts/run_training_test.py @@ -12,6 +12,7 @@ Prerequisites: - Temporal server reachable without TLS on TEMPORAL_HOST / TEMPORAL_NAMESPACE. - Python dependencies installed (see requirements.txt / requirements-dev.txt). """ + from __future__ import annotations import asyncio @@ -213,14 +214,16 @@ def main() -> None: print(f'Failed to start Temporal workflow: {exc}', file=sys.stderr) sys.exit(1) - print(json.dumps( - { - 'experiment_run_id': experiment_run_id, - 's3_object_name': uploaded_file_name, - 'workflow_id': workflow_id, - }, - indent=2, - )) + print( + json.dumps( + { + 'experiment_run_id': experiment_run_id, + 's3_object_name': uploaded_file_name, + 'workflow_id': workflow_id, + }, + indent=2, + ) + ) if __name__ == '__main__': diff --git a/tests/utils/repository/test_model_repository.py b/tests/utils/repository/test_model_repository.py index 9aaac77..72b18d9 100644 --- a/tests/utils/repository/test_model_repository.py +++ b/tests/utils/repository/test_model_repository.py @@ -224,7 +224,9 @@ def test_init_artifacts_data_success(mock_model_serving_class, mock_logger, mock @patch('model_manager.utils.repository.model_repository.ModelServing') -def test_init_artifacts_data_empty_x_train(mock_model_serving_class, mock_logger, mock_train_result): +def test_init_artifacts_data_empty_x_train( + mock_model_serving_class, mock_logger, mock_train_result +): """Test _init_artifacts_data raises ValueError when x_train is empty.""" from model_manager.utils.repository.model_repository import ModelRepository @@ -239,7 +241,9 @@ def test_init_artifacts_data_empty_x_train(mock_model_serving_class, mock_logger @patch('model_manager.utils.repository.model_repository.ModelServing') -def test_init_artifacts_data_empty_y_train(mock_model_serving_class, mock_logger, mock_train_result): +def test_init_artifacts_data_empty_y_train( + mock_model_serving_class, mock_logger, mock_train_result +): """Test _init_artifacts_data raises ValueError when y_train is empty.""" from model_manager.utils.repository.model_repository import ModelRepository @@ -331,7 +335,12 @@ def test_setup_run_directory_success(mock_open, mock_copy, mock_model_serving_cl @patch('model_manager.utils.repository.model_repository.Reports') @patch('builtins.open', create=True) def test_generate_report_with_equation( - mock_open, mock_reports_class, mock_json_dump, mock_model_serving_class, mock_logger, mock_train_result + mock_open, + mock_reports_class, + mock_json_dump, + mock_model_serving_class, + mock_logger, + mock_train_result, ): """Test _generate_report creates equation JSON artifact.""" from model_manager.utils.repository.model_repository import ModelRepository @@ -480,7 +489,9 @@ def test_save_run_missing_report( @patch('model_manager.utils.repository.model_repository.ModelServing') @patch('model_manager.utils.repository.model_repository.path.exists') -def test_save_run_none_metrics(mock_exists, mock_model_serving_class, mock_logger, mock_train_result): +def test_save_run_none_metrics( + mock_exists, mock_model_serving_class, mock_logger, mock_train_result +): """Test _save_run raises ValueError when metrics are None.""" from model_manager.utils.repository.model_repository import ModelRepository @@ -574,9 +585,7 @@ def test_init_artifacts_data_empty_y_test(mock_model_serving_class, mock_logger, @patch('model_manager.utils.repository.model_repository.ModelServing') @patch('model_manager.utils.repository.model_repository.makedirs') -def test_create_run_directory_os_error( - mock_makedirs, mock_model_serving_class, mock_logger -): +def test_create_run_directory_os_error(mock_makedirs, mock_model_serving_class, mock_logger): """Test _create_run_directory raises OSError.""" from model_manager.utils.repository.model_repository import ModelRepository @@ -631,9 +640,7 @@ def test_setup_run_directory_permission_error( @patch('model_manager.utils.repository.model_repository.ModelServing') @patch('model_manager.utils.repository.model_repository.shutil.copy') @patch('builtins.open', create=True) -def test_setup_run_directory_os_error( - mock_open, mock_copy, mock_model_serving_class, mock_logger -): +def test_setup_run_directory_os_error(mock_open, mock_copy, mock_model_serving_class, mock_logger): """Test _setup_run_directory raises OSError.""" from model_manager.utils.repository.model_repository import ModelRepository diff --git a/tests/utils/repository/test_training_repository.py b/tests/utils/repository/test_training_repository.py index a67bb7a..eb62618 100644 --- a/tests/utils/repository/test_training_repository.py +++ b/tests/utils/repository/test_training_repository.py @@ -80,7 +80,9 @@ class TestExtractModelEquation: assert result['coefficients']['var2'] == -0.75 assert result['coefficients']['var3'] == 2.25 - def test_extract_equation_string_format(self, training_repo, sample_params, sample_linear_model): + def test_extract_equation_string_format( + self, training_repo, sample_params, sample_linear_model + ): """Test equation string is formatted correctly.""" result = training_repo._extract_model_equation(sample_linear_model, sample_params) @@ -93,9 +95,7 @@ class TestExtractModelEquation: """Test LaTeX equation is formatted correctly.""" result = training_repo._extract_model_equation(sample_linear_model, sample_params) - expected_latex = ( - 'target = 10.500000 + 1.500000 \\cdot var1 + -0.750000 \\cdot var2 + 2.250000 \\cdot var3' - ) + expected_latex = 'target = 10.500000 + 1.500000 \\cdot var1 + -0.750000 \\cdot var2 + 2.250000 \\cdot var3' assert result['latex_equation'] == expected_latex def test_extract_equation_single_variable(self, training_repo, sample_linear_model): @@ -464,4 +464,3 @@ class TestAfterTrainCalculation: # Verify inverse_transform was called assert mock_scaler.inverse_transform.called assert result.y_pred is not None -