1+ from __future__ import annotations
2+
13import base64
24import json
35import random
46import string
57import uuid
68from datetime import datetime , timedelta
79from io import BytesIO
8- from typing import Any , Dict , List , Optional , Tuple , Union
10+ from typing import Any
911
1012import boto3
1113import pytest
@@ -52,9 +54,9 @@ def mock_binary_value() -> str:
5254
5355
5456def build_get_parameters_stub (
55- params : Dict [str , Any ],
56- invalid_parameters : Optional [ List [ str ]] = None ,
57- ) -> Dict [str , List ]:
57+ params : dict [str , Any ],
58+ invalid_parameters : list [ str ] | None = None ,
59+ ) -> dict [str , list ]:
5860 invalid_parameters = invalid_parameters or []
5961 version = random .randrange (1 , 1000 )
6062 return {
@@ -527,7 +529,7 @@ def set(self, name: str, value: Any, *, overwrite: bool = False, **kwargs) -> st
527529 def _get (self , name : str , ** kwargs ) -> str :
528530 raise NotImplementedError ()
529531
530- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
532+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
531533 raise NotImplementedError ()
532534
533535 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "ssm" , TestProvider ())
@@ -685,7 +687,7 @@ def set(self, name: str, value: Any, *, overwrite: bool = False, **kwargs) -> st
685687 def _get (self , name : str , ** kwargs ) -> str :
686688 raise NotImplementedError ()
687689
688- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
690+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
689691 raise NotImplementedError ()
690692
691693 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "secrets" , TestProvider ())
@@ -1025,7 +1027,7 @@ class TestProvider(BaseProvider):
10251027 def _get (self , name : str , ** kwargs ) -> str :
10261028 return mock_value
10271029
1028- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]: ...
1030+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]: ...
10291031
10301032 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "ssm" , TestProvider ())
10311033 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "secrets" , TestProvider ())
@@ -1875,7 +1877,7 @@ def _get(self, name: str, **kwargs) -> str:
18751877 assert name == mock_name
18761878 raise Exception ("test exception raised" )
18771879
1878- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1880+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
18791881 raise NotImplementedError ()
18801882
18811883 provider = TestProvider ()
@@ -1895,7 +1897,7 @@ class TestProvider(BaseProvider):
18951897 def _get (self , name : str , ** kwargs ) -> str :
18961898 raise NotImplementedError ()
18971899
1898- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1900+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
18991901 assert path == mock_name
19001902 raise Exception ("test exception raised" )
19011903
@@ -1919,7 +1921,7 @@ def _get(self, name: str, **kwargs) -> str:
19191921 assert name == mock_name
19201922 return mock_data
19211923
1922- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1924+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
19231925 raise NotImplementedError ()
19241926
19251927 provider = TestProvider ()
@@ -1943,7 +1945,7 @@ def _get(self, name: str, **kwargs) -> str:
19431945 assert name == mock_name
19441946 return mock_data
19451947
1946- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1948+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
19471949 raise NotImplementedError ()
19481950
19491951 provider = TestProvider ()
@@ -1967,7 +1969,7 @@ def _get(self, name: str, **kwargs) -> str:
19671969 assert name == mock_name
19681970 return mock_data
19691971
1970- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1972+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
19711973 raise NotImplementedError ()
19721974
19731975 provider = TestProvider ()
@@ -1991,7 +1993,7 @@ def _get(self, name: str, **kwargs) -> str:
19911993 assert name == mock_name
19921994 return mock_data
19931995
1994- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
1996+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
19951997 raise NotImplementedError ()
19961998
19971999 provider = TestProvider ()
@@ -2013,7 +2015,7 @@ class TestProvider(BaseProvider):
20132015 def _get (self , name : str , ** kwargs ) -> str :
20142016 raise NotImplementedError ()
20152017
2016- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2018+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
20172019 assert path == mock_name
20182020 return {"A" : mock_data }
20192021
@@ -2036,7 +2038,7 @@ class TestProvider(BaseProvider):
20362038 def _get (self , name : str , ** kwargs ) -> str :
20372039 raise NotImplementedError ()
20382040
2039- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2041+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
20402042 assert path == mock_name
20412043 return {"A" : mock_data , "B" : mock_data + "{" }
20422044
@@ -2060,7 +2062,7 @@ class TestProvider(BaseProvider):
20602062 def _get (self , name : str , ** kwargs ) -> str :
20612063 raise NotImplementedError ()
20622064
2063- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2065+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
20642066 assert path == mock_name
20652067 return {"A" : mock_data }
20662068
@@ -2084,7 +2086,7 @@ class TestProvider(BaseProvider):
20842086 def _get (self , name : str , ** kwargs ) -> str :
20852087 raise NotImplementedError ()
20862088
2087- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2089+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
20882090 assert path == mock_name
20892091 return {"A" : mock_data }
20902092
@@ -2109,7 +2111,7 @@ class TestProvider(BaseProvider):
21092111 def _get (self , name : str , ** kwargs ) -> str :
21102112 raise NotImplementedError ()
21112113
2112- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2114+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
21132115 assert path == mock_name
21142116 return {"A" : mock_data_a , "B" : mock_data_b }
21152117
@@ -2133,7 +2135,7 @@ class TestProvider(BaseProvider):
21332135 def _get (self , name : str , ** kwargs ) -> str :
21342136 raise NotImplementedError ()
21352137
2136- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2138+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
21372139 assert path == mock_name
21382140 return {"A" : mock_data }
21392141
@@ -2154,7 +2156,7 @@ class TestProvider(BaseProvider):
21542156 def _get (self , name : str , ** kwargs ) -> str :
21552157 raise NotImplementedError ()
21562158
2157- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2159+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
21582160 raise NotImplementedError ()
21592161
21602162 provider = TestProvider ()
@@ -2177,7 +2179,7 @@ class TestProvider(BaseProvider):
21772179 def _get (self , name : str , ** kwargs ) -> str :
21782180 raise NotImplementedError ()
21792181
2180- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2182+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
21812183 assert path == mock_name
21822184 return {"A" : mock_value }
21832185
@@ -2201,7 +2203,7 @@ def _get(self, name: str, **kwargs) -> str:
22012203 assert name == mock_name
22022204 return mock_value
22032205
2204- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2206+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
22052207 raise NotImplementedError ()
22062208
22072209 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "ssm" , TestProvider ())
@@ -2218,7 +2220,7 @@ class TestProvider(SSMProvider):
22182220 def __init__ (self , boto_config : Config = config , ** kwargs ):
22192221 super ().__init__ (boto_config = boto_config , ** kwargs )
22202222
2221- def get_parameters_by_name (self , * args , ** kwargs ) -> Union [ Dict [ str , str ], Dict [str , bytes ], Dict [str , dict ] ]:
2223+ def get_parameters_by_name (self , * args , ** kwargs ) -> dict [ str , str ] | dict [str , bytes ] | dict [str , dict ]:
22222224 return {mock_name : mock_value }
22232225
22242226 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "ssm" , TestProvider ())
@@ -2247,7 +2249,7 @@ def _get(self, name: str, decrypt: bool = False, **sdk_options) -> str:
22472249 assert decrypt
22482250 return decrypted_response
22492251
2250- def _get_parameters_by_name (self , * args , ** kwargs ) -> Tuple [ Dict [str , Any ], List [str ]]:
2252+ def _get_parameters_by_name (self , * args , ** kwargs ) -> tuple [ dict [str , Any ], list [str ]]:
22512253 return {mock_name : mock_value }, []
22522254
22532255 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "ssm" , TestProvider ())
@@ -2276,10 +2278,10 @@ def __init__(self, boto_config: Config = config, **kwargs):
22762278 # def _get_parameters_by_name(self, parameters: Dict[str, Dict], raise_on_error: bool = True) -> Dict[str, Any]:
22772279 def _get_parameters_by_name (
22782280 self ,
2279- parameters : Dict [str , Dict ],
2281+ parameters : dict [str , dict ],
22802282 raise_on_error : bool = True ,
22812283 decrypt : bool = False ,
2282- ) -> Tuple [ Dict [str , Any ], List [str ]]:
2284+ ) -> tuple [ dict [str , Any ], list [str ]]:
22832285 # THEN max_age should use no_cache_param override
22842286 assert parameters [mock_name ]["max_age" ] == 0
22852287 assert parameters ["no-override" ]["max_age" ] == default_cache_period
@@ -2302,10 +2304,10 @@ def __init__(self, boto_config: Config = config, **kwargs):
23022304
23032305 def _get_parameters_by_name (
23042306 self ,
2305- parameters : Dict [str , Dict ],
2307+ parameters : dict [str , dict ],
23062308 raise_on_error : bool = True ,
23072309 decrypt : bool = False ,
2308- ) -> Tuple [ Dict [str , Any ], List [str ]]:
2310+ ) -> tuple [ dict [str , Any ], list [str ]]:
23092311 # THEN we should always split to respect GetParameters max
23102312 assert len (parameters ) == self ._MAX_GET_PARAMETERS_ITEM
23112313 return {}, []
@@ -2325,7 +2327,7 @@ class TestProvider(SSMProvider):
23252327 def __init__ (self , boto_config : Config = config , ** kwargs ):
23262328 super ().__init__ (boto_config = boto_config , ** kwargs )
23272329
2328- def _get_parameters_by_name (self , * args , ** kwargs ) -> Tuple [ Dict [str , Any ], List [str ]]:
2330+ def _get_parameters_by_name (self , * args , ** kwargs ) -> tuple [ dict [str , Any ], list [str ]]:
23292331 raise RuntimeError ("Should not be called if it's in cache" )
23302332
23312333 provider = TestProvider ()
@@ -2389,7 +2391,7 @@ def _get(self, name: str, **kwargs) -> str:
23892391 assert not kwargs ["decrypt" ]
23902392 return mock_value
23912393
2392- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2394+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
23932395 raise NotImplementedError ()
23942396
23952397 monkeypatch .setattr (parameters .ssm , "DEFAULT_PROVIDERS" , {})
@@ -2409,7 +2411,7 @@ class TestProvider(BaseProvider):
24092411 def _get (self , name : str , ** kwargs ) -> str :
24102412 raise NotImplementedError ()
24112413
2412- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2414+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
24132415 assert path == mock_name
24142416 return {"A" : mock_value }
24152417
@@ -2430,7 +2432,7 @@ class TestProvider(BaseProvider):
24302432 def _get (self , name : str , ** kwargs ) -> str :
24312433 raise NotImplementedError ()
24322434
2433- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2435+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
24342436 assert path == mock_name
24352437 assert kwargs ["recursive" ]
24362438 assert not kwargs ["decrypt" ]
@@ -2454,7 +2456,7 @@ class TestProvider(SSMProvider):
24542456 def __init__ (self , boto_config : Config = config , ** kwargs ):
24552457 super ().__init__ (boto_config = boto_config , ** kwargs )
24562458
2457- def get_parameters_by_name (self , * args , ** kwargs ) -> Union [ Dict [ str , str ], Dict [str , bytes ], Dict [str , dict ] ]:
2459+ def get_parameters_by_name (self , * args , ** kwargs ) -> dict [ str , str ] | dict [str , bytes ] | dict [str , dict ]:
24582460 return {mock_name : mock_value }
24592461
24602462 monkeypatch .setattr (parameters .ssm , "DEFAULT_PROVIDERS" , {})
@@ -2475,7 +2477,7 @@ def _get(self, name: str, **kwargs) -> str:
24752477 assert name == mock_name
24762478 return mock_value
24772479
2478- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2480+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
24792481 raise NotImplementedError ()
24802482
24812483 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "secrets" , TestProvider ())
@@ -2495,7 +2497,7 @@ def _get(self, name: str, **kwargs) -> str:
24952497 assert name == mock_name
24962498 return mock_value
24972499
2498- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2500+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
24992501 raise NotImplementedError ()
25002502
25012503 monkeypatch .setattr (parameters .secrets , "DEFAULT_PROVIDERS" , {})
@@ -2689,7 +2691,7 @@ def _get(self, name: str, **kwargs) -> bytes:
26892691 assert name == mock_name
26902692 return mock_body_bytes
26912693
2692- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2694+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
26932695 raise NotImplementedError ()
26942696
26952697 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "appconfig" , TestProvider ())
@@ -2714,7 +2716,7 @@ def _get(self, name: str, **kwargs) -> str:
27142716 assert name == mock_name
27152717 return mock_body_bytes
27162718
2717- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2719+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
27182720 raise NotImplementedError ()
27192721
27202722 monkeypatch .setitem (parameters .base .DEFAULT_PROVIDERS , "appconfig" , TestProvider ())
@@ -2737,7 +2739,7 @@ def get(self, name: str, **kwargs) -> str:
27372739 def _get (self , name : str , ** kwargs ) -> str :
27382740 raise NotImplementedError ()
27392741
2740- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2742+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
27412743 raise NotImplementedError ()
27422744
27432745 monkeypatch .setattr (parameters .appconfig , "DEFAULT_PROVIDERS" , {})
@@ -2877,7 +2879,7 @@ class TestProvider(BaseProvider):
28772879 def _get (self , name : str , ** kwargs ) -> str :
28782880 raise NotImplementedError ()
28792881
2880- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2882+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
28812883 assert path == mock_name
28822884 return {"A" : mock_value }
28832885
@@ -2900,7 +2902,7 @@ class TestProvider(BaseProvider):
29002902 def _get (self , name : str , ** kwargs ) -> str :
29012903 return mock_value
29022904
2903- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2905+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
29042906 raise NotImplementedError ()
29052907
29062908 provider = TestProvider ()
@@ -2934,7 +2936,7 @@ class TestProvider(BaseProvider):
29342936 def _get (self , name : str , ** kwargs ) -> str :
29352937 raise ValueError ("This parameter doesn't exist" )
29362938
2937- def _get_multiple (self , path : str , ** kwargs ) -> Dict [str , str ]:
2939+ def _get_multiple (self , path : str , ** kwargs ) -> dict [str , str ]:
29382940 return {"A" : mock_value }
29392941
29402942 provider = TestProvider ()
0 commit comments