@@ -46,6 +46,11 @@ def config():
46
46
return Config (region_name = "us-east-1" )
47
47
48
48
49
+ @pytest .fixture
50
+ def mock_binary_value () -> str :
51
+ return "ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lJeE1qTTBOVFkzT0Rrd0lpd2libUZ0WlNJNklrcHZhRzRnUkc5bElpd2lhV0YwSWpveE5URTJNak01TURJeWZRLlNmbEt4d1JKU01lS0tGMlFUNGZ3cE1lSmYzNlBPazZ5SlZfYWRRc3N3NWMK" # noqa: E501
52
+
53
+
49
54
def build_get_parameters_stub (params : Dict [str , Any ], invalid_parameters : List [str ] | None = None ) -> Dict [str , List ]:
50
55
invalid_parameters = invalid_parameters or []
51
56
version = random .randrange (1 , 1000 )
@@ -1186,6 +1191,31 @@ def test_secrets_provider_get(mock_name, mock_value, config):
1186
1191
stubber .deactivate ()
1187
1192
1188
1193
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
+
1189
1219
def test_secrets_provider_get_with_custom_client (mock_name , mock_value , config ):
1190
1220
"""
1191
1221
Test SecretsProvider.get() with a non-cached value
0 commit comments