diff options
Diffstat (limited to '')
-rw-r--r-- | test/test_python_targets.py | 176 |
1 files changed, 89 insertions, 87 deletions
diff --git a/test/test_python_targets.py b/test/test_python_targets.py index dc0dc529..46e77c19 100644 --- a/test/test_python_targets.py +++ b/test/test_python_targets.py @@ -1,103 +1,105 @@ -from unit.applications.lang.python import TestApplicationPython +from unit.applications.lang.python import ApplicationPython from unit.option import option prerequisites = {'modules': {'python': 'all'}} +client = ApplicationPython() -class TestPythonTargets(TestApplicationPython): - def test_python_targets(self): - python_dir = f'{option.test_dir}/python' - 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": { +def test_python_targets(): + python_dir = f'{option.test_dir}/python' + + assert 'success' in client.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": client.get_application_type(), + "working_directory": f'{python_dir}/targets/', + "path": f'{python_dir}/targets/', "targets": { - "type": self.get_application_type(), - "working_directory": f'{python_dir}/targets/', - "path": f'{python_dir}/targets/', - "targets": { - "1": { - "module": "wsgi", - "callable": "wsgi_target_a", - }, - "2": { - "module": "wsgi", - "callable": "wsgi_target_b", - }, + "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 = client.get(url='/1') + assert resp['status'] == 200 + assert resp['body'] == '1' - resp = self.get(url='/2') - assert resp['status'] == 200 - assert resp['body'] == '2' + resp = client.get(url='/2') + assert resp['status'] == 200 + assert resp['body'] == '2' - def test_python_targets_prefix(self): - python_dir = f'{option.test_dir}/python' - assert 'success' in self.conf( - { - "listeners": {"*:7080": {"pass": "routes"}}, - "routes": [ - { - "match": {"uri": ["/app*"]}, - "action": {"pass": "applications/targets/app"}, - }, - { - "match": {"uri": "*"}, - "action": {"pass": "applications/targets/catchall"}, - }, - ], - "applications": { +def test_python_targets_prefix(): + python_dir = f'{option.test_dir}/python' + + assert 'success' in client.conf( + { + "listeners": {"*:7080": {"pass": "routes"}}, + "routes": [ + { + "match": {"uri": ["/app*"]}, + "action": {"pass": "applications/targets/app"}, + }, + { + "match": {"uri": "*"}, + "action": {"pass": "applications/targets/catchall"}, + }, + ], + "applications": { + "targets": { + "type": "python", + "working_directory": f'{python_dir}/targets/', + "path": f'{python_dir}/targets/', + "protocol": "wsgi", "targets": { - "type": "python", - "working_directory": f'{python_dir}/targets/', - "path": f'{python_dir}/targets/', - "protocol": "wsgi", - "targets": { - "app": { - "module": "wsgi", - "callable": "wsgi_target_prefix", - "prefix": "/app/", - }, - "catchall": { - "module": "wsgi", - "callable": "wsgi_target_prefix", - "prefix": "/api", - }, + "app": { + "module": "wsgi", + "callable": "wsgi_target_prefix", + "prefix": "/app/", }, - } - }, - } - ) + "catchall": { + "module": "wsgi", + "callable": "wsgi_target_prefix", + "prefix": "/api", + }, + }, + } + }, + } + ) - def check_prefix(url, body): - resp = self.get(url=url) - assert resp['status'] == 200 - assert resp['body'] == body + def check_prefix(url, body): + resp = client.get(url=url) + assert resp['status'] == 200 + assert resp['body'] == body - check_prefix('/app', '/app ') - check_prefix('/app/', '/app /') - check_prefix('/app/rest/user/', '/app /rest/user/') - check_prefix('/catchall', 'No Script Name /catchall') - check_prefix('/api', '/api ') - check_prefix('/api/', '/api /') - check_prefix('/apis', 'No Script Name /apis') - check_prefix('/api/users/', '/api /users/') + check_prefix('/app', '/app ') + check_prefix('/app/', '/app /') + check_prefix('/app/rest/user/', '/app /rest/user/') + check_prefix('/catchall', 'No Script Name /catchall') + check_prefix('/api', '/api ') + check_prefix('/api/', '/api /') + check_prefix('/apis', 'No Script Name /apis') + check_prefix('/api/users/', '/api /users/') |