"""Tests for the AWS SecretsManager connector.""" from unittest.mock import patch import boto3 from extract_sales.connectors.secrets_manager import get_secret_value from lambdacommon.common_config import AWS_DEFAULT_REGION from moto import mock_aws import pytest @mock_aws @patch('extract_sales.connectors.secrets_manager.config') def test_get_secret_value(mock_config): """Test getting a secret value from SecretsManager.""" mock_config.ENVIRONMENT = 'test' mock_config.APPLICATION_NAME = 'testapp' sm_client = boto3.client('secretsmanager', region_name=AWS_DEFAULT_REGION) sm_client.create_secret( Name='test/testapp/testsecret', SecretString='testvalue' ) secret_value = get_secret_value('testsecret') assert secret_value == 'testvalue' @mock_aws @patch('extract_sales.connectors.secrets_manager.config') def test_get_secret_value_missing(mock_config): """Test getting a missing secret value from SecretsManager.""" mock_config.ENVIRONMENT = 'test' mock_config.APPLICATION_NAME = 'testapp' with pytest.raises(Exception): get_secret_value('testsecret')