19b974674c
- The mode of testdir was changed to allow reading from other users/groups. - The java multipart test now uploads the file into an app writable dir. - The build directory was made readable for other users. - The python environment test now uses the HOME env var instead of PWD because the latter is not set by the root shell (/bin/sh) by default. - The node `node_modules` directory now is copied into the `testdir` instead of using symlinks.
179 lines
4.6 KiB
Python
179 lines
4.6 KiB
Python
from unit.applications.lang.python import TestApplicationPython
|
|
|
|
|
|
class TestPythonEnvironment(TestApplicationPython):
|
|
prerequisites = {'modules': ['python']}
|
|
|
|
def test_python_environment_name_null(self):
|
|
self.load('environment')
|
|
|
|
self.assertIn(
|
|
'error',
|
|
self.conf(
|
|
{"va\0r": "val1"}, 'applications/environment/environment'
|
|
),
|
|
'name null',
|
|
)
|
|
|
|
def test_python_environment_name_equals(self):
|
|
self.load('environment')
|
|
|
|
self.assertIn(
|
|
'error',
|
|
self.conf(
|
|
{"var=": "val1"}, 'applications/environment/environment'
|
|
),
|
|
'name equals',
|
|
)
|
|
|
|
def test_python_environment_value_null(self):
|
|
self.load('environment')
|
|
|
|
self.assertIn(
|
|
'error',
|
|
self.conf(
|
|
{"var": "\0val"}, 'applications/environment/environment'
|
|
),
|
|
'value null',
|
|
)
|
|
|
|
def test_python_environment_update(self):
|
|
self.load('environment')
|
|
|
|
self.conf({"var": "val1"}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'val1,',
|
|
'set',
|
|
)
|
|
|
|
self.conf({"var": "val2"}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'val2,',
|
|
'update',
|
|
)
|
|
|
|
def test_python_environment_replace(self):
|
|
self.load('environment')
|
|
|
|
self.conf({"var1": "val1"}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var1',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'val1,',
|
|
'set',
|
|
)
|
|
|
|
self.conf({"var2": "val2"}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var1,var2',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'val2,',
|
|
'replace',
|
|
)
|
|
|
|
def test_python_environment_clear(self):
|
|
self.load('environment')
|
|
|
|
self.conf(
|
|
{"var1": "val1", "var2": "val2"},
|
|
'applications/environment/environment',
|
|
)
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var1,var2',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'val1,val2,',
|
|
'set',
|
|
)
|
|
|
|
self.conf({}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'var1,var2',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'',
|
|
'clear',
|
|
)
|
|
|
|
def test_python_environment_replace_default(self):
|
|
self.load('environment')
|
|
|
|
home_default = self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'HOME',
|
|
'Connection': 'close',
|
|
}
|
|
)['body']
|
|
|
|
self.assertGreater(len(home_default), 1, 'get default')
|
|
|
|
self.conf({"HOME": "/"}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'HOME',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
'/,',
|
|
'replace default',
|
|
)
|
|
|
|
self.conf({}, 'applications/environment/environment')
|
|
|
|
self.assertEqual(
|
|
self.get(
|
|
headers={
|
|
'Host': 'localhost',
|
|
'X-Variables': 'HOME',
|
|
'Connection': 'close',
|
|
}
|
|
)['body'],
|
|
home_default,
|
|
'restore default',
|
|
)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
TestPythonEnvironment.main()
|