1818
1919
2020class SchemaTestDataSetup (TestCase ):
21- original_cred_file = None
22- original_config_file = None
23- original_profile = None
24- original_region = None
21+ original_cred_file : str
22+ original_config_file : str
23+ original_profile : str
24+ original_region : str
2525
2626 @classmethod
2727 def setUpClass (cls ):
28+ env = os .environ
29+ if AWS_CONFIG_FILE in env :
30+ cls .original_config_file = env [AWS_CONFIG_FILE ]
31+ if AWS_SHARED_CREDENTIALS_FILE in env :
32+ cls .original_cred_file = env [AWS_SHARED_CREDENTIALS_FILE ]
33+ if AWS_PROFILE in env :
34+ cls .original_profile = env [AWS_PROFILE ]
35+ if AWS_DEFAULT_REGION in env :
36+ cls .original_region = env [AWS_DEFAULT_REGION ]
37+
2838 session = Session ()
2939 schemas_client = session .client ("schemas" , region_name = session .region_name )
3040 # all setup is done here to avoid creating side effects in test. Currently we are using CLI and
@@ -55,17 +65,33 @@ def setUpClass(cls):
5565 runner = CliRunner ()
5666 runner .invoke (init_cmd , ["--output-dir" , temp ], input = user_input )
5767
68+ def tearDown (self ) -> None :
69+ env = os .environ
70+ if env .get (AWS_CONFIG_FILE ):
71+ del env [AWS_CONFIG_FILE ]
72+ if self .original_config_file :
73+ env [AWS_CONFIG_FILE ] = self .original_config_file
74+
75+ if env .get (AWS_SHARED_CREDENTIALS_FILE ):
76+ del env [AWS_SHARED_CREDENTIALS_FILE ]
77+ if self .original_cred_file :
78+ env [AWS_SHARED_CREDENTIALS_FILE ] = self .original_cred_file
79+
80+ if env .get (AWS_PROFILE ):
81+ del env [AWS_PROFILE ]
82+ if self .original_profile :
83+ env [AWS_PROFILE ] = self .original_profile
84+
85+ if env .get (AWS_DEFAULT_REGION ):
86+ del env [AWS_DEFAULT_REGION ]
87+ if self .original_region :
88+ env [AWS_DEFAULT_REGION ] = self .original_region
89+
90+ shutil .rmtree (self .config_dir , ignore_errors = True )
91+
5892 def _init_custom_config (self , profile , region ):
5993 self .config_dir = tempfile .mkdtemp ()
6094 env = os .environ
61- if AWS_CONFIG_FILE in env :
62- self .original_config_file = env [AWS_CONFIG_FILE ]
63- if AWS_SHARED_CREDENTIALS_FILE in env :
64- self .original_cred_file = env [AWS_SHARED_CREDENTIALS_FILE ]
65- if AWS_PROFILE in env :
66- self .original_profile = env [AWS_PROFILE ]
67- if AWS_DEFAULT_REGION in env :
68- self .original_region = env [AWS_DEFAULT_REGION ]
6995
7096 custom_config = self ._create_config_file (profile , region )
7197 session = Session ()
@@ -81,31 +107,6 @@ def _init_custom_config(self, profile, region):
81107 env [AWS_PROFILE ] = profile
82108 env [AWS_DEFAULT_REGION ] = region
83109
84- def _tear_down_custom_config (self ):
85- env = os .environ
86-
87- if self .original_config_file is None :
88- del env [AWS_CONFIG_FILE ]
89- else :
90- env [AWS_CONFIG_FILE ] = self .original_config_file
91-
92- if self .original_cred_file is None :
93- del env [AWS_SHARED_CREDENTIALS_FILE ]
94- else :
95- env [AWS_SHARED_CREDENTIALS_FILE ] = self .original_cred_file
96-
97- if self .original_profile is None :
98- del env [AWS_PROFILE ]
99- else :
100- env [AWS_PROFILE ] = self .original_profile
101-
102- if self .original_region is None :
103- del env [AWS_DEFAULT_REGION ]
104- else :
105- env [AWS_DEFAULT_REGION ] = self .original_region
106-
107- shutil .rmtree (self .config_dir , ignore_errors = True )
108-
109110 def _create_config_file (self , profile , region ):
110111 if profile == DEFAULT :
111112 config_file_content = "[{0}]\n output = json\n region = {1}" .format (profile , region )
0 commit comments