"""Configure test environment before any module imports.""" import logging import os from unittest.mock import MagicMock, patch import pytest # Set required environment variables before any other imports os.environ.setdefault("Environment", "test") # Patch LambdaSecretsManager to avoid real AWS calls during config import _mock_lambda_secrets = MagicMock() _mock_lambda_secrets.get_cred.return_value = "fake_api_key" patch( "secrets_manager.lambda_ext.LambdaSecretsManager", return_value=_mock_lambda_secrets, ).start() import config # noqa: E402 # Add app_logger to config if missing (used by AssetMezzanineCoverartEventLogger) if not hasattr(config, "app_logger"): config.app_logger = logging.getLogger("test") @pytest.fixture def hive_success_response(): """Return a successful Hive OCR payload with extracted text.""" return { "status": [ { "response": { "output": [ { "block_text": "Sample extracted text from image", } ] } } ] } @pytest.fixture def hive_empty_output_response(): """Return a Hive OCR payload with no output entries.""" return {"status": [{"response": {"output": []}}]} @pytest.fixture def hive_empty_string_response(): """Return a Hive OCR payload with an empty string block_text.""" return { "status": [ { "response": { "output": [ { "block_text": "", } ] } } ] } @pytest.fixture def hive_none_block_text_response(): """Return a Hive OCR payload with a null block_text.""" return { "status": [ { "response": { "output": [ { "block_text": None, } ] } } ] }