def test_default_config(self): """ Test various ways of defaulting config. """ files = [ "felix_missing.cfg", # does not exist "felix_empty.cfg", # empty file "felix_empty_section.cfg", # file with empty section "felix_extra.cfg", # extra config is just logged ] for filename in files: host = socket.gethostname() host_path = "/calico/host/%s/config/" % host config = Config("calico/felix/test/data/%s" % filename) cfg_dict = { "InterfacePrefix": "blah", "ExtraJunk": "whatever", #ignored "ResyncIntervalSecs": "123" } config.update_config(cfg_dict) # Test defaulting. self.assertEqual(config.ETCD_ADDR, "localhost:4001") self.assertEqual(config.HOSTNAME, host) self.assertEqual(config.IFACE_PREFIX, "blah") self.assertEqual(config.RESYNC_INT_SEC, 123)
def test_no_logfile(self): # Logging to file can be excluded by explicitly saying "none" host = socket.gethostname() host_path = "/calico/host/%s/config/" % host result = StubEtcdResult("/calico/config/") result.add_child("InterfacePrefix", "blah") result.add_child("LogFilePath", "NoNe") result = StubEtcdResult(host_path) config = Config("calico/felix/test/data/felix_missing.cfg") cfg_dict = { "InterfacePrefix": "blah", "LogFilePath": "None", "ResyncIntervalSecs": "123" } config.update_config(cfg_dict) self.assertEqual(config.LOGFILE, None)