def test_global_environment_defaults(self): config = Config({ Config.CONFIG_KEY: { 'global-environment-defaults' : { 'env1': { 'test1': 'env1', 'test2': 'test2' }, 'env2': { 'test1': 'env2', 'test3': 'test3' } } } }) self.assertEqual(config.global_defaults, {}) self.assertEqual( ConfigValue.convert_leaves_to_values(config.global_environment_defaults), { 'env1': { 'environment-name' : 'env1', 'test1' : 'env1', 'test2' : 'test2' }, 'env2': { 'environment-name' : 'env2', 'test1' : 'env2', 'test3' : 'test3' } } ) self.assertEqual( ConfigValue.convert_leaves_to_values( config.get_global_environment_defaults_for_environment('env1') ), { 'environment-name' : 'env1', 'test1' : 'env1', 'test2' : 'test2' } ) self.assertEqual( ConfigValue.convert_leaves_to_values( config.get_global_environment_defaults_for_environment('env2') ), { 'environment-name' : 'env2', 'test1' : 'env2', 'test3' : 'test3' } ) self.assertEqual(config.get_global_environment_defaults_for_environment('does-not-exist'), {}) self.assertEqual(config.get_global_environment_defaults_for_environment(None), {})
def test_merge_valid_global_environment_defaults_same_env_diff_keys(self): with TempDirectory() as temp_dir: config_dir = "test" config_files = [ { 'name': os.path.join(config_dir,'foo.yml'), 'contents' : { Config.CONFIG_KEY: { 'global-environment-defaults' : { 'env1' : { 'foo-key': 'foo' } } } } }, { 'name': os.path.join(config_dir,'bar.yml'), 'contents' : { Config.CONFIG_KEY: { 'global-environment-defaults' : { 'env1' : { 'bar-key': 'bar' } } } } }, ] for config_file in config_files: config_file_name = config_file['name'] config_file_contents = config_file['contents'] temp_dir.write( config_file_name, bytes(f"{config_file_contents}", 'utf-8') ) config = Config() config.add_config(os.path.join(temp_dir.path, config_dir)) self.assertEqual( ConfigValue.convert_leaves_to_values( config.get_global_environment_defaults_for_environment('env1') ), { 'environment-name': 'env1', 'foo-key': 'foo', 'bar-key': 'bar' } )