summaryrefslogtreecommitdiff
path: root/tests/urlparser_data/hook
diff options
context:
space:
mode:
authorMarc Abramowitz <marc@marc-abramowitz.com>2015-04-27 16:52:56 -0700
committerMarc Abramowitz <marc@marc-abramowitz.com>2015-04-27 16:52:56 -0700
commit0fe289bf2f016ab296b17e47ef2c94ec38ed025d (patch)
tree40460a53680365b56ee9c43eb954f346da2637a2 /tests/urlparser_data/hook
downloadpaste-git-0fe289bf2f016ab296b17e47ef2c94ec38ed025d.tar.gz
Add tests/test_httpserver.py
which contains a test for the issue in BB-4, where the WSGI environment has strings with commas in them that don't belong. See issue #4.
Diffstat (limited to 'tests/urlparser_data/hook')
-rw-r--r--tests/urlparser_data/hook/__init__.py10
-rw-r--r--tests/urlparser_data/hook/app.py9
-rw-r--r--tests/urlparser_data/hook/index.py9
3 files changed, 28 insertions, 0 deletions
diff --git a/tests/urlparser_data/hook/__init__.py b/tests/urlparser_data/hook/__init__.py
new file mode 100644
index 0000000..985a930
--- /dev/null
+++ b/tests/urlparser_data/hook/__init__.py
@@ -0,0 +1,10 @@
+from paste import request
+
+def urlparser_hook(environ):
+ first, rest = request.path_info_split(environ.get('PATH_INFO', ''))
+ if not first:
+ # No username
+ return
+ environ['app.user'] = first
+ environ['SCRIPT_NAME'] += '/' + first
+ environ['PATH_INFO'] = rest
diff --git a/tests/urlparser_data/hook/app.py b/tests/urlparser_data/hook/app.py
new file mode 100644
index 0000000..1a98013
--- /dev/null
+++ b/tests/urlparser_data/hook/app.py
@@ -0,0 +1,9 @@
+import six
+
+def application(environ, start_response):
+ start_response('200 OK', [('Content-type', 'text/html')])
+ body = 'user: %s' % environ['app.user']
+ if six.PY3:
+ body = body.encode('ascii')
+ return [body]
+
diff --git a/tests/urlparser_data/hook/index.py b/tests/urlparser_data/hook/index.py
new file mode 100644
index 0000000..92f3d66
--- /dev/null
+++ b/tests/urlparser_data/hook/index.py
@@ -0,0 +1,9 @@
+import six
+
+def application(environ, start_response):
+ start_response('200 OK', [('Content-type', 'text/html')])
+ body = 'index: %s' % environ['app.user']
+ if six.PY3:
+ body = body.encode('ascii')
+ return [body]
+