def test_config_file_is_set_in_environment_variable___specified_values_are_from_new_config_others_are_default(self, value): with NamedTemporaryFile('w') as f: f.writelines([ '[default]\n', 'LOG_LEVEL = {}\n'.format(value) ]) f.flush() os.environ['OASIS_INI_PATH'] = f.name settings = Settings() self.assertEqual(settings.get('default', 'LOG_LEVEL'), value) self.assertEqual(settings.get('default', 'MEDIA_ROOT'), '/shared-fs/')
def test_variable_is_set_in_default___default_value_is_returned(self, section, default): settings = Settings() settings.read_dict({ 'default': {'foo': default}, 'section': {'other': section} }) self.assertEqual(settings.get('section', 'foo'), default)
def test_variable_is_set_in_global_env_setting_and_default___env_value_is_returned(self, section, default, env): os.environ['OASIS_foo'] = env settings = Settings() settings.read_dict({ 'default': {'foo': default}, 'section': {'env': section} }) self.assertEqual(settings.get('section', 'foo'), env)
def _patch_settings(self, settings: dict): return mock.patch( self._load_setting_path, new=lambda name, default=None: lambda: settings.get(name, default), )