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
def load(self, script, name='app'):
def load(self, script, name='app', **kwargs):
self.prepare_env(script, name)
self._load_conf(
@@ -60,5 +60,6 @@ class TestApplicationGo(TestApplicationProto):
"executable": self.testdir + "/go/" + name,
}
},
}
},
**kwargs
)

View File

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

View File

@@ -15,7 +15,7 @@ class TestApplicationNode(TestApplicationProto):
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
shutil.copytree(
@@ -42,5 +42,6 @@ class TestApplicationNode(TestApplicationProto):
"executable": name,
}
},
}
},
**kwargs
)

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationPerl(TestApplicationProto):
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
self._load_conf(
@@ -18,5 +18,6 @@ class TestApplicationPerl(TestApplicationProto):
"script": script_path + '/' + name,
}
},
}
},
**kwargs
)

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationPHP(TestApplicationProto):
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
self._load_conf(
@@ -19,5 +19,6 @@ class TestApplicationPHP(TestApplicationProto):
"index": name,
}
},
}
},
**kwargs
)

View File

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

View File

@@ -4,7 +4,7 @@ from unit.applications.proto import TestApplicationProto
class TestApplicationRuby(TestApplicationProto):
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
self._load_conf(
@@ -18,5 +18,6 @@ class TestApplicationRuby(TestApplicationProto):
"script": script_path + '/' + name,
}
},
}
},
**kwargs
)

View File

@@ -25,7 +25,19 @@ class TestApplicationProto(TestControl):
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(
'success', self.conf(conf), 'load application configuration'
)