修复test报错

This commit is contained in:
bjdgyc 2023-04-25 15:49:56 +08:00
parent 22fda0f6a1
commit b52b8598df
1 changed files with 28 additions and 10 deletions

View File

@ -6,6 +6,7 @@ import (
"os"
"path"
"testing"
"time"
"github.com/bjdgyc/anylink/base"
"github.com/bjdgyc/anylink/dbdata"
@ -18,10 +19,12 @@ func preData(tmpDir string) {
base.Cfg.DbType = "sqlite3"
base.Cfg.DbSource = tmpDb
base.Cfg.Ipv4CIDR = "192.168.3.0/24"
base.Cfg.Ipv4Start = "192.168.3.1"
base.Cfg.Ipv4Gateway = "192.168.3.1"
base.Cfg.Ipv4Start = "192.168.3.2"
base.Cfg.Ipv4End = "192.168.3.199"
base.Cfg.MaxClient = 100
base.Cfg.MaxUserClient = 3
base.Cfg.IpLease = 10
dbdata.Start()
group := dbdata.Group{
@ -46,22 +49,37 @@ func TestIpPool(t *testing.T) {
var ip net.IP
for i := 1; i <= 100; i++ {
_ = AcquireIp("user", fmt.Sprintf("mac-%d", i), true)
for i := 2; i <= 100; i++ {
_ = AcquireIp(getTestUser(i), getTestMacAddr(i), true)
}
ip = AcquireIp("user", "mac-new", true)
ip = AcquireIp(getTestUser(101), getTestMacAddr(101), true)
assert.True(net.IPv4(192, 168, 3, 101).Equal(ip))
for i := 102; i <= 199; i++ {
ip = AcquireIp("user", fmt.Sprintf("mac-%d", i), true)
ip = AcquireIp(getTestUser(i), getTestMacAddr(i), true)
}
assert.True(net.IPv4(192, 168, 3, 199).Equal(ip))
ip = AcquireIp("user", "mac-nil", true)
ip = AcquireIp(getTestUser(200), getTestMacAddr(200), true)
assert.Nil(ip)
ReleaseIp(net.IPv4(192, 168, 3, 88), "mac-88")
ReleaseIp(net.IPv4(192, 168, 3, 188), "mac-188")
// 回收188
ReleaseIp(net.IPv4(192, 168, 3, 188), getTestMacAddr(188))
time.Sleep(time.Second * 15)
// 从头循环获取可用ip
ip = AcquireIp("user", "mac-188", true)
t.Log("mac-188", ip)
user_new := getTestUser(210)
mac_new := getTestMacAddr(210)
ip = AcquireIp(user_new, mac_new, true)
t.Log("mac_new", ip)
assert.True(net.IPv4(192, 168, 3, 188).Equal(ip))
}
func getTestUser(i int) string {
return fmt.Sprintf("user-%d", i)
}
func getTestMacAddr(i int) string {
// 前缀mac
macAddr := "02:00:00:00:00"
return fmt.Sprintf("%s:%x", macAddr, i)
}