summaryrefslogtreecommitdiffhomepage
path: root/test/test_python_targets.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_python_targets.py')
-rw-r--r--test/test_python_targets.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/test_python_targets.py b/test/test_python_targets.py
new file mode 100644
index 00000000..ca736c0d
--- /dev/null
+++ b/test/test_python_targets.py
@@ -0,0 +1,51 @@
+import pytest
+
+from unit.applications.lang.python import TestApplicationPython
+from unit.option import option
+
+
+class TestPythonTargets(TestApplicationPython):
+ prerequisites = {'modules': {'python': 'all'}}
+
+ def test_python_targets(self):
+ assert 'success' in self.conf(
+ {
+ "listeners": {"*:7080": {"pass": "routes"}},
+ "routes": [
+ {
+ "match": {"uri": "/1"},
+ "action": {"pass": "applications/targets/1"},
+ },
+ {
+ "match": {"uri": "/2"},
+ "action": {"pass": "applications/targets/2"},
+ },
+ ],
+ "applications": {
+ "targets": {
+ "type": "python",
+ "working_directory": option.test_dir
+ + "/python/targets/",
+ "path": option.test_dir + '/python/targets/',
+ "targets": {
+ "1": {
+ "module": "wsgi",
+ "callable": "wsgi_target_a",
+ },
+ "2": {
+ "module": "wsgi",
+ "callable": "wsgi_target_b",
+ },
+ },
+ }
+ },
+ }
+ )
+
+ resp = self.get(url='/1')
+ assert resp['status'] == 200
+ assert resp['body'] == '1'
+
+ resp = self.get(url='/2')
+ assert resp['status'] == 200
+ assert resp['body'] == '2'