def testMergeBasicConfigs(self):
   old_config = yaml.load(CONFIG_A)
   new_config = yaml.load(CONFIG_B)
   config = configs.MergeConfigs(old_config, new_config)
   # Key is present in both configs.
   self.assertEqual(config['a']['flags']['flag1'], 'new_value')
   # Key is only present in default config.
   self.assertEqual(config['a']['flags']['flag2'], 'not_overwritten')
   # Key is only present in the override config.
   self.assertEqual(config['a']['flags']['flag3'], 'new_flag')
 def testLoadConfigDoesMerge(self):
   default = yaml.load(CONFIG_A)
   overrides = yaml.load(CONFIG_B)
   merged_config = configs.MergeConfigs(default, overrides)
   config = configs.LoadConfig(CONFIG_A, overrides['a'], CONFIG_NAME)
   self.assertEqual(merged_config['a'], config)
 def testMergeConfigWithNoOverrides(self):
   old_config = yaml.load(CONFIG_A)
   config = configs.MergeConfigs(old_config, None)
   self.assertEqual(config, old_config)