1*2491Szelenkov@nginx.comfrom unit.applications.lang.python import ApplicationPython 2679Szelenkov@nginx.com 32488Szelenkov@nginx.comprerequisites = {'modules': {'python': 'any'}} 42488Szelenkov@nginx.com 5*2491Szelenkov@nginx.comclient = ApplicationPython() 61017Szelenkov@nginx.com 7*2491Szelenkov@nginx.com 8*2491Szelenkov@nginx.comdef test_python_environment_name_null(): 9*2491Szelenkov@nginx.com client.load('environment') 10679Szelenkov@nginx.com 11*2491Szelenkov@nginx.com assert 'error' in client.conf( 12*2491Szelenkov@nginx.com {"va\0r": "val1"}, 'applications/environment/environment' 13*2491Szelenkov@nginx.com ), 'name null' 14679Szelenkov@nginx.com 15*2491Szelenkov@nginx.com 16*2491Szelenkov@nginx.comdef test_python_environment_name_equals(): 17*2491Szelenkov@nginx.com client.load('environment') 18679Szelenkov@nginx.com 19*2491Szelenkov@nginx.com assert 'error' in client.conf( 20*2491Szelenkov@nginx.com {"var=": "val1"}, 'applications/environment/environment' 21*2491Szelenkov@nginx.com ), 'name equals' 22679Szelenkov@nginx.com 23*2491Szelenkov@nginx.com 24*2491Szelenkov@nginx.comdef test_python_environment_value_null(): 25*2491Szelenkov@nginx.com client.load('environment') 26679Szelenkov@nginx.com 27*2491Szelenkov@nginx.com assert 'error' in client.conf( 28*2491Szelenkov@nginx.com {"var": "\0val"}, 'applications/environment/environment' 29*2491Szelenkov@nginx.com ), 'value null' 30679Szelenkov@nginx.com 31679Szelenkov@nginx.com 32*2491Szelenkov@nginx.comdef test_python_environment_update(): 33*2491Szelenkov@nginx.com client.load('environment') 34679Szelenkov@nginx.com 35*2491Szelenkov@nginx.com client.conf({"var": "val1"}, 'applications/environment/environment') 36679Szelenkov@nginx.com 37*2491Szelenkov@nginx.com assert ( 38*2491Szelenkov@nginx.com client.get( 39*2491Szelenkov@nginx.com headers={ 40*2491Szelenkov@nginx.com 'Host': 'localhost', 41*2491Szelenkov@nginx.com 'X-Variables': 'var', 42*2491Szelenkov@nginx.com 'Connection': 'close', 43*2491Szelenkov@nginx.com } 44*2491Szelenkov@nginx.com )['body'] 45*2491Szelenkov@nginx.com == 'val1' 46*2491Szelenkov@nginx.com ), 'set' 47*2491Szelenkov@nginx.com 48*2491Szelenkov@nginx.com client.conf({"var": "val2"}, 'applications/environment/environment') 49679Szelenkov@nginx.com 50*2491Szelenkov@nginx.com assert ( 51*2491Szelenkov@nginx.com client.get( 52*2491Szelenkov@nginx.com headers={ 53*2491Szelenkov@nginx.com 'Host': 'localhost', 54*2491Szelenkov@nginx.com 'X-Variables': 'var', 55*2491Szelenkov@nginx.com 'Connection': 'close', 56*2491Szelenkov@nginx.com } 57*2491Szelenkov@nginx.com )['body'] 58*2491Szelenkov@nginx.com == 'val2' 59*2491Szelenkov@nginx.com ), 'update' 60679Szelenkov@nginx.com 61679Szelenkov@nginx.com 62*2491Szelenkov@nginx.comdef test_python_environment_replace(): 63*2491Szelenkov@nginx.com client.load('environment') 64*2491Szelenkov@nginx.com 65*2491Szelenkov@nginx.com client.conf({"var1": "val1"}, 'applications/environment/environment') 66679Szelenkov@nginx.com 67*2491Szelenkov@nginx.com assert ( 68*2491Szelenkov@nginx.com client.get( 69*2491Szelenkov@nginx.com headers={ 70*2491Szelenkov@nginx.com 'Host': 'localhost', 71*2491Szelenkov@nginx.com 'X-Variables': 'var1', 72*2491Szelenkov@nginx.com 'Connection': 'close', 73*2491Szelenkov@nginx.com } 74*2491Szelenkov@nginx.com )['body'] 75*2491Szelenkov@nginx.com == 'val1' 76*2491Szelenkov@nginx.com ), 'set' 77679Szelenkov@nginx.com 78*2491Szelenkov@nginx.com client.conf({"var2": "val2"}, 'applications/environment/environment') 79679Szelenkov@nginx.com 80*2491Szelenkov@nginx.com assert ( 81*2491Szelenkov@nginx.com client.get( 82*2491Szelenkov@nginx.com headers={ 83*2491Szelenkov@nginx.com 'Host': 'localhost', 84*2491Szelenkov@nginx.com 'X-Variables': 'var1,var2', 85*2491Szelenkov@nginx.com 'Connection': 'close', 86*2491Szelenkov@nginx.com } 87*2491Szelenkov@nginx.com )['body'] 88*2491Szelenkov@nginx.com == 'val2' 89*2491Szelenkov@nginx.com ), 'replace' 90679Szelenkov@nginx.com 91*2491Szelenkov@nginx.com 92*2491Szelenkov@nginx.comdef test_python_environment_clear(): 93*2491Szelenkov@nginx.com client.load('environment') 94*2491Szelenkov@nginx.com 95*2491Szelenkov@nginx.com client.conf( 96*2491Szelenkov@nginx.com {"var1": "val1", "var2": "val2"}, 97*2491Szelenkov@nginx.com 'applications/environment/environment', 98*2491Szelenkov@nginx.com ) 99679Szelenkov@nginx.com 100*2491Szelenkov@nginx.com assert ( 101*2491Szelenkov@nginx.com client.get( 102*2491Szelenkov@nginx.com headers={ 103*2491Szelenkov@nginx.com 'Host': 'localhost', 104*2491Szelenkov@nginx.com 'X-Variables': 'var1,var2', 105*2491Szelenkov@nginx.com 'Connection': 'close', 106*2491Szelenkov@nginx.com } 107*2491Szelenkov@nginx.com )['body'] 108*2491Szelenkov@nginx.com == 'val1,val2' 109*2491Szelenkov@nginx.com ), 'set' 110679Szelenkov@nginx.com 111*2491Szelenkov@nginx.com client.conf({}, 'applications/environment/environment') 112679Szelenkov@nginx.com 113*2491Szelenkov@nginx.com assert ( 114*2491Szelenkov@nginx.com client.get( 115*2491Szelenkov@nginx.com headers={ 116*2491Szelenkov@nginx.com 'Host': 'localhost', 117*2491Szelenkov@nginx.com 'X-Variables': 'var1,var2', 118*2491Szelenkov@nginx.com 'Connection': 'close', 119*2491Szelenkov@nginx.com } 120*2491Szelenkov@nginx.com )['body'] 121*2491Szelenkov@nginx.com == '' 122*2491Szelenkov@nginx.com ), 'clear' 123*2491Szelenkov@nginx.com 124*2491Szelenkov@nginx.com 125*2491Szelenkov@nginx.comdef test_python_environment_replace_default(): 126*2491Szelenkov@nginx.com client.load('environment') 127679Szelenkov@nginx.com 128*2491Szelenkov@nginx.com home_default = client.get( 129*2491Szelenkov@nginx.com headers={ 130*2491Szelenkov@nginx.com 'Host': 'localhost', 131*2491Szelenkov@nginx.com 'X-Variables': 'HOME', 132*2491Szelenkov@nginx.com 'Connection': 'close', 133*2491Szelenkov@nginx.com } 134*2491Szelenkov@nginx.com )['body'] 135679Szelenkov@nginx.com 136*2491Szelenkov@nginx.com assert len(home_default) > 1, 'get default' 137679Szelenkov@nginx.com 138*2491Szelenkov@nginx.com client.conf({"HOME": "/"}, 'applications/environment/environment') 139*2491Szelenkov@nginx.com 140*2491Szelenkov@nginx.com assert ( 141*2491Szelenkov@nginx.com client.get( 1421017Szelenkov@nginx.com headers={ 1431017Szelenkov@nginx.com 'Host': 'localhost', 1441293St.nateldemoura@f5.com 'X-Variables': 'HOME', 1451017Szelenkov@nginx.com 'Connection': 'close', 1461017Szelenkov@nginx.com } 1471017Szelenkov@nginx.com )['body'] 148*2491Szelenkov@nginx.com == '/' 149*2491Szelenkov@nginx.com ), 'replace default' 150679Szelenkov@nginx.com 151*2491Szelenkov@nginx.com client.conf({}, 'applications/environment/environment') 152679Szelenkov@nginx.com 153*2491Szelenkov@nginx.com assert ( 154*2491Szelenkov@nginx.com client.get( 155*2491Szelenkov@nginx.com headers={ 156*2491Szelenkov@nginx.com 'Host': 'localhost', 157*2491Szelenkov@nginx.com 'X-Variables': 'HOME', 158*2491Szelenkov@nginx.com 'Connection': 'close', 159*2491Szelenkov@nginx.com } 160*2491Szelenkov@nginx.com )['body'] 161*2491Szelenkov@nginx.com == home_default 162*2491Szelenkov@nginx.com ), 'restore default' 163