33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
import unittest
|
|
from pgbouncemgr.node_config import *
|
|
|
|
|
|
class NodeConfigTests(unittest.TestCase):
|
|
def test_CreateNewNodeConfig(self):
|
|
config = NodeConfig("test")
|
|
|
|
self.assertEqual("test", config.node_id)
|
|
self.assertEqual(None, config.pgbouncer_config)
|
|
self.assertEqual(None, config.host)
|
|
self.assertEqual(None, config.port)
|
|
|
|
def test_WithNonExistentFile_SetPgbouncerConfig_RaisesException(self):
|
|
config = NodeConfig("test")
|
|
with self.assertRaises(InvalidConfigValue) as context:
|
|
config.pgbouncer_config = "/path/to/non-existent/config.ini"
|
|
self.assertIn("key=nodes[test].pgbouncer_config", str(context.exception))
|
|
self.assertIn("/non-existent/config.ini", str(context.exception))
|
|
|
|
def test_WithExistingFile_SetPgbouncerConfig_UpdatesConfig(self):
|
|
config = NodeConfig("test")
|
|
ini = os.path.join(
|
|
os.path.dirname(os.path.realpath(__file__)),
|
|
"testfiles", "pgbouncer.ini")
|
|
config.pgbouncer_config = ini
|
|
|
|
self.assertEqual(ini, config.pgbouncer_config)
|
|
|