@@ -960,6 +960,53 @@ def test_ssm_provider_get_sdk_options_overwrite(mock_name, mock_value, mock_vers
960
960
stubber .deactivate ()
961
961
962
962
963
+ def test_ssm_provider_get_multiple_with_decrypt_environment_variable (monkeypatch , mock_name , mock_value , mock_version , config ):
964
+ """
965
+ Test SSMProvider.get_multiple() with decrypt value replaced by environment variable
966
+ """
967
+
968
+ # Setting environment variable to override the default value
969
+ monkeypatch .setenv ("POWERTOOLS_PARAMETERS_SSM_DECRYPT" , "true" )
970
+
971
+ mock_param_names = ["A" , "B" , "C" ]
972
+
973
+ # Create a new provider
974
+ provider = parameters .SSMProvider (config = config )
975
+
976
+ # Stub the boto3 client
977
+ stubber = stub .Stubber (provider .client )
978
+ response = {
979
+ "Parameters" : [
980
+ {
981
+ "Name" : f"{ mock_name } /{ name } " ,
982
+ "Type" : "String" ,
983
+ "Value" : f"{ mock_value } /{ name } " ,
984
+ "Version" : mock_version ,
985
+ "Selector" : f"{ mock_name } /{ name } :{ mock_version } " ,
986
+ "SourceResult" : "string" ,
987
+ "LastModifiedDate" : datetime (2015 , 1 , 1 ),
988
+ "ARN" : f"arn:aws:ssm:us-east-2:111122223333:parameter/{ mock_name } /{ name } " ,
989
+ }
990
+ for name in mock_param_names
991
+ ],
992
+ }
993
+ expected_params = {"Path" : mock_name , "Recursive" : False , "WithDecryption" : True }
994
+ stubber .add_response ("get_parameters_by_path" , response , expected_params )
995
+ stubber .activate ()
996
+
997
+ try :
998
+ values = provider .get_multiple (mock_name )
999
+
1000
+ stubber .assert_no_pending_responses ()
1001
+
1002
+ assert len (values ) == len (mock_param_names )
1003
+ for name in mock_param_names :
1004
+ assert name in values
1005
+ assert values [name ] == f"{ mock_value } /{ name } "
1006
+ finally :
1007
+ stubber .deactivate ()
1008
+
1009
+
963
1010
def test_ssm_provider_get_multiple (mock_name , mock_value , mock_version , config ):
964
1011
"""
965
1012
Test SSMProvider.get_multiple() with a non-cached path
0 commit comments