From 79a9d98d06af42323c3aa07cc957d91984eb8a23 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Thu, 4 Feb 2021 01:00:37 +0800 Subject: [PATCH] tests: support unix sockets for PGHOST --- test/conftest.py | 30 ++++++++++++++++++++++++++++++ test/dbapi/conftest.py | 21 --------------------- test/legacy/conftest.py | 21 --------------------- test/native/conftest.py | 21 --------------------- 4 files changed, 30 insertions(+), 63 deletions(-) create mode 100644 test/conftest.py diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000..c09638b --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,30 @@ +import os.path +from os import environ + +import pytest + + +@pytest.fixture(scope="class") +def db_kwargs(): + db_connect = { + 'user': 'postgres', + 'password': 'pw' + } + + for kw, var, f in [ + ('password', 'PGPASSWORD', str), + ('port', 'PGPORT', int) + ]: + try: + db_connect[kw] = f(environ[var]) + except KeyError: + pass + + if 'PGHOST' in environ: + pg_host = environ['PGHOST'] + if os.path.isabs(pg_host): + db_connect['unix_sock'] = os.path.join(pg_host, '.s.PGSQL.{}'.format(db_connect.get('port', 5432))) + else: + db_connect['host'] = pg_host + + return db_connect diff --git a/test/dbapi/conftest.py b/test/dbapi/conftest.py index 41bae4a..e1162dd 100644 --- a/test/dbapi/conftest.py +++ b/test/dbapi/conftest.py @@ -1,31 +1,10 @@ import sys -from os import environ import pg8000.dbapi import pytest -@pytest.fixture(scope="class") -def db_kwargs(): - db_connect = { - 'user': 'postgres', - 'password': 'pw' - } - - for kw, var, f in [ - ('host', 'PGHOST', str), - ('password', 'PGPASSWORD', str), - ('port', 'PGPORT', int) - ]: - try: - db_connect[kw] = f(environ[var]) - except KeyError: - pass - - return db_connect - - @pytest.fixture def con(request, db_kwargs): conn = pg8000.dbapi.connect(**db_kwargs) diff --git a/test/legacy/conftest.py b/test/legacy/conftest.py index aa29e46..0687b65 100644 --- a/test/legacy/conftest.py +++ b/test/legacy/conftest.py @@ -1,31 +1,10 @@ import sys -from os import environ import pg8000 import pytest -@pytest.fixture(scope="class") -def db_kwargs(): - db_connect = { - 'user': 'postgres', - 'password': 'pw' - } - - for kw, var, f in [ - ('host', 'PGHOST', str), - ('password', 'PGPASSWORD', str), - ('port', 'PGPORT', int) - ]: - try: - db_connect[kw] = f(environ[var]) - except KeyError: - pass - - return db_connect - - @pytest.fixture def con(request, db_kwargs): conn = pg8000.connect(**db_kwargs) diff --git a/test/native/conftest.py b/test/native/conftest.py index 10b4419..5c50b45 100644 --- a/test/native/conftest.py +++ b/test/native/conftest.py @@ -1,31 +1,10 @@ import sys -from os import environ import pg8000.native import pytest -@pytest.fixture(scope="class") -def db_kwargs(): - db_connect = { - 'user': 'postgres', - 'password': 'pw' - } - - for kw, var, f in [ - ('host', 'PGHOST', str), - ('password', 'PGPASSWORD', str), - ('port', 'PGPORT', int) - ]: - try: - db_connect[kw] = f(environ[var]) - except KeyError: - pass - - return db_connect - - @pytest.fixture def con(request, db_kwargs): conn = pg8000.native.Connection(**db_kwargs)