@@ -46,6 +46,11 @@ def config():
4646 return Config (region_name = "us-east-1" )
4747
4848
49+ @pytest .fixture
50+ def mock_binary_value () -> str :
51+ return "ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lJeE1qTTBOVFkzT0Rrd0lpd2libUZ0WlNJNklrcHZhRzRnUkc5bElpd2lhV0YwSWpveE5URTJNak01TURJeWZRLlNmbEt4d1JKU01lS0tGMlFUNGZ3cE1lSmYzNlBPazZ5SlZfYWRRc3N3NWMK" # noqa: E501
52+
53+
4954def build_get_parameters_stub (params : Dict [str , Any ], invalid_parameters : List [str ] | None = None ) -> Dict [str , List ]:
5055 invalid_parameters = invalid_parameters or []
5156 version = random .randrange (1 , 1000 )
@@ -1186,6 +1191,31 @@ def test_secrets_provider_get(mock_name, mock_value, config):
11861191 stubber .deactivate ()
11871192
11881193
1194+ def test_secrets_provider_get_binary_secret (mock_name , mock_binary_value , config ):
1195+ # GIVEN a new provider
1196+ provider = parameters .SecretsProvider (config = config )
1197+ expected_params = {"SecretId" : mock_name }
1198+ expected_response = {
1199+ "ARN" : f"arn:aws:secretsmanager:us-east-1:132456789012:secret/{ mock_name } " ,
1200+ "Name" : mock_name ,
1201+ "VersionId" : "edc66e31-3d5f-4276-aaa1-95ed44cfed72" ,
1202+ "SecretBinary" : mock_binary_value ,
1203+ "CreatedDate" : datetime (2015 , 1 , 1 ),
1204+ }
1205+
1206+ stubber = stub .Stubber (provider .client )
1207+ stubber .add_response ("get_secret_value" , expected_response , expected_params )
1208+ stubber .activate ()
1209+
1210+ try :
1211+ value = provider .get (mock_name )
1212+ stubber .assert_no_pending_responses ()
1213+ finally :
1214+ stubber .deactivate ()
1215+
1216+ assert value == mock_binary_value
1217+
1218+
11891219def test_secrets_provider_get_with_custom_client (mock_name , mock_value , config ):
11901220 """
11911221 Test SecretsProvider.get() with a non-cached value
0 commit comments