Tests: configuration of environment variables.
This commit is contained in:
13
test/python/environment/wsgi.py
Normal file
13
test/python/environment/wsgi.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
def application(env, start_response):
|
||||||
|
body = ''
|
||||||
|
vars = env.get('HTTP_X_VARIABLES').split(',')
|
||||||
|
|
||||||
|
for var in vars:
|
||||||
|
if var in os.environ:
|
||||||
|
body += str(os.environ[var]) + ','
|
||||||
|
|
||||||
|
body = body.encode()
|
||||||
|
start_response('200', [('Content-Length', str(len(body)))])
|
||||||
|
return body
|
||||||
128
test/test_python_environment.py
Normal file
128
test/test_python_environment.py
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
import unittest
|
||||||
|
import unit
|
||||||
|
|
||||||
|
class TestUnitPythonEnvironment(unit.TestUnitApplicationPython):
|
||||||
|
|
||||||
|
def setUpClass():
|
||||||
|
unit.TestUnit().check_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')
|
||||||
|
|
||||||
|
pwd_default = self.get(headers={
|
||||||
|
'Host': 'localhost',
|
||||||
|
'X-Variables': 'PWD',
|
||||||
|
'Connection': 'close'
|
||||||
|
})['body']
|
||||||
|
|
||||||
|
self.assertGreater(len(pwd_default), 1, 'get default')
|
||||||
|
|
||||||
|
self.conf({
|
||||||
|
"PWD": "new/pwd"
|
||||||
|
}, '/applications/environment/environment')
|
||||||
|
|
||||||
|
self.assertEqual(self.get(headers={
|
||||||
|
'Host': 'localhost',
|
||||||
|
'X-Variables': 'PWD',
|
||||||
|
'Connection': 'close'
|
||||||
|
})['body'], 'new/pwd,', 'replace default')
|
||||||
|
|
||||||
|
self.conf({}, '/applications/environment/environment')
|
||||||
|
|
||||||
|
self.assertEqual(self.get(headers={
|
||||||
|
'Host': 'localhost',
|
||||||
|
'X-Variables': 'PWD',
|
||||||
|
'Connection': 'close'
|
||||||
|
})['body'], pwd_default, 'restore default')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user