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
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,11 @@ func preData(tmpDir string) {
|
||||||
base.Cfg.DbSource = tmpDb
|
base.Cfg.DbSource = tmpDb
|
||||||
base.Cfg.Ipv4CIDR = "192.168.3.0/24"
|
base.Cfg.Ipv4CIDR = "192.168.3.0/24"
|
||||||
base.Cfg.Ipv4Gateway = "192.168.3.1"
|
base.Cfg.Ipv4Gateway = "192.168.3.1"
|
||||||
base.Cfg.Ipv4Start = "192.168.3.2"
|
base.Cfg.Ipv4Start = "192.168.3.100"
|
||||||
base.Cfg.Ipv4End = "192.168.3.199"
|
base.Cfg.Ipv4End = "192.168.3.150"
|
||||||
base.Cfg.MaxClient = 100
|
base.Cfg.MaxClient = 100
|
||||||
base.Cfg.MaxUserClient = 3
|
base.Cfg.MaxUserClient = 3
|
||||||
base.Cfg.IpLease = 10
|
base.Cfg.IpLease = 5
|
||||||
|
|
||||||
dbdata.Start()
|
dbdata.Start()
|
||||||
group := dbdata.Group{
|
group := dbdata.Group{
|
||||||
|
@ -49,29 +49,26 @@ func TestIpPool(t *testing.T) {
|
||||||
|
|
||||||
var ip net.IP
|
var ip net.IP
|
||||||
|
|
||||||
for i := 2; i <= 100; i++ {
|
for i := 100; i <= 150; i++ {
|
||||||
_ = AcquireIp(getTestUser(i), getTestMacAddr(i), true)
|
_ = AcquireIp(getTestUser(i), getTestMacAddr(i), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
ip = AcquireIp(getTestUser(101), getTestMacAddr(101), true)
|
// 回收
|
||||||
assert.True(net.IPv4(192, 168, 3, 101).Equal(ip))
|
ReleaseIp(net.IPv4(192, 168, 3, 140), getTestMacAddr(140))
|
||||||
for i := 102; i <= 199; i++ {
|
time.Sleep(time.Second * 6)
|
||||||
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)
|
|
||||||
|
|
||||||
// 从头循环获取可用ip
|
// 从头循环获取可用ip
|
||||||
user_new := getTestUser(210)
|
user_new := getTestUser(210)
|
||||||
mac_new := getTestMacAddr(210)
|
mac_new := getTestMacAddr(210)
|
||||||
ip = AcquireIp(user_new, mac_new, true)
|
ip = AcquireIp(user_new, mac_new, true)
|
||||||
t.Log("mac_new", ip)
|
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 {
|
func getTestUser(i int) string {
|
||||||
|
|
|
@ -190,6 +190,7 @@ func (s *Session) NewConn() *ConnSession {
|
||||||
|
|
||||||
limit := LimitClient(username, false)
|
limit := LimitClient(username, false)
|
||||||
if !limit {
|
if !limit {
|
||||||
|
base.Warn("limit is full", username)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
ip := AcquireIp(username, macAddr, uniqueMac)
|
ip := AcquireIp(username, macAddr, uniqueMac)
|
||||||
|
|
|
@ -3,6 +3,7 @@ package sessdata
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/bjdgyc/anylink/base"
|
"github.com/bjdgyc/anylink/base"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -24,11 +25,15 @@ func TestConnSession(t *testing.T) {
|
||||||
preData(tmp)
|
preData(tmp)
|
||||||
defer cleardata(tmp)
|
defer cleardata(tmp)
|
||||||
|
|
||||||
|
time.Sleep(time.Second * 10)
|
||||||
|
|
||||||
sess := NewSession("")
|
sess := NewSession("")
|
||||||
|
sess.Username = "user-test"
|
||||||
sess.Group = "group1"
|
sess.Group = "group1"
|
||||||
sess.MacAddr = "00:15:5d:50:14:43"
|
sess.MacAddr = "00:15:5d:50:14:43"
|
||||||
|
|
||||||
cSess := sess.NewConn()
|
cSess := sess.NewConn()
|
||||||
|
base.Info("cSess", cSess)
|
||||||
|
|
||||||
err := cSess.RateLimit(100, true)
|
err := cSess.RateLimit(100, true)
|
||||||
ast.Nil(err)
|
ast.Nil(err)
|
||||||
|
|
Loading…
Reference in New Issue