Content-Length: 5277 | pFad | http://github.com/postgrespro/testgres/pull/130.patch
thub.com
From 57b5c49210c3336270286408fbe4f8e86687cf0a Mon Sep 17 00:00:00 2001
From: asavchkov
Date: Sat, 15 Jun 2024 10:52:09 +0700
Subject: [PATCH] Implement get_user
---
testgres/node.py | 30 ++++++++++--------------------
testgres/operations/os_ops.py | 8 ++++++--
2 files changed, 16 insertions(+), 22 deletions(-)
diff --git a/testgres/node.py b/testgres/node.py
index e5e8fd5f..01432446 100644
--- a/testgres/node.py
+++ b/testgres/node.py
@@ -156,9 +156,10 @@ def __init__(self, name=None, port=None, base_dir=None, conn_params: ConnectionP
else:
self.os_ops = LocalOperations(conn_params)
- self.port = port or reserve_port()
-
self.host = self.os_ops.host
+ self.port = port or reserve_port()
+ # Default node username
+ self.username = default_username()
self.ssh_key = self.os_ops.ssh_key
# defaults for __exit__()
@@ -683,8 +684,6 @@ def slow_start(self, replica=False, dbname='template1', username=None, max_attem
If False, waits for the instance to be in primary mode. Default is False.
max_attempts:
"""
- if not username:
- username = default_username()
self.start()
if replica:
@@ -694,7 +693,7 @@ def slow_start(self, replica=False, dbname='template1', username=None, max_attem
# Call poll_query_until until the expected value is returned
self.poll_query_until(query=query,
dbname=dbname,
- username=username,
+ username=username or self.username,
suppress={InternalError,
QueryException,
ProgrammingError,
@@ -967,15 +966,13 @@ def psql(self,
>>> psql(query='select 3', ON_ERROR_STOP=1)
"""
- # Set default arguments
dbname = dbname or default_dbname()
- username = username or default_username()
psql_params = [
self._get_bin_path("psql"),
"-p", str(self.port),
"-h", self.host,
- "-U", username,
+ "-U", username or self.username,
"-X", # no .psqlrc
"-A", # unaligned output
"-t", # print rows only
@@ -1087,9 +1084,6 @@ def tmpfile():
fname = self.os_ops.mkstemp(prefix=TMP_DUMP)
return fname
- # Set default arguments
- dbname = dbname or default_dbname()
- username = username or default_username()
filename = filename or tmpfile()
_params = [
@@ -1097,8 +1091,8 @@ def tmpfile():
"-p", str(self.port),
"-h", self.host,
"-f", filename,
- "-U", username,
- "-d", dbname,
+ "-U", username or self.username,
+ "-d", dbname or default_dbname(),
"-F", format.value
] # yapf: disable
@@ -1118,7 +1112,7 @@ def restore(self, filename, dbname=None, username=None):
# Set default arguments
dbname = dbname or default_dbname()
- username = username or default_username()
+ username = username or self.username
_params = [
self._get_bin_path("pg_restore"),
@@ -1388,15 +1382,13 @@ def pgbench(self,
if options is None:
options = []
- # Set default arguments
dbname = dbname or default_dbname()
- username = username or default_username()
_params = [
self._get_bin_path("pgbench"),
"-p", str(self.port),
"-h", self.host,
- "-U", username,
+ "-U", username or self.username
] + options # yapf: disable
# should be the last one
@@ -1463,15 +1455,13 @@ def pgbench_run(self, dbname=None, username=None, options=[], **kwargs):
>>> pgbench_run(time=10)
"""
- # Set default arguments
dbname = dbname or default_dbname()
- username = username or default_username()
_params = [
self._get_bin_path("pgbench"),
"-p", str(self.port),
"-h", self.host,
- "-U", username,
+ "-U", username or self.username
] + options # yapf: disable
for key, value in iteritems(kwargs):
diff --git a/testgres/operations/os_ops.py b/testgres/operations/os_ops.py
index dd6613cf..adb76119 100644
--- a/testgres/operations/os_ops.py
+++ b/testgres/operations/os_ops.py
@@ -1,4 +1,6 @@
import locale
+import subprocess
+import sys
try:
import psycopg2 as pglib # noqa: F401
@@ -44,9 +46,11 @@ def set_env(self, var_name, var_val):
# Check if the directory is already in PATH
raise NotImplementedError()
- # Get environment variables
def get_user(self):
- raise NotImplementedError()
+ if sys.platform.startswith('linux'):
+ return subprocess.run(['id', '-nu'], capture_output=True, text=True).stdout.rstrip()
+ else:
+ raise NotImplementedError()
def get_name(self):
raise NotImplementedError()
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/postgrespro/testgres/pull/130.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy