Tests: added support for testing "user" and "group".

This commit is contained in:
Tiago Natel
2019-11-11 14:35:29 +00:00
parent 417cc7be7c
commit abbad122bb
8 changed files with 34 additions and 15 deletions

View File

@@ -44,7 +44,7 @@ class TestApplicationGo(TestApplicationProto):
return process return process
def load(self, script, name='app'): def load(self, script, name='app', **kwargs):
self.prepare_env(script, name) self.prepare_env(script, name)
self._load_conf( self._load_conf(
@@ -60,5 +60,6 @@ class TestApplicationGo(TestApplicationProto):
"executable": self.testdir + "/go/" + name, "executable": self.testdir + "/go/" + name,
} }
}, },
} },
**kwargs
) )

View File

@@ -6,7 +6,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationJava(TestApplicationProto): class TestApplicationJava(TestApplicationProto):
def load(self, script, name='app'): def load(self, script, name='app', **kwargs):
app_path = self.testdir + '/java' app_path = self.testdir + '/java'
web_inf_path = app_path + '/WEB-INF/' web_inf_path = app_path + '/WEB-INF/'
classes_path = web_inf_path + 'classes/' classes_path = web_inf_path + 'classes/'
@@ -82,5 +82,6 @@ class TestApplicationJava(TestApplicationProto):
"webapp": app_path, "webapp": app_path,
} }
}, },
} },
**kwargs
) )

View File

@@ -15,7 +15,7 @@ class TestApplicationNode(TestApplicationProto):
return unit if not complete_check else unit.complete() return unit if not complete_check else unit.complete()
def load(self, script, name='app.js'): def load(self, script, name='app.js', **kwargs):
# copy application # copy application
shutil.copytree( shutil.copytree(
@@ -42,5 +42,6 @@ class TestApplicationNode(TestApplicationProto):
"executable": name, "executable": name,
} }
}, },
} },
**kwargs
) )

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationPerl(TestApplicationProto): class TestApplicationPerl(TestApplicationProto):
application_type = "perl" application_type = "perl"
def load(self, script, name='psgi.pl'): def load(self, script, name='psgi.pl', **kwargs):
script_path = self.current_dir + '/perl/' + script script_path = self.current_dir + '/perl/' + script
self._load_conf( self._load_conf(
@@ -18,5 +18,6 @@ class TestApplicationPerl(TestApplicationProto):
"script": script_path + '/' + name, "script": script_path + '/' + name,
} }
}, },
} },
**kwargs
) )

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationPHP(TestApplicationProto): class TestApplicationPHP(TestApplicationProto):
application_type = "php" application_type = "php"
def load(self, script, name='index.php'): def load(self, script, name='index.php', **kwargs):
script_path = self.current_dir + '/php/' + script script_path = self.current_dir + '/php/' + script
self._load_conf( self._load_conf(
@@ -19,5 +19,6 @@ class TestApplicationPHP(TestApplicationProto):
"index": name, "index": name,
} }
}, },
} },
**kwargs
) )

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationPython(TestApplicationProto): class TestApplicationPython(TestApplicationProto):
application_type = "python" application_type = "python"
def load(self, script, name=None): def load(self, script, name=None, **kwargs):
if name is None: if name is None:
name = script name = script
@@ -22,5 +22,6 @@ class TestApplicationPython(TestApplicationProto):
"module": "wsgi", "module": "wsgi",
} }
}, },
} },
**kwargs
) )

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationRuby(TestApplicationProto): class TestApplicationRuby(TestApplicationProto):
application_type = "ruby" application_type = "ruby"
def load(self, script, name='config.ru'): def load(self, script, name='config.ru', **kwargs):
script_path = self.current_dir + '/ruby/' + script script_path = self.current_dir + '/ruby/' + script
self._load_conf( self._load_conf(
@@ -18,5 +18,6 @@ class TestApplicationRuby(TestApplicationProto):
"script": script_path + '/' + name, "script": script_path + '/' + name,
} }
}, },
} },
**kwargs
) )

View File

@@ -25,7 +25,19 @@ class TestApplicationProto(TestControl):
return found return found
def _load_conf(self, conf): def _load_conf(self, conf, **kwargs):
if 'applications' in conf:
for app in conf['applications'].keys():
app_conf = conf['applications'][app]
if 'user' in kwargs:
app_conf['user'] = kwargs['user']
if 'group' in kwargs:
app_conf['group'] = kwargs['group']
if 'isolation' in kwargs:
app_conf['isolation'] = kwargs['isolation']
self.assertIn( self.assertIn(
'success', self.conf(conf), 'load application configuration' 'success', self.conf(conf), 'load application configuration'
) )