Initial commit (code only without large binaries)
This commit is contained in:
138
EdgeDNS/internal/nodes/manager_route_test.go
Normal file
138
EdgeDNS/internal/nodes/manager_route_test.go
Normal file
@@ -0,0 +1,138 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
//go:build plus
|
||||
|
||||
package nodes
|
||||
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs"
|
||||
"github.com/TeaOSLab/EdgeDNS/internal/dbs"
|
||||
"github.com/TeaOSLab/EdgeDNS/internal/events"
|
||||
"github.com/TeaOSLab/EdgeDNS/internal/models"
|
||||
"github.com/iwind/TeaGo/Tea"
|
||||
_ "github.com/iwind/TeaGo/bootstrap"
|
||||
"github.com/iwind/TeaGo/logs"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRouteManager_Loop(t *testing.T) {
|
||||
var db = dbs.NewDB(Tea.Root + "/data/data.db")
|
||||
err := db.Init()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var manager = NewRouteManager(db)
|
||||
for i := 0; i < 10; i++ {
|
||||
_, err := manager.Loop()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
logs.PrintAsJSON(manager.allRouteMap, t)
|
||||
}
|
||||
|
||||
func TestRouteManager_Load(t *testing.T) {
|
||||
var db = dbs.NewDB(Tea.Root + "/data/data.db")
|
||||
err := db.Init()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var manager = NewRouteManager(db)
|
||||
err = manager.Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
logs.PrintAsJSON(manager.allRouteMap, t)
|
||||
t.Log("version:", manager.version)
|
||||
}
|
||||
|
||||
func TestRouteManager_AddRoute(t *testing.T) {
|
||||
var manager = NewRouteManager(nil)
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 1,
|
||||
UserId: 0,
|
||||
Priority: 0,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 2,
|
||||
UserId: 0,
|
||||
Priority: 1,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 3,
|
||||
UserId: 0,
|
||||
Priority: 2,
|
||||
Order: 1,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 4,
|
||||
UserId: 0,
|
||||
Priority: 2,
|
||||
Order: 1,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 4,
|
||||
UserId: 0,
|
||||
Priority: 2,
|
||||
Order: 1,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 4,
|
||||
UserId: 1,
|
||||
Priority: 2,
|
||||
Order: 1,
|
||||
})
|
||||
manager.addRoute(&models.NSRoute{
|
||||
Id: 5,
|
||||
UserId: 1,
|
||||
Priority: 2,
|
||||
Order: 1,
|
||||
})
|
||||
logs.PrintAsJSON(manager.allRouteMap, t)
|
||||
logs.PrintAsJSON(manager.userRouteMap, t)
|
||||
}
|
||||
|
||||
func TestRouteManager_FindRouteCodes(t *testing.T) {
|
||||
events.Notify(events.EventLoaded)
|
||||
|
||||
var manager = NewRouteManager(nil)
|
||||
manager.loadDefaultRoutes()
|
||||
{
|
||||
var r = &models.NSRoute{
|
||||
Id: 1,
|
||||
Ranges: []dnsconfigs.NSRouteRangeInterface{
|
||||
&dnsconfigs.NSRouteRangeIPRange{
|
||||
IPFrom: "192.168.1.1",
|
||||
IPTo: "192.168.1.200",
|
||||
},
|
||||
&dnsconfigs.NSRouteRangeIPRange{
|
||||
IPFrom: "192.168.1.200",
|
||||
IPTo: "192.168.1.255",
|
||||
},
|
||||
&dnsconfigs.NSRouteRangeIPRange{
|
||||
IPFrom: "127.0.0.1",
|
||||
IPTo: "127.0.0.1",
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, rr := range r.Ranges {
|
||||
err := rr.Init()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
manager.addRoute(r)
|
||||
}
|
||||
for _, ip := range []string{
|
||||
"192.168.1.100",
|
||||
"192.168.1.201",
|
||||
"192.168.2.1",
|
||||
"127.0.0.1",
|
||||
"111.197.174.111",
|
||||
"202.109.116.116",
|
||||
"8.8.8.8",
|
||||
} {
|
||||
t.Log(ip+": ", manager.FindRouteCodes(ip, 0))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user