diff options
Diffstat (limited to 'tests/middleware/test_open_store.py')
-rw-r--r-- | tests/middleware/test_open_store.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/middleware/test_open_store.py b/tests/middleware/test_open_store.py new file mode 100644 index 0000000..dd430e9 --- /dev/null +++ b/tests/middleware/test_open_store.py @@ -0,0 +1,31 @@ +from contextlib import contextmanager +from wsgiref.validate import validator + +from paste import open_store + +from ..common_wsgi import call_app + + +def test_open_store(monkeypatch): + db_path = "test_db_path" + store = object() + + @contextmanager + def store_open(path): + assert path == db_path + yield store + + @validator + @open_store + @validator + def app(environ, start_response): + assert "paste.store" in environ + assert environ["paste.store"] == store + start_response("200 OK", [("Content-Type", "text/plain")]) + return [b"Hello, World!"] + + 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 |