blob: 2e09fb71035cfe8aa3bd795f62f13c8b85dfe9b7 [file] [log] [blame]
import sys
import unittest
from multiprocessing.connection import Pipe
from postgresql_watcher import PostgresqlWatcher
from multiprocessing import connection, context
# Warning!!! , Please setup yourself config
HOST = "127.0.0.1"
PORT = 5432
USER = "postgres"
PASSWORD = "123456"
def get_watcher():
return PostgresqlWatcher(host=HOST, port=PORT, user=USER, password=PASSWORD)
pg_watcher = get_watcher()
try:
import _winapi
from _winapi import WAIT_OBJECT_0, WAIT_ABANDONED_0, WAIT_TIMEOUT, INFINITE
except ImportError:
if sys.platform == 'win32':
raise
_winapi = None
class TestConfig(unittest.TestCase):
def test_pg_watcher_init(self):
if _winapi:
assert isinstance(pg_watcher.parent_conn, connection.PipeConnection)
else:
assert isinstance(pg_watcher.parent_conn, connection.Connection)
assert isinstance(pg_watcher.subscribed_process, context.Process)
def test_update_pg_watcher(self):
assert pg_watcher.update() is True
def test_not_reload(self):
assert not pg_watcher.should_reload()
def test_default_update_callback(self):
assert pg_watcher.update_callback() is None
def test_add_update_callback(self):
def _test_callback():
pass
pg_watcher.set_update_callback(_test_callback)
assert pg_watcher.update_callback == _test_callback
if __name__ == "__main__":
unittest.main()