116 | 116 |
NotEqualSkip(t, 2, val, nil)
|
117 | 117 |
EqualSkip(t, 2, val.Field, field)
|
118 | 118 |
EqualSkip(t, 2, val.Tag, expectedTag)
|
|
119 |
}
|
|
120 |
|
|
121 |
func TestMACValidation(t *testing.T) {
|
|
122 |
tests := []struct {
|
|
123 |
param string
|
|
124 |
expected bool
|
|
125 |
}{
|
|
126 |
{"3D:F2:C9:A6:B3:4F", true},
|
|
127 |
{"3D-F2-C9-A6-B3:4F", false},
|
|
128 |
{"123", false},
|
|
129 |
{"", false},
|
|
130 |
{"abacaba", false},
|
|
131 |
{"00:25:96:FF:FE:12:34:56", true},
|
|
132 |
{"0025:96FF:FE12:3456", false},
|
|
133 |
}
|
|
134 |
|
|
135 |
for i, test := range tests {
|
|
136 |
|
|
137 |
errs := validate.Field(test.param, "mac")
|
|
138 |
|
|
139 |
if test.expected == true {
|
|
140 |
if !IsEqual(errs, nil) {
|
|
141 |
t.Fatalf("Index: %d mac failed Error: %s", i, errs)
|
|
142 |
}
|
|
143 |
} else {
|
|
144 |
if IsEqual(errs, nil) {
|
|
145 |
t.Fatalf("Index: %d mac failed Error: %s", i, errs)
|
|
146 |
} else {
|
|
147 |
val := errs[""]
|
|
148 |
if val.Tag != "mac" {
|
|
149 |
t.Fatalf("Index: %d mac failed Error: %s", i, errs)
|
|
150 |
}
|
|
151 |
}
|
|
152 |
}
|
|
153 |
}
|
|
154 |
}
|
|
155 |
|
|
156 |
func TestIPValidation(t *testing.T) {
|
|
157 |
tests := []struct {
|
|
158 |
param string
|
|
159 |
expected bool
|
|
160 |
}{
|
|
161 |
{"10.0.0.1", true},
|
|
162 |
{"172.16.0.1", true},
|
|
163 |
{"192.168.0.1", true},
|
|
164 |
{"192.168.255.254", true},
|
|
165 |
{"192.168.255.256", false},
|
|
166 |
{"172.16.255.254", true},
|
|
167 |
{"172.16.256.255", false},
|
|
168 |
{"2001:cdba:0000:0000:0000:0000:3257:9652", true},
|
|
169 |
{"2001:cdba:0:0:0:0:3257:9652", true},
|
|
170 |
{"2001:cdba::3257:9652", true},
|
|
171 |
}
|
|
172 |
|
|
173 |
for i, test := range tests {
|
|
174 |
|
|
175 |
errs := validate.Field(test.param, "ip")
|
|
176 |
|
|
177 |
if test.expected == true {
|
|
178 |
if !IsEqual(errs, nil) {
|
|
179 |
t.Fatalf("Index: %d ip failed Error: %s", i, errs)
|
|
180 |
}
|
|
181 |
} else {
|
|
182 |
if IsEqual(errs, nil) {
|
|
183 |
t.Fatalf("Index: %d ip failed Error: %s", i, errs)
|
|
184 |
} else {
|
|
185 |
val := errs[""]
|
|
186 |
if val.Tag != "ip" {
|
|
187 |
t.Fatalf("Index: %d ip failed Error: %s", i, errs)
|
|
188 |
}
|
|
189 |
}
|
|
190 |
}
|
|
191 |
}
|
|
192 |
}
|
|
193 |
|
|
194 |
func TestIPv6Validation(t *testing.T) {
|
|
195 |
tests := []struct {
|
|
196 |
param string
|
|
197 |
expected bool
|
|
198 |
}{
|
|
199 |
{"10.0.0.1", false},
|
|
200 |
{"172.16.0.1", false},
|
|
201 |
{"192.168.0.1", false},
|
|
202 |
{"192.168.255.254", false},
|
|
203 |
{"192.168.255.256", false},
|
|
204 |
{"172.16.255.254", false},
|
|
205 |
{"172.16.256.255", false},
|
|
206 |
{"2001:cdba:0000:0000:0000:0000:3257:9652", true},
|
|
207 |
{"2001:cdba:0:0:0:0:3257:9652", true},
|
|
208 |
{"2001:cdba::3257:9652", true},
|
|
209 |
}
|
|
210 |
|
|
211 |
for i, test := range tests {
|
|
212 |
|
|
213 |
errs := validate.Field(test.param, "ipv6")
|
|
214 |
|
|
215 |
if test.expected == true {
|
|
216 |
if !IsEqual(errs, nil) {
|
|
217 |
t.Fatalf("Index: %d ipv6 failed Error: %s", i, errs)
|
|
218 |
}
|
|
219 |
} else {
|
|
220 |
if IsEqual(errs, nil) {
|
|
221 |
t.Fatalf("Index: %d ipv6 failed Error: %s", i, errs)
|
|
222 |
} else {
|
|
223 |
val := errs[""]
|
|
224 |
if val.Tag != "ipv6" {
|
|
225 |
t.Fatalf("Index: %d ipv6 failed Error: %s", i, errs)
|
|
226 |
}
|
|
227 |
}
|
|
228 |
}
|
|
229 |
}
|
|
230 |
}
|
|
231 |
|
|
232 |
func TestIPv4Validation(t *testing.T) {
|
|
233 |
tests := []struct {
|
|
234 |
param string
|
|
235 |
expected bool
|
|
236 |
}{
|
|
237 |
{"10.0.0.1", true},
|
|
238 |
{"172.16.0.1", true},
|
|
239 |
{"192.168.0.1", true},
|
|
240 |
{"192.168.255.254", true},
|
|
241 |
{"192.168.255.256", false},
|
|
242 |
{"172.16.255.254", true},
|
|
243 |
{"172.16.256.255", false},
|
|
244 |
{"2001:cdba:0000:0000:0000:0000:3257:9652", false},
|
|
245 |
{"2001:cdba:0:0:0:0:3257:9652", false},
|
|
246 |
{"2001:cdba::3257:9652", false},
|
|
247 |
}
|
|
248 |
|
|
249 |
for i, test := range tests {
|
|
250 |
|
|
251 |
errs := validate.Field(test.param, "ipv4")
|
|
252 |
|
|
253 |
if test.expected == true {
|
|
254 |
if !IsEqual(errs, nil) {
|
|
255 |
t.Fatalf("Index: %d ipv4 failed Error: %s", i, errs)
|
|
256 |
}
|
|
257 |
} else {
|
|
258 |
if IsEqual(errs, nil) {
|
|
259 |
t.Fatalf("Index: %d ipv4 failed Error: %s", i, errs)
|
|
260 |
} else {
|
|
261 |
val := errs[""]
|
|
262 |
if val.Tag != "ipv4" {
|
|
263 |
t.Fatalf("Index: %d ipv4 failed Error: %s", i, errs)
|
|
264 |
}
|
|
265 |
}
|
|
266 |
}
|
|
267 |
}
|
119 | 268 |
}
|
120 | 269 |
|
121 | 270 |
func TestSliceMapArrayChanFuncPtrInterfaceRequiredValidation(t *testing.T) {
|