From fcac7b8ccb64730017ece9ca4ffb73d923536226 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Mon, 27 Mar 2023 23:07:21 +0100 Subject: tests/middleware/open_database: simplify test --- tests/middleware/test_open_database.py | 49 +++++++++------------------------- 1 file 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 -- cgit v1.2.3-54-g00ecf