Skip to content

Commit 6996f90

Browse files
Updated unit test for forthcoming virtual IP endpoint enhancements
1 parent 9f2b51c commit 6996f90

1 file changed

Lines changed: 246 additions & 4 deletions

File tree

tests/test_api_v1_firewall_virtual_ip.py

Lines changed: 246 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class APIUnitTestFirewallVirtualIP(unit_test_framework.APIUnitTest):
2525
"interface": "wan",
2626
"subnet": "172.16.77.239/32",
2727
"password": "testpass",
28-
"descr": "Unit Test"
28+
"descr": "Unit Test",
29+
"vhid": 10
2930
},
3031
"resp_time": 10 # Allow up to ten seconds for vips
3132
},
@@ -48,7 +49,154 @@ class APIUnitTestFirewallVirtualIP(unit_test_framework.APIUnitTest):
4849
"descr": "Unit Test"
4950
},
5051
"resp_time": 10 # Allow up to ten seconds for vips
51-
}
52+
},
53+
{
54+
"name": "Check mode requirement",
55+
"status": 400,
56+
"return": 4019
57+
},
58+
{
59+
"name": "Check mode validation",
60+
"status": 400,
61+
"return": 4023,
62+
"payload": {
63+
"mode": "INVALID"
64+
}
65+
},
66+
{
67+
"name": "Check interface requirement",
68+
"status": 400,
69+
"return": 4020,
70+
"payload": {
71+
"mode": "ipalias"
72+
}
73+
},
74+
{
75+
"name": "Check interface validation",
76+
"status": 400,
77+
"return": 4024,
78+
"payload": {
79+
"mode": "ipalias",
80+
"interface": "INVALID"
81+
}
82+
},
83+
{
84+
"name": "Check subnet requirement",
85+
"status": 400,
86+
"return": 4021,
87+
"payload": {
88+
"mode": "ipalias",
89+
"interface": "wan"
90+
}
91+
},
92+
{
93+
"name": "Check subnet validation",
94+
"status": 400,
95+
"return": 4025,
96+
"payload": {
97+
"mode": "ipalias",
98+
"interface": "wan",
99+
"subnet": "INVALID"
100+
}
101+
},
102+
{
103+
"name": "Check subnet unique constraint",
104+
"status": 400,
105+
"return": 4026,
106+
"payload": {
107+
"mode": "ipalias",
108+
"interface": "wan",
109+
"subnet": "172.16.77.241/32"
110+
}
111+
},
112+
{
113+
"name": "Check CARP VHID minimum constraint",
114+
"status": 400,
115+
"return": 4028,
116+
"payload": {
117+
"mode": "carp",
118+
"interface": "wan",
119+
"subnet": "172.16.77.252/32",
120+
"vhid": -1
121+
}
122+
},
123+
{
124+
"name": "Check CARP VHID maximum constraint",
125+
"status": 400,
126+
"return": 4028,
127+
"payload": {
128+
"mode": "carp",
129+
"interface": "wan",
130+
"subnet": "172.16.77.252/32",
131+
"vhid": 4000000
132+
}
133+
},
134+
{
135+
"name": "Check CARP VHID unique constraint duplicate VHID on same interface",
136+
"status": 400,
137+
"return": 4027,
138+
"payload": {
139+
"mode": "carp",
140+
"interface": "wan",
141+
"subnet": "172.16.77.252/32",
142+
"vhid": 10
143+
}
144+
},
145+
{
146+
"name": "Check CARP password requirement & VHID unique constraint duplicate VHID on different interface",
147+
"status": 400,
148+
"return": 4022,
149+
"payload": {
150+
"mode": "carp",
151+
"interface": "lan",
152+
"subnet": "192.168.1.252/32",
153+
"vhid": 10
154+
}
155+
},
156+
{
157+
"name": "Check CARP advertisement skew minimum constraint",
158+
"status": 400,
159+
"return": 4030,
160+
"payload": {
161+
"mode": "carp",
162+
"interface": "wan",
163+
"subnet": "172.16.77.252/32",
164+
"advskew": -1
165+
}
166+
},
167+
{
168+
"name": "Check CARP advertisement skew maximum constraint",
169+
"status": 400,
170+
"return": 4030,
171+
"payload": {
172+
"mode": "carp",
173+
"interface": "wan",
174+
"subnet": "172.16.77.252/32",
175+
"advskew": 4030
176+
}
177+
},
178+
{
179+
"name": "Check CARP advertisement base minimum constraint",
180+
"status": 400,
181+
"return": 4029,
182+
"payload": {
183+
"mode": "carp",
184+
"interface": "wan",
185+
"subnet": "172.16.77.252/32",
186+
"advbase": 0
187+
}
188+
},
189+
{
190+
"name": "Check CARP advertisement base maximum constraint",
191+
"status": 400,
192+
"return": 4029,
193+
"payload": {
194+
"mode": "carp",
195+
"interface": "wan",
196+
"subnet": "172.16.77.252/32",
197+
"advbase": 4030
198+
}
199+
},
52200
]
53201
put_tests = [
54202
{
@@ -85,7 +233,101 @@ class APIUnitTestFirewallVirtualIP(unit_test_framework.APIUnitTest):
85233
"descr": "Updated unit Test",
86234
},
87235
"resp_time": 10 # Allow up to ten seconds for vips
88-
}
236+
},
237+
{
238+
"name": "Check subnet validation",
239+
"status": 400,
240+
"return": 4025,
241+
"payload": {
242+
"id": 2,
243+
"mode": "ipalias",
244+
"interface": "wan",
245+
"subnet": "INVALID"
246+
}
247+
},
248+
{
249+
"name": "Check subnet unique constraint",
250+
"status": 400,
251+
"return": 4026,
252+
"payload": {
253+
"id": 2,
254+
"mode": "ipalias",
255+
"interface": "wan",
256+
"subnet": "172.16.77.230/32",
257+
}
258+
},
259+
{
260+
"name": "Check CARP VHID minimum constraint",
261+
"status": 400,
262+
"return": 4028,
263+
"payload": {
264+
"id": 0,
265+
"mode": "carp",
266+
"interface": "wan",
267+
"subnet": "172.16.77.252/32",
268+
"vhid": -1
269+
}
270+
},
271+
{
272+
"name": "Check CARP VHID maximum constraint",
273+
"status": 400,
274+
"return": 4028,
275+
"payload": {
276+
"id": 0,
277+
"mode": "carp",
278+
"interface": "wan",
279+
"subnet": "172.16.77.252/32",
280+
"vhid": 4000000
281+
}
282+
},
283+
{
284+
"name": "Check CARP advertisement skew minimum constraint",
285+
"status": 400,
286+
"return": 4030,
287+
"payload": {
288+
"id": 0,
289+
"mode": "carp",
290+
"interface": "wan",
291+
"subnet": "172.16.77.252/32",
292+
"advskew": -1
293+
}
294+
},
295+
{
296+
"name": "Check CARP advertisement skew maximum constraint",
297+
"status": 400,
298+
"return": 4030,
299+
"payload": {
300+
"id": 0,
301+
"mode": "carp",
302+
"interface": "wan",
303+
"subnet": "172.16.77.252/32",
304+
"advskew": 4030
305+
}
306+
},
307+
{
308+
"name": "Check CARP advertisement base minimum constraint",
309+
"status": 400,
310+
"return": 4029,
311+
"payload": {
312+
"id": 0,
313+
"mode": "carp",
314+
"interface": "wan",
315+
"subnet": "172.16.77.252/32",
316+
"advbase": 0
317+
}
318+
},
319+
{
320+
"name": "Check CARP advertisement base maximum constraint",
321+
"status": 400,
322+
"return": 4029,
323+
"payload": {
324+
"id": 0,
325+
"mode": "carp",
326+
"interface": "wan",
327+
"subnet": "172.16.77.252/32",
328+
"advbase": 4030
329+
}
330+
},
89331
]
90332
delete_tests = [
91333
{
@@ -102,7 +344,7 @@ class APIUnitTestFirewallVirtualIP(unit_test_framework.APIUnitTest):
102344
"name": "Delete IP Alias virtual IP",
103345
"payload": {"id": 0},
104346
"resp_time": 10 # Allow up to ten seconds for vips
105-
},
347+
}
106348
]
107349

108350
APIUnitTestFirewallVirtualIP()

0 commit comments

Comments
 (0)