summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/python/callable/wsgi.py7
-rw-r--r--test/test_python_application.py28
2 files changed, 35 insertions, 0 deletions
diff --git a/test/python/callable/wsgi.py b/test/python/callable/wsgi.py
new file mode 100644
index 00000000..365f82fa
--- /dev/null
+++ b/test/python/callable/wsgi.py
@@ -0,0 +1,7 @@
+def application(env, start_response):
+ start_response('204', [('Content-Length', '0')])
+ return []
+
+def app(env, start_response):
+ start_response('200', [('Content-Length', '0')])
+ return []
diff --git a/test/test_python_application.py b/test/test_python_application.py
index d1079116..e6ad6a01 100644
--- a/test/test_python_application.py
+++ b/test/test_python_application.py
@@ -797,3 +797,31 @@ last line: 987654321
obj = self.getjson()['body']
assert obj['UID'] == nobody_uid, 'root uid group=root'
assert obj['GID'] == 0, 'root gid group=root'
+
+ def test_python_application_callable(self):
+ skip_alert(r'Python failed to get "blah" from module')
+ self.load('callable')
+
+ assert self.get()['status'] == 204, 'default application response'
+
+ assert 'success' in self.conf(
+ '"app"', 'applications/callable/callable'
+ )
+
+ assert self.get()['status'] == 200, 'callable response'
+
+ assert 'success' in self.conf(
+ '"blah"', 'applications/callable/callable'
+ )
+
+ assert self.get()['status'] not in [200, 204], 'callable response inv'
+
+ assert 'success' in self.conf(
+ '"app"', 'applications/callable/callable'
+ )
+
+ assert self.get()['status'] == 200, 'callable response 2'
+
+ assert 'success' in self.conf_delete('applications/callable/callable')
+
+ assert self.get()['status'] == 204, 'default response 2'