Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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"})
Exemplo n.º 6
0
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"})
Exemplo n.º 7
0
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)
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/')
Exemplo n.º 10
0
 def __init__(self, path=config.get("haproxyfiles", "conf_files")):
     self.path = path
     self.config_files = ConfigFiles(self.path)
Exemplo n.º 11
0
 def __init__(self, path=config.get("haproxyfiles", "conf_files")):
     self.path = path
     self.config_files = ConfigFiles(self.path)
Exemplo n.º 12
0
 def setUp(self):
     self.clazz = ConfigFiles('tests/output/')