From b52b8598dfecc750a10ea879b8c8c72a2b2b0f52 Mon Sep 17 00:00:00 2001 From: bjdgyc Date: Tue, 25 Apr 2023 15:49:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtest=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/sessdata/ip_pool_test.go | 38 ++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/server/sessdata/ip_pool_test.go b/server/sessdata/ip_pool_test.go index 5a2086e..8ead93d 100644 --- a/server/sessdata/ip_pool_test.go +++ b/server/sessdata/ip_pool_test.go @@ -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) +}