summaryrefslogtreecommitdiffhomepage
path: root/test/python
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2020-03-12 17:54:15 +0300
committerMax Romanov <max.romanov@nginx.com>2020-03-12 17:54:15 +0300
commitf3e6726098220701dc2193c440852d04508cf972 (patch)
tree21bc37225ad2c556d0c67520be797fcd8359fc4f /test/python
parent7c4db34b88eab0b468425186e9b3366081e24fbb (diff)
downloadunit-f3e6726098220701dc2193c440852d04508cf972.tar.gz
unit-f3e6726098220701dc2193c440852d04508cf972.tar.bz2
Tests: added Python input readline and iterator tests.
Diffstat (limited to 'test/python')
-rw-r--r--test/python/input_iter/wsgi.py17
-rw-r--r--test/python/input_readline/wsgi.py20
-rw-r--r--test/python/input_readline_size/wsgi.py16
-rw-r--r--test/python/input_readlines/wsgi.py5
4 files changed, 55 insertions, 3 deletions
diff --git a/test/python/input_iter/wsgi.py b/test/python/input_iter/wsgi.py
index d3bf437f..04a6a06c 100644
--- a/test/python/input_iter/wsgi.py
+++ b/test/python/input_iter/wsgi.py
@@ -1,5 +1,16 @@
def application(environ, start_response):
- body = bytes(environ['wsgi.input'].__iter__())
+ body = []
+ content_length = 0
- start_response('200', [('Content-Length', str(len(body)))])
- return [body]
+ for l in environ['wsgi.input'].__iter__():
+ body.append(l)
+ content_length += len(l)
+
+ start_response(
+ '200',
+ [
+ ('Content-Length', str(content_length)),
+ ('X-Lines-Count', str(len(body))),
+ ],
+ )
+ return body
diff --git a/test/python/input_readline/wsgi.py b/test/python/input_readline/wsgi.py
new file mode 100644
index 00000000..ec42e0c8
--- /dev/null
+++ b/test/python/input_readline/wsgi.py
@@ -0,0 +1,20 @@
+def application(environ, start_response):
+ body = []
+ content_length = 0
+
+ while True:
+ l = environ['wsgi.input'].readline()
+ if not l:
+ break
+
+ body.append(l)
+ content_length += len(l)
+
+ start_response(
+ '200',
+ [
+ ('Content-Length', str(content_length)),
+ ('X-Lines-Count', str(len(body))),
+ ],
+ )
+ return body
diff --git a/test/python/input_readline_size/wsgi.py b/test/python/input_readline_size/wsgi.py
new file mode 100644
index 00000000..36cf07b0
--- /dev/null
+++ b/test/python/input_readline_size/wsgi.py
@@ -0,0 +1,16 @@
+def application(environ, start_response):
+ body = []
+
+ while True:
+ l = environ['wsgi.input'].readline(9)
+ if not l:
+ break
+
+ body.append(l)
+
+ if len(l) > 9:
+ body.append(b'len(l) > 9: ' + l)
+ break
+
+ start_response('200', [('X-Lines-Count', str(len(body)))])
+ return body
diff --git a/test/python/input_readlines/wsgi.py b/test/python/input_readlines/wsgi.py
new file mode 100644
index 00000000..64b03d79
--- /dev/null
+++ b/test/python/input_readlines/wsgi.py
@@ -0,0 +1,5 @@
+def application(environ, start_response):
+ body = environ['wsgi.input'].readlines()
+
+ start_response('200', [('X-Lines-Count', str(len(body)))])
+ return body