diff --git a/testgres/api.py b/testgres/api.py index 6bc276d5..472a422a 100644 --- a/testgres/api.py +++ b/testgres/api.py @@ -12,9 +12,9 @@ ... result = node.safe_psql('postgres', 'select 1') ... print(result.decode('utf-8').strip()) ... node.stop() - +PostgresNode(name='...', port=..., base_dir='...') 1 - +PostgresNode(name='...', port=..., base_dir='...') Or: @@ -27,7 +27,7 @@ ... master.execute('postgres', 'insert into test values (0), (1), (2)') ... replica.catchup() # wait until changes are visible ... print(replica.execute('postgres', 'select count(*) from test')) - +PostgresNode(name='...', port=..., base_dir='...') [(3,)] Copyright (c) 2016, Postgres Professional diff --git a/testgres/config.py b/testgres/config.py index 976263f7..e08baf1e 100644 --- a/testgres/config.py +++ b/testgres/config.py @@ -152,9 +152,11 @@ def scoped_config(**options): Temporarily set custom GlobalConfig options for this context. Example: + >>> from .api import get_new_node >>> with scoped_config(cache_initdb=False): ... with get_new_node().init().start() as node: ... print(node.execute('select 1')) + [(1,)] """ try: diff --git a/testgres/node.py b/testgres/node.py index 993837bf..3f0d52a2 100644 --- a/testgres/node.py +++ b/testgres/node.py @@ -135,6 +135,10 @@ def __exit__(self, type, value, traceback): else: self._try_shutdown(attempts) + def __repr__(self): + return "{}(name='{}', port={}, base_dir='{}')".format( + self.__class__.__name__, self.name, self.port, self.base_dir) + @property def pid(self): """ diff --git a/tests/test_simple.py b/tests/test_simple.py index 48f1130d..748d1df4 100755 --- a/tests/test_simple.py +++ b/tests/test_simple.py @@ -2,6 +2,7 @@ # coding: utf-8 import os +import re import subprocess import tempfile import testgres @@ -70,6 +71,11 @@ def removing(f): class TestgresTests(unittest.TestCase): + def test_node_repr(self): + with get_new_node() as node: + pattern = 'PostgresNode\(name=\'.+\', port=.+, base_dir=\'.+\'\)' + self.assertIsNotNone(re.match(pattern, str(node))) + def test_custom_init(self): with get_new_node() as node: # enable page checksums