修复test报错

This commit is contained in:
bjdgyc 2023-04-25 21:48:54 +08:00
parent b52b8598df
commit b81bc5c283
4 changed files with 21 additions and 18 deletions

View File

@ -199,7 +199,7 @@ func loopIp(username, macAddr string, uniqueMac bool) net.IP {
return ip
}
base.Warn("no ip available, please see ip_map table row")
base.Warn("no ip available, please see ip_map table row", username, macAddr)
return nil
}

View File

@ -20,11 +20,11 @@ func preData(tmpDir string) {
base.Cfg.DbSource = tmpDb
base.Cfg.Ipv4CIDR = "192.168.3.0/24"
base.Cfg.Ipv4Gateway = "192.168.3.1"
base.Cfg.Ipv4Start = "192.168.3.2"
base.Cfg.Ipv4End = "192.168.3.199"
base.Cfg.Ipv4Start = "192.168.3.100"
base.Cfg.Ipv4End = "192.168.3.150"
base.Cfg.MaxClient = 100
base.Cfg.MaxUserClient = 3
base.Cfg.IpLease = 10
base.Cfg.IpLease = 5
dbdata.Start()
group := dbdata.Group{
@ -49,29 +49,26 @@ func TestIpPool(t *testing.T) {
var ip net.IP
for i := 2; i <= 100; i++ {
for i := 100; i <= 150; i++ {
_ = AcquireIp(getTestUser(i), getTestMacAddr(i), 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(getTestUser(i), getTestMacAddr(i), true)
}
assert.True(net.IPv4(192, 168, 3, 199).Equal(ip))
ip = AcquireIp(getTestUser(200), getTestMacAddr(200), true)
assert.Nil(ip)
// 回收188
ReleaseIp(net.IPv4(192, 168, 3, 188), getTestMacAddr(188))
time.Sleep(time.Second * 15)
// 回收
ReleaseIp(net.IPv4(192, 168, 3, 140), getTestMacAddr(140))
time.Sleep(time.Second * 6)
// 从头循环获取可用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))
assert.NotNil(ip)
assert.True(net.IPv4(192, 168, 3, 140).Equal(ip))
// 回收全部
for i := 100; i <= 150; i++ {
ReleaseIp(net.IPv4(192, 168, 3, byte(i)), getTestMacAddr(i))
}
}
func getTestUser(i int) string {

View File

@ -190,6 +190,7 @@ func (s *Session) NewConn() *ConnSession {
limit := LimitClient(username, false)
if !limit {
base.Warn("limit is full", username)
return nil
}
ip := AcquireIp(username, macAddr, uniqueMac)

View File

@ -3,6 +3,7 @@ package sessdata
import (
"fmt"
"testing"
"time"
"github.com/bjdgyc/anylink/base"
"github.com/stretchr/testify/assert"
@ -24,11 +25,15 @@ func TestConnSession(t *testing.T) {
preData(tmp)
defer cleardata(tmp)
time.Sleep(time.Second * 10)
sess := NewSession("")
sess.Username = "user-test"
sess.Group = "group1"
sess.MacAddr = "00:15:5d:50:14:43"
cSess := sess.NewConn()
base.Info("cSess", cSess)
err := cSess.RateLimit(100, true)
ast.Nil(err)