diff options
author | Andrey Zelenkov <zelenkov@nginx.com> | 2019-09-14 14:44:35 +0300 |
---|---|---|
committer | Andrey Zelenkov <zelenkov@nginx.com> | 2019-09-14 14:44:35 +0300 |
commit | 65ca2d7b198bf573fe3caf5e75bf6bd3a172820b (patch) | |
tree | 4964d0f5f4bd8b68fe06d8f975c0287b8a240951 /test/unit/applications | |
parent | 962cdb66590b9f9ec57e0a6aa5d0cb359bb8f145 (diff) | |
download | unit-65ca2d7b198bf573fe3caf5e75bf6bd3a172820b.tar.gz unit-65ca2d7b198bf573fe3caf5e75bf6bd3a172820b.tar.bz2 |
Tests: refactored prerequisites model.
Diffstat (limited to 'test/unit/applications')
-rw-r--r-- | test/unit/applications/lang/go.py | 13 | ||||
-rw-r--r-- | test/unit/applications/lang/node.py | 11 | ||||
-rw-r--r-- | test/unit/applications/tls.py | 22 |
3 files changed, 46 insertions, 0 deletions
diff --git a/test/unit/applications/lang/go.py b/test/unit/applications/lang/go.py index 35ceefa7..15ac1cd9 100644 --- a/test/unit/applications/lang/go.py +++ b/test/unit/applications/lang/go.py @@ -4,6 +4,19 @@ from unit.applications.proto import TestApplicationProto class TestApplicationGo(TestApplicationProto): + @classmethod + def setUpClass(cls, complete_check=True): + unit = super().setUpClass(complete_check=False) + + # check go module + + go_app = TestApplicationGo() + go_app.testdir = unit.testdir + if go_app.prepare_env('empty', 'app').returncode == 0: + cls.available['modules']['go'] = [] + + return unit if not complete_check else unit.complete() + def prepare_env(self, script, name): if not os.path.exists(self.testdir + '/go'): os.mkdir(self.testdir + '/go') diff --git a/test/unit/applications/lang/node.py b/test/unit/applications/lang/node.py index 1be16458..3cc72669 100644 --- a/test/unit/applications/lang/node.py +++ b/test/unit/applications/lang/node.py @@ -4,6 +4,17 @@ from unit.applications.proto import TestApplicationProto class TestApplicationNode(TestApplicationProto): + @classmethod + def setUpClass(cls, complete_check=True): + unit = super().setUpClass(complete_check=False) + + # check node module + + if os.path.exists(unit.pardir + '/node/node_modules'): + cls.available['modules']['node'] = [] + + return unit if not complete_check else unit.complete() + def load(self, script, name='app.js'): # copy application diff --git a/test/unit/applications/tls.py b/test/unit/applications/tls.py index 6e8deefb..1290279d 100644 --- a/test/unit/applications/tls.py +++ b/test/unit/applications/tls.py @@ -1,4 +1,5 @@ import os +import re import ssl import subprocess from unit.applications.proto import TestApplicationProto @@ -12,6 +13,27 @@ class TestApplicationTLS(TestApplicationProto): self.context.check_hostname = False self.context.verify_mode = ssl.CERT_NONE + @classmethod + def setUpClass(cls, complete_check=True): + unit = super().setUpClass(complete_check=False) + + # check tls module + + try: + subprocess.check_output(['which', 'openssl']) + + output = subprocess.check_output( + [unit.unitd, '--version'], stderr=subprocess.STDOUT + ) + + if re.search('--openssl', output.decode()): + cls.available['modules']['openssl'] = [] + + except: + pass + + return unit if not complete_check else unit.complete() + def certificate(self, name='default', load=True): self.openssl_conf() |