|
@@ -208,24 +208,30 @@ func Test_parseUnsafeRoutes(t *testing.T) {
|
|
c.Settings["tun"] = map[interface{}]interface{}{"unsafe_routes": []interface{}{
|
|
c.Settings["tun"] = map[interface{}]interface{}{"unsafe_routes": []interface{}{
|
|
map[interface{}]interface{}{"via": "127.0.0.1", "mtu": "9000", "route": "1.0.0.0/29"},
|
|
map[interface{}]interface{}{"via": "127.0.0.1", "mtu": "9000", "route": "1.0.0.0/29"},
|
|
map[interface{}]interface{}{"via": "127.0.0.1", "mtu": "8000", "route": "1.0.0.1/32"},
|
|
map[interface{}]interface{}{"via": "127.0.0.1", "mtu": "8000", "route": "1.0.0.1/32"},
|
|
|
|
+ map[interface{}]interface{}{"via": "127.0.0.1", "mtu": "1500", "metric": 1234, "route": "1.0.0.2/32"},
|
|
}}
|
|
}}
|
|
routes, err = parseUnsafeRoutes(c, n)
|
|
routes, err = parseUnsafeRoutes(c, n)
|
|
assert.Nil(t, err)
|
|
assert.Nil(t, err)
|
|
- assert.Len(t, routes, 2)
|
|
|
|
|
|
+ assert.Len(t, routes, 3)
|
|
|
|
|
|
tested := 0
|
|
tested := 0
|
|
for _, r := range routes {
|
|
for _, r := range routes {
|
|
if r.mtu == 8000 {
|
|
if r.mtu == 8000 {
|
|
assert.Equal(t, "1.0.0.1/32", r.route.String())
|
|
assert.Equal(t, "1.0.0.1/32", r.route.String())
|
|
tested++
|
|
tested++
|
|
- } else {
|
|
|
|
|
|
+ } else if r.mtu == 9000 {
|
|
assert.Equal(t, 9000, r.mtu)
|
|
assert.Equal(t, 9000, r.mtu)
|
|
assert.Equal(t, "1.0.0.0/29", r.route.String())
|
|
assert.Equal(t, "1.0.0.0/29", r.route.String())
|
|
tested++
|
|
tested++
|
|
|
|
+ } else {
|
|
|
|
+ assert.Equal(t, 1500, r.mtu)
|
|
|
|
+ assert.Equal(t, 1234, r.metric)
|
|
|
|
+ assert.Equal(t, "1.0.0.2/32", r.route.String())
|
|
|
|
+ tested++
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if tested != 2 {
|
|
|
|
|
|
+ if tested != 3 {
|
|
t.Fatal("Did not see both unsafe_routes")
|
|
t.Fatal("Did not see both unsafe_routes")
|
|
}
|
|
}
|
|
}
|
|
}
|