xref: /unit/test/test_python_environment.py (revision 2491:aae60837ac20)
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