aboutsummaryrefslogtreecommitdiffstats
path: root/tests/middleware/test_open_store.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/middleware/test_open_store.py')
-rw-r--r--tests/middleware/test_open_store.py31
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