完善测试文件

This commit is contained in:
bjdgyc 2021-03-10 17:00:16 +08:00
parent ddba116fbf
commit 016a43b792
5 changed files with 83 additions and 6 deletions

View File

@ -22,12 +22,13 @@ func closeIpdata() {
}
func TestDb(t *testing.T) {
assert := assert.New(t)
ast := assert.New(t)
preIpData()
defer closeIpdata()
u := User{Username: "a"}
_ = Save(&u)
err := Save(&u)
ast.Nil(err)
assert.Equal(u.Id, 1)
ast.Equal(u.Id, 1)
}

View File

@ -0,0 +1,33 @@
package dbdata
import (
"testing"
"github.com/bjdgyc/anylink/pkg/utils"
"github.com/stretchr/testify/assert"
)
func TestGetGroupNames(t *testing.T) {
ast := assert.New(t)
preIpData()
defer closeIpdata()
// 添加 group
g1 := Group{Name: "g1", ClientDns: []ValData{{Val: "114.114.114.114"}}}
err := SetGroup(&g1)
ast.Nil(err)
g2 := Group{Name: "g2", ClientDns: []ValData{{Val: "114.114.114.114"}}}
err = SetGroup(&g2)
ast.Nil(err)
g3 := Group{Name: "g3", ClientDns: []ValData{{Val: "114.114.114.114"}}}
err = SetGroup(&g3)
ast.Nil(err)
// 判断所有数据
gAll := []string{"g1", "g2", "g3"}
gs := GetGroupNames()
for _, v := range gs {
ast.Equal(true, utils.InArrStr(gAll, v))
}
}

View File

@ -35,7 +35,7 @@ func SetUser(v *User) error {
planPass := v.PinCode
// 自动生成密码
if len(planPass) < 6 {
planPass = utils.RandomNum(8)
planPass = utils.RandomRunes(8)
}
v.PinCode = planPass
@ -82,7 +82,7 @@ func CheckUser(name, pwd, group string) error {
groupData := &Group{}
err = One("Name", group, groupData)
if err != nil || groupData.Status != 1 {
return fmt.Errorf("%s %s", name, "用户组错误")
return fmt.Errorf("%s - %s", name, "用户组错误")
}
// 判断otp信息

View File

@ -0,0 +1,43 @@
package dbdata
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/xlzd/gotp"
)
func TestCheckUser(t *testing.T) {
ast := assert.New(t)
preIpData()
defer closeIpdata()
group := "group1"
// 添加一个组
dns := []ValData{{Val: "114.114.114.114"}}
route := []ValData{{Val: "192.168.1.1/24"}}
g := Group{Name: group, Status: 1, ClientDns: dns, RouteInclude: route}
err := SetGroup(&g)
ast.Nil(err)
// 判断 IpMask
ast.Equal(g.RouteInclude[0].IpMask, "192.168.1.1/255.255.255.0")
// 添加一个用户
u := User{Username: "aaa", Groups: []string{group}, Status: 1}
err = SetUser(&u)
ast.Nil(err)
// 验证 PinCode + OtpSecret
totp := gotp.NewDefaultTOTP(u.OtpSecret)
secret := totp.Now()
err = CheckUser("aaa", u.PinCode+secret, group)
ast.Nil(err)
// 单独验证密码
u.DisableOtp = true
_ = SetUser(&u)
err = CheckUser("aaa", u.PinCode, group)
ast.Nil(err)
}

View File

@ -61,7 +61,7 @@ func HumanByte(bf interface{}) string {
return hb
}
func RandomNum(length int) string {
func RandomRunes(length int) string {
letterRunes := []rune("abcdefghijklmnpqrstuvwxy1234567890")
bytes := make([]rune, length)