def test_profile(self): self.assertEqual(self.session.get_config_variable('profile'), 'foo') self.assertEqual(self.session.get_config_variable('region'), 'us-west-11') self.session.get_config_variable('profile') == 'default' saved_region = self.environ['FOO_REGION'] del self.environ['FOO_REGION'] saved_profile = self.environ['FOO_PROFILE'] del self.environ['FOO_PROFILE'] session = create_session(session_vars=self.env_vars) self.assertEqual(session.get_config_variable('profile'), None) self.assertEqual(session.get_config_variable('region'), 'us-west-1') self.environ['FOO_REGION'] = saved_region self.environ['FOO_PROFILE'] = saved_profile
def test_supports_multiple_env_vars_for_single_logical_name(self): env_vars = { 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], None, None), } session = create_session(session_vars=env_vars) self.environ['BAR_DEFAULT_PROFILE'] = 'first' self.environ['BAR_PROFILE'] = 'second' self.assertEqual(session.get_config_variable('profile'), 'first')
def test_multiple_env_vars_uses_second_var(self): env_vars = { 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], None, None), } session = create_session(session_vars=env_vars) self.environ.pop('BAR_DEFAULT_PROFILE', None) self.environ['BAR_PROFILE'] = 'second' self.assertEqual(session.get_config_variable('profile'), 'second')
def test_type_conversions_occur_when_specified(self): # Specify that we can retrieve the var from the # FOO_TIMEOUT env var, with a conversion function # of int(). self.env_vars['metadata_service_timeout'] = (None, 'FOO_TIMEOUT', None, int) # Environment variables are always strings. self.environ['FOO_TIMEOUT'] = '10' session = create_session(session_vars=self.env_vars) # But we should type convert this to a string. self.assertEqual( session.get_config_variable('metadata_service_timeout'), 10)
def test_variable_does_not_exist(self): session = create_session(session_vars=self.env_vars) self.assertIsNone(session.get_config_variable('foo/bar'))