]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Dropped tempenv fixture
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 14 Apr 2020 06:48:12 +0000 (18:48 +1200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 14 Apr 2020 08:26:57 +0000 (20:26 +1200)
The pytest monkeypatch fixture does it

tests/conftest.py
tests/fix_tempenv.py [deleted file]
tests/pq/test_conninfo.py
tests/pq/test_pgconn.py

index a53ed1bb17369b249e93bcd431b0a8b485ab681d..aa0b4daf4c4b10dd34dd00eaa64c1514e5212f49 100644 (file)
@@ -1 +1 @@
-pytest_plugins = ("tests.fix_async", "tests.fix_db", "tests.fix_tempenv")
+pytest_plugins = ("tests.fix_async", "tests.fix_db")
diff --git a/tests/fix_tempenv.py b/tests/fix_tempenv.py
deleted file mode 100644 (file)
index 9f3f35b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-import os
-import pytest
-
-
-class TempEnv:
-    def __init__(self):
-        self._prev = {}
-
-    def get(self, item, default):
-        return os.environ.get(self, item, default)
-
-    def __getitem__(self, item):
-        return os.environ[item]
-
-    def __setitem__(self, item, value):
-        self._prev.setdefault(item, os.environ.get(item))
-        os.environ[item] = value
-
-    def __delitem__(self, item):
-        self._prev.setdefault(item, os.environ.get(item))
-        del os.environ[item]
-
-    def __contains__(self, item):
-        return item in os.environ
-
-    def restore(self):
-        for k, v in self._prev.items():
-            if v is not None:
-                os.environ[k] = v
-            else:
-                if k in os.environ:
-                    del os.environ[k]
-
-
-@pytest.fixture
-def tempenv():
-    """Allow to change the env vars temporarily."""
-    env = TempEnv()
-    yield env
-    env.restore()
index b08c8c949b2a979176ada458bb6151ff1dda0ef6..176d52f5433545eeb84249d17958079f25923692 100644 (file)
@@ -1,8 +1,8 @@
 import pytest
 
 
-def test_defaults(pq, tempenv):
-    tempenv["PGPORT"] = "15432"
+def test_defaults(pq, monkeypatch):
+    monkeypatch.setenv("PGPORT", "15432")
     defs = pq.Conninfo.get_defaults()
     assert len(defs) > 20
     port = [d for d in defs if d.keyword == b"port"][0]
index c9601458a92bf3a06a546caed73e6361cd0e38cd..c3cb4c89b24fc56012de5b00e8abae6190f4ccac 100644 (file)
@@ -1,3 +1,4 @@
+import os
 from select import select
 
 import pytest
@@ -208,8 +209,8 @@ def test_transaction_status(pq, pgconn):
     assert pgconn.transaction_status == pq.TransactionStatus.UNKNOWN
 
 
-def test_parameter_status(pq, dsn, tempenv):
-    tempenv["PGAPPNAME"] = "psycopg3 tests"
+def test_parameter_status(pq, dsn, monkeypatch):
+    monkeypatch.setenv("PGAPPNAME", "psycopg3 tests")
     pgconn = pq.PGconn.connect(dsn.encode("utf8"))
     assert pgconn.parameter_status(b"application_name") == b"psycopg3 tests"
     assert pgconn.parameter_status(b"wat") is None
@@ -275,7 +276,7 @@ def test_needs_password(pgconn):
         pgconn.needs_password
 
 
-def test_used_password(pq, pgconn, tempenv, dsn):
+def test_used_password(pq, pgconn, dsn, monkeypatch):
     assert isinstance(pgconn.used_password, bool)
 
     # Assume that if a password was passed then it was needed.
@@ -284,7 +285,7 @@ def test_used_password(pq, pgconn, tempenv, dsn):
     # requested by the server and passed by libpq.
     info = pq.Conninfo.parse(dsn.encode("utf8"))
     has_password = (
-        "PGPASSWORD" in tempenv
+        "PGPASSWORD" in os.environ
         or [i for i in info if i.keyword == b"password"][0].val is not None
     )
     if has_password: