diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f5f0d88..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: go - -go: - - 1.15 - - tip - -before_install: - - go get -t -v ./... - -script: - - go test -race -coverprofile=coverage.txt -covermode=atomic - -after_success: - - bash <(curl -s https://codecov.io/bash) - diff --git a/README.md b/README.md index 7ecb336..446de9f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # AnyLink [![PkgGoDev](https://pkg.go.dev/badge/github.com/bjdgyc/anylink)](https://pkg.go.dev/github.com/bjdgyc/anylink) +[![Go Report Card](https://goreportcard.com/badge/github.com/bjdgyc/anylink)](https://goreportcard.com/report/github.com/bjdgyc/anylink) +[![codecov](https://codecov.io/gh/bjdgyc/anylink/branch/master/graph/badge.svg)](https://codecov.io/gh/bjdgyc/anylink) AnyLink 是一个企业级远程办公ssl vpn软件,可以支持多人同时在线使用。 @@ -52,7 +54,7 @@ sudo ./anylink -conf="conf/server.toml" - [x] 流量控制 - [x] 后台管理界面 - [x] 访问权限管理 - + - [ ] DTLS-UDP通道 ## Config diff --git a/sessdata/ip_pool_test.go b/sessdata/ip_pool_test.go index 72d32f0..d1583cb 100644 --- a/sessdata/ip_pool_test.go +++ b/sessdata/ip_pool_test.go @@ -12,27 +12,35 @@ import ( "github.com/stretchr/testify/assert" ) -func preIpData() { +func preData(tmpDir string) { + tmpDb := path.Join(tmpDir, "test.db") + base.Cfg.DbFile = tmpDb base.Cfg.Ipv4Network = "192.168.3.0" base.Cfg.Ipv4Netmask = "255.255.255.0" base.Cfg.Ipv4Pool = []string{"192.168.3.1", "192.168.3.199"} - tmpDb := path.Join(os.TempDir(), "anylink_test.db") - base.Cfg.DbFile = tmpDb + base.Cfg.MaxClient = 100 + base.Cfg.MaxUserClient = 3 + dbdata.Start() + group := dbdata.Group{ + Name: "group1", + Bandwidth: 1000, + } + dbdata.Save(&group) + initIpPool() } -func closeIpdata() { +func cleardata(tmpDir string) { dbdata.Stop() - tmpDb := path.Join(os.TempDir(), "anylink_test.db") + tmpDb := path.Join(tmpDir, "test.db") os.Remove(tmpDb) } func TestIpPool(t *testing.T) { assert := assert.New(t) - preIpData() - defer closeIpdata() - - initIpPool() + tmp := t.TempDir() + preData(tmp) + defer cleardata(tmp) var ip net.IP @@ -50,7 +58,7 @@ func TestIpPool(t *testing.T) { ReleaseIp(net.IPv4(192, 168, 3, 88), "mac-88") ReleaseIp(net.IPv4(192, 168, 3, 77), "mac-77") - // 最早过期的ip + // 从头循环获取可用ip ip = AcquireIp("user", "mac-release-new") - assert.True(net.IPv4(192, 168, 3, 88).Equal(ip)) + assert.True(net.IPv4(192, 168, 3, 77).Equal(ip)) } diff --git a/sessdata/session_test.go b/sessdata/session_test.go index 3f243eb..268d918 100644 --- a/sessdata/session_test.go +++ b/sessdata/session_test.go @@ -18,10 +18,16 @@ func TestNewSession(t *testing.T) { func TestConnSession(t *testing.T) { assert := assert.New(t) - preIpData() - defer closeIpdata() + tmp := t.TempDir() + preData(tmp) + defer cleardata(tmp) + sess := NewSession("") + sess.Group = "group1" + sess.MacAddr = "00:15:5d:50:14:43" + cSess := sess.NewConn() + cSess.RateLimit(100, true) assert.Equal(cSess.BandwidthUp, uint32(100)) cSess.RateLimit(200, false)