mirror of https://github.com/bjdgyc/anylink.git
修复test报错
This commit is contained in:
parent
b52b8598df
commit
b81bc5c283
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue