@@ -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
108350APIUnitTestFirewallVirtualIP ()
0 commit comments