class Manager(object): def __init__(self, path=config.get("haproxyfiles", "conf_files")): self.path = path self.config_files = ConfigFiles(self.path) def list(self, ftype): regex = r'.*-([a-zA-Z0-9]+).cfg' if ftype: files = glob.glob(self.path + "/*%s-*.cfg" % ftype) else: files = glob.glob(self.path + "/*.cfg") files = [{ "name": re.match(regex, f).group(1) } for f in glob.glob(self.path + "/*%s-*.cfg" % ftype) if os.path.isfile(f)] return files def get(self, ftype, fname): try: return self.config_files.read(ftype, fname) except IOError: return {} def update(self, ftype, fname, opts): self.config_files.update(ftype, fname, opts) def delete(self, ftype, fname): self.config_files.remove(ftype, fname)
class Manager(object): def __init__(self, path=config.get("haproxyfiles", "conf_files")): self.path = path self.config_files = ConfigFiles(self.path) def list(self, ftype): regex = r'.*-([a-zA-Z0-9]+).cfg' if ftype: files = glob.glob(self.path + "/*%s-*.cfg" % ftype) else: files = glob.glob(self.path + "/*.cfg") files = [ {"name": re.match(regex, f).group(1)} for f in glob.glob(self.path + "/*%s-*.cfg" % ftype) if os.path.isfile(f) ] return files def get(self, ftype, fname): try: return self.config_files.read(ftype, fname) except IOError: return {} def update(self, ftype, fname, opts): self.config_files.update(ftype, fname, opts) def delete(self, ftype, fname): self.config_files.remove(ftype, fname)
def setUp(self): self.test_path = 'tests/output/' self.manager = Manager(self.test_path) self.config_files = ConfigFiles(self.test_path) self.config_files.global_writer(DEFAULT_TEST_ARGS) self.config_files.backend_writer(DEFAULT_TEST_ARGS) self.config_files.frontend_writer(DEFAULT_TEST_ARGS)
def setUp(self): self.test_path = "tests/output/" self.manager = Manager(self.test_path) self.config_files = ConfigFiles(self.test_path) self.config_files.global_writer(DEFAULT_TEST_ARGS) self.config_files.backend_writer(DEFAULT_TEST_ARGS) self.config_files.frontend_writer(DEFAULT_TEST_ARGS)
class ManagerTest(unittest.TestCase): def setUp(self): self.test_path = 'tests/output/' self.manager = Manager(self.test_path) self.config_files = ConfigFiles(self.test_path) self.config_files.global_writer(DEFAULT_TEST_ARGS) self.config_files.backend_writer(DEFAULT_TEST_ARGS) self.config_files.frontend_writer(DEFAULT_TEST_ARGS) def tearDown(self): filelist = glob.glob(self.test_path + "/*.cfg") for f in filelist: os.remove(f) def test_list(self): file_list = [ { "name": "machine0001" }, ] self.assertEqual(self.manager.list("frontend"), file_list) def test_get(self): ftype, fname = "frontend", "machine0001" self.config_files.frontend_writer(DEFAULT_TEST_ARGS) self.assertNotEqual(len(self.manager.get(ftype, fname)), 0) def test_get_empty_value_for_nonexistant_config(self): ftype, fname = "frontend", "invalid0001" self.assertEqual(self.manager.get(ftype, fname), {}) def test_delete(self): ftype, fname = "frontend", "machine0001" self.config_files.frontend_writer(DEFAULT_TEST_ARGS) self.manager.delete(ftype, fname) def test_update(self): ftype, fname = "frontend", "machine0001" self.manager.update(ftype, fname, {"mode": "udp"})
class ManagerTest(unittest.TestCase): def setUp(self): self.test_path = 'tests/output/' self.manager = Manager(self.test_path) self.config_files = ConfigFiles(self.test_path) self.config_files.global_writer(DEFAULT_TEST_ARGS) self.config_files.backend_writer(DEFAULT_TEST_ARGS) self.config_files.frontend_writer(DEFAULT_TEST_ARGS) def tearDown(self): filelist = glob.glob(self.test_path + "/*.cfg") for f in filelist: os.remove(f) def test_list(self): file_list = [ {"name": "machine0001"}, ] self.assertEqual(self.manager.list("frontend"), file_list) def test_get(self): ftype, fname = "frontend", "machine0001" self.config_files.frontend_writer(DEFAULT_TEST_ARGS) self.assertNotEqual(len(self.manager.get(ftype, fname)), 0) def test_get_empty_value_for_nonexistant_config(self): ftype, fname = "frontend", "invalid0001" self.assertEqual(self.manager.get(ftype, fname), {}) def test_delete(self): ftype, fname = "frontend", "machine0001" self.config_files.frontend_writer(DEFAULT_TEST_ARGS) self.manager.delete(ftype, fname) def test_update(self): ftype, fname = "frontend", "machine0001" self.manager.update(ftype, fname, {"mode": "udp"})
class ConfigFilesTest(unittest.TestCase): def setUp(self): self.clazz = ConfigFiles('tests/output/') def test_global_file_writing(self): self.clazz.global_writer(DEFAULT_TEST_ARGS) def test_backend_file_writing(self): self.clazz.backend_writer(DEFAULT_TEST_ARGS) def test_frontend_file_writing(self): self.clazz.frontend_writer(DEFAULT_TEST_ARGS)
def setUp(self): self.clazz = ConfigFiles('tests/output/')
def __init__(self, path=config.get("haproxyfiles", "conf_files")): self.path = path self.config_files = ConfigFiles(self.path)