"""Model Tests for Distribution Format.""" from unittest.mock import MagicMock from unittest.mock import patch from sqlalchemy.exc import SQLAlchemyError from tests.testutils import db from product_configuration.models import distribution_format @db.test_schema def test_get_all_formats(distribution_formats): """Test successful retrieval and mapping of distribution_formats.""" db.insert_distribution_format_data() result = distribution_format.get_all_formats() assert result.status == 200 assert result.message == distribution_formats @patch('product_configuration.connectors.mysql._db_session') def test_get_all_formats_db_failure( db_session, sentry_sdk_capture_exception_mock): """Test fatal db error when retrieving mapping of distribution_formats.""" session = MagicMock() session.query = MagicMock(side_effect=SQLAlchemyError()) db_session.return_value = session response = distribution_format.get_all_formats() assert response.status == 500 sentry_sdk_capture_exception_mock.assert_called_once() @db.test_schema def test_get_distribution_format_by_distribution_format_id( distribution_format_value): """Retrieval of distribution formats.""" db.insert_distribution_format_data() distribution_format_id = 2 result = distribution_format. \ get_distribution_format_by_distribution_format_id( distribution_format_id) assert result == distribution_format_value