def test_settings_with_environment(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'settings.yml', default_section='config') base_settings = test_settings.get_settings('config_cool') self.assertEqual(base_settings.greet, 'Howdy') self.assertEqual(base_settings.leave, 'Goodbye')
def get_config(run_env="train"): global _config if _config is not None: return _config app_settings = YamlSettings("defaults.yml", "settings.yml", default_section=run_env) return app_settings.get_settings(run_env)
def test_settings_without_optional_override_file(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'no_settings.yml', override_required=False) base_settings = test_settings.get_settings() self.assertEqual(base_settings.config.greet, 'Hello') self.assertEqual(base_settings.config.leave, 'Goodbye')
def test_settings_without_sections_with_environment(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults_no_sec.yml', 'settings_no_sec.yml', override_envs=True) base_settings = test_settings.get_settings() self.assertEqual(base_settings.config.greet, 'Howdy') self.assertEqual(base_settings.config.leave, 'Later')
def test_settings_without_sections(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults_no_sec.yml', 'settings_no_sec.yml') base_settings = test_settings.get_settings() self.assertEqual(base_settings.config.greet, 'Why hello good sir or mam.') self.assertEqual(base_settings.config.leave, 'Goodbye')
def test_settings_with_environment_pre(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'settings.yml', default_section='config', envs_override_defaults_only=True) base_settings = test_settings.get_settings('config_cool') self.assertEqual(base_settings.greet, 'Sup...') self.assertEqual(base_settings.leave, 'Later')
def test_settings_without_sections_with_environment_pre(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults_no_sec.yml', 'settings_no_sec.yml', override_envs=True, envs_override_defaults_only=True) base_settings = test_settings.get_settings() self.assertEqual(base_settings.config.greet, 'Why hello good sir or mam.') self.assertEqual(base_settings.config.leave, 'Later')
def test_settings_with_sections(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'settings.yml', default_section='config') # Verify Base Settings base_settings = test_settings.get_settings() self.assertEqual(base_settings.greet, 'Hello') self.assertEqual(base_settings.leave, 'Goodbye') self.assertEqual(base_settings.secret, 'I have many secrets') # Verify Excited Settings (greet overridden, leave inherits) excited_settings = test_settings.get_settings('config_excited') self.assertEqual(excited_settings.greet, 'Whazzzzup!') self.assertEqual(excited_settings.leave, 'Goodbye') # Verify Cool Settings (greet overridden, leave inherits) cool_settings = test_settings.get_settings('config_cool') self.assertEqual(cool_settings.greet, 'Sup...') self.assertEqual(cool_settings.leave, 'Goodbye')
def load_settings(self): """Load the settings and make them available in the global config.""" settings_file = os.environ.get("ROPHAKO_SETTINGS", "settings.yml") project_settings = YamlSettings("defaults.yml", settings_file, default_section="rophako") self.settings = project_settings.get_settings() # Extrapolate {basedir} in certain keys. # TODO: find a better way... self.site.site_root = self.site.site_root.format(basedir=basedir) self.emoticons.root_private = self.emoticons.root_private.format( basedir=basedir) self.photo.root_private = self.photo.root_private.format( basedir=basedir) self.blog.copyright = self.blog.copyright.format( year=datetime.datetime.utcnow().strftime("%Y"))
def load_settings(self): """Load the settings and make them available in the global config.""" settings_file = os.environ.get("ROPHAKO_SETTINGS", "settings.yml") project_settings = YamlSettings("defaults.yml", settings_file, default_section="rophako") self.settings = project_settings.get_settings() # Extrapolate {basedir} in certain keys. # TODO: find a better way... self.site.site_root = self.site.site_root.format(basedir=basedir) self.emoticons.root_private = self.emoticons.root_private.format( basedir=basedir ) self.photo.root_private = self.photo.root_private.format(basedir=basedir) self.blog.copyright = self.blog.copyright.format( year=datetime.datetime.utcnow().strftime("%Y") )
def test_serialization(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'settings.yml', default_section='config') base_settings = test_settings.get_settings() self.assertEqual( dict(base_settings), { 'greet': 'Hello', 'leave': 'Goodbye', 'secret': 'I have many secrets', 'meaning': 42 }) self.assertEqual( json.dumps(base_settings), '{"greet": "Hello", "leave": "Goodbye", ' '"secret": "I have many secrets", "meaning": 42}')
def test_serialization(self, open_patch): open_patch.side_effect = open_override test_settings = YamlSettings('defaults.yml', 'settings.yml', default_section='config') base_settings = test_settings.get_settings() self.assertEqual( dict(base_settings), { 'greet': 'Hello', 'leave': 'Goodbye', 'secret': 'I have many secrets', 'meaning': 42 } ) self.assertEqual( json.dumps(base_settings), '{"greet": "Hello", "leave": "Goodbye", ' '"secret": "I have many secrets", "meaning": 42}' )
def load_config(self): """Load the configuration file from disk.""" project_settings = YamlSettings(self.config_defaults, self.config, default_section="admiral") self.c = project_settings.get_settings()