aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Kramkowski <tomasz@kramkow.ski>2023-03-27 23:07:21 +0100
committerTomasz Kramkowski <tomasz@kramkow.ski>2023-03-27 23:07:21 +0100
commitfcac7b8ccb64730017ece9ca4ffb73d923536226 (patch)
tree9ca31ec8d6908b6e967d542c227f1d31cc84b59e
parent77889ec30410280ef1ec1671b6226a8d0c0444f7 (diff)
downloadpaste-fcac7b8ccb64730017ece9ca4ffb73d923536226.tar.gz
paste-fcac7b8ccb64730017ece9ca4ffb73d923536226.tar.xz
paste-fcac7b8ccb64730017ece9ca4ffb73d923536226.zip
tests/middleware/open_database: simplify test
-rw-r--r--tests/middleware/test_open_database.py49
1 files changed, 13 insertions, 36 deletions
diff --git a/tests/middleware/test_open_database.py b/tests/middleware/test_open_database.py
index 1584ac0..769c04e 100644
--- a/tests/middleware/test_open_database.py
+++ b/tests/middleware/test_open_database.py
@@ -1,54 +1,31 @@
-import urllib.parse
-import urllib.request
+from contextlib import contextmanager
from wsgiref.validate import validator
-import pytest
-
from paste import open_database
from ..common_wsgi import call_app
-@pytest.fixture
-def app():
+def test_open_database(monkeypatch):
+ db_path = "test_db_path"
+ store = object()
+
+ @contextmanager
+ def store_open(path):
+ assert path == db_path
+ yield store
+
@validator
@open_database
@validator
def app(environ, start_response):
assert "paste.store" in environ
- db = environ["paste.store"]
- assert db.version > 0
+ assert environ["paste.store"] == store
start_response("200 OK", [("Content-Type", "text/plain")])
return [b"Hello, World!"]
- return app
-
-
-def test_open_uri_memory(app):
- response = call_app(app, environ={"PASTE_DB": "file::memory:"})
- assert response.status == "200 OK"
- assert response.data == b"Hello, World!"
- assert ("Content-Type", "text/plain") in response.headers
-
-
-def test_open_uri_file(app, tmp_path):
- uri = urllib.parse.urlunsplit(
- (
- "file",
- None,
- urllib.request.pathname2url(str(tmp_path / "test.db")),
- None,
- None,
- )
- )
- response = call_app(app, environ={"PASTE_DB": uri})
- assert response.status == "200 OK"
- assert response.data == b"Hello, World!"
- assert ("Content-Type", "text/plain") in response.headers
-
-
-def test_open_file(app, tmp_path):
- response = call_app(app, environ={"PASTE_DB": str(tmp_path / "test.db")})
+ monkeypatch.setattr("paste.store.open", store_open)
+ response = call_app(app, environ={"PASTE_DB": db_path})
assert response.status == "200 OK"
assert response.data == b"Hello, World!"
assert ("Content-Type", "text/plain") in response.headers