Accepting request 926333 from devel:languages:python:pytest

OBS-URL: https://build.opensuse.org/request/show/926333
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest-server-fixtures?expand=0&rev=5
This commit is contained in:
2021-10-19 21:04:05 +00:00
committed by Git OBS Bridge
3 changed files with 54 additions and 2 deletions

View File

@@ -0,0 +1,43 @@
From 291995b3cfe60a5b30d5c6e1f3279ea40d35c7bb Mon Sep 17 00:00:00 2001
From: Ben Greiner <code@bnavigator.de>
Date: Sun, 17 Oct 2021 18:57:06 +0200
Subject: [PATCH] Don't use context manager for CREATE DATABASE
Psycopg 2.9 uses transaction blocks withing context managers,
which is not allowed for CREATE DATABASE
https://github.com/psycopg/psycopg2/issues/941
---
.../pytest_server_fixtures/postgres.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/pytest-server-fixtures/pytest_server_fixtures/postgres.py b/pytest-server-fixtures/pytest_server_fixtures/postgres.py
index 7c6ea33..aeab36a 100644
--- a/pytest-server-fixtures/pytest_server_fixtures/postgres.py
+++ b/pytest-server-fixtures/pytest_server_fixtures/postgres.py
@@ -103,18 +103,22 @@ def run_cmd(self):
def check_server_up(self):
from psycopg2 import OperationalError
+ conn = None
try:
print("Connecting to Postgres at localhost:{}".format(self.port))
- with self.connect('postgres') as conn:
- conn.set_session(autocommit=True)
- with conn.cursor() as cursor:
- cursor.execute("CREATE DATABASE " + self.database_name)
+ conn = self.connect('postgres')
+ conn.set_session(autocommit=True)
+ with conn.cursor() as cursor:
+ cursor.execute("CREATE DATABASE " + self.database_name)
self.connection = self.connect(self.database_name)
with open(self.workspace / 'db' / 'postmaster.pid', 'r') as f:
self.pid = int(f.readline().rstrip())
return True
except OperationalError as e:
print("Could not connect to test postgres: {}".format(e))
+ finally:
+ if conn:
+ conn.close()
return False
def connect(self, database=None):

View File

@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sun Oct 17 17:03:09 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Fix compatibikity with with Psycopg 2.9
* pytest-plugins-pr186-fix-psycopg29.patch
* gh#man-group/pytest-plugins#186
-------------------------------------------------------------------
Sat May 1 10:31:41 UTC 2021 - Matej Cepl <mcepl@suse.com>

View File

@@ -23,8 +23,10 @@ Release: 0
Summary: Extensible server fixures for py.test
License: MIT
Group: Development/Languages/Python
URL: https://github.com/manahl/pytest-plugins
URL: https://github.com/man-group/pytest-plugins
Source: https://files.pythonhosted.org/packages/source/p/pytest-server-fixtures/pytest-server-fixtures-%{version}.tar.gz
# PATCH-FIX-UPSTREAM pytest-plugins-pr186-fix-psycopg29.patch -- gh#man-group/pytest-plugins#186
Patch0: https://github.com/man-group/pytest-plugins/pull/186.patch#/pytest-plugins-pr186-fix-psycopg29.patch
BuildRequires: %{python_module setuptools-git}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
@@ -89,7 +91,7 @@ BuildRequires: xorg-x11-server
Extensible server fixures for py.test.
%prep
%setup -q -n pytest-server-fixtures-%{version}
%autosetup -p2 -n pytest-server-fixtures-%{version}
# Tests requiring a server
rm tests/integration/test_mongo_server.py