summaryrefslogtreecommitdiffhomepage
path: root/test/unit/applications
diff options
context:
space:
mode:
authorAndrey Zelenkov <zelenkov@nginx.com>2019-09-14 14:44:35 +0300
committerAndrey Zelenkov <zelenkov@nginx.com>2019-09-14 14:44:35 +0300
commit65ca2d7b198bf573fe3caf5e75bf6bd3a172820b (patch)
tree4964d0f5f4bd8b68fe06d8f975c0287b8a240951 /test/unit/applications
parent962cdb66590b9f9ec57e0a6aa5d0cb359bb8f145 (diff)
downloadunit-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.py13
-rw-r--r--test/unit/applications/lang/node.py11
-rw-r--r--test/unit/applications/tls.py22
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()