pgbouncemgr/tests/test_node_config.py

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)