From 77116ea854f8c7c8a2d4b21c998eb97e56bc0817 Mon Sep 17 00:00:00 2001 From: wsczx Date: Fri, 22 Nov 2024 20:02:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/dbdata/group_test.go | 55 +++++++------- server/dbdata/user_test.go | 148 ++++++++++++++++++------------------ 2 files changed, 103 insertions(+), 100 deletions(-) diff --git a/server/dbdata/group_test.go b/server/dbdata/group_test.go index 70342b3..0d64c86 100644 --- a/server/dbdata/group_test.go +++ b/server/dbdata/group_test.go @@ -3,6 +3,7 @@ package dbdata import ( "testing" + "github.com/bjdgyc/anylink/pkg/utils" "github.com/stretchr/testify/assert" ) @@ -42,33 +43,33 @@ func TestGetGroupNames(t *testing.T) { err = SetGroup(&g6) ast.Nil(err) - // authData = map[string]interface{}{ - // "type": "ldap", - // "ldap": map[string]interface{}{ - // "addr": "192.168.8.12:389", - // "tls": true, - // "bind_name": "userfind@abc.com", - // "bind_pwd": "afdbfdsafds", - // "base_dn": "dc=abc,dc=com", - // "object_class": "person", - // "search_attr": "sAMAccountName", - // "member_of": "cn=vpn,cn=user,dc=abc,dc=com", - // }, - // } - // g7 := Group{Name: "g7", ClientDns: []ValData{{Val: "114.114.114.114"}}, Auth: authData} - // err = SetGroup(&g7) - // ast.Nil(err) + authData = map[string]interface{}{ + "type": "ldap", + "ldap": map[string]interface{}{ + "addr": "192.168.8.12:389", + "tls": true, + "bind_name": "userfind@abc.com", + "bind_pwd": "afdbfdsafds", + "base_dn": "dc=abc,dc=com", + "object_class": "person", + "search_attr": "sAMAccountName", + "member_of": "cn=vpn,cn=user,dc=abc,dc=com", + }, + } + g7 := Group{Name: "g7", ClientDns: []ValData{{Val: "114.114.114.114"}}, Auth: authData} + err = SetGroup(&g7) + ast.Nil(err) - // // 判断所有数据 - // gAll := []string{"g1", "g2", "g3", "g4", "g5", "g6", "g7"} - // gs := GetGroupNames() - // for _, v := range gs { - // ast.Equal(true, utils.InArrStr(gAll, v)) - // } + // 判断所有数据 + gAll := []string{"g1", "g2", "g3", "g4", "g5", "g6", "g7"} + gs := GetGroupNames() + for _, v := range gs { + ast.Equal(true, utils.InArrStr(gAll, v)) + } - // gni := GetGroupNamesIds() - // for _, v := range gni { - // ast.NotEqual(0, v.Id) - // ast.Equal(true, utils.InArrStr(gAll, v.Name)) - // } + gni := GetGroupNamesIds() + for _, v := range gni { + ast.NotEqual(0, v.Id) + ast.Equal(true, utils.InArrStr(gAll, v.Name)) + } } diff --git a/server/dbdata/user_test.go b/server/dbdata/user_test.go index e3d6007..c7aa92f 100644 --- a/server/dbdata/user_test.go +++ b/server/dbdata/user_test.go @@ -2,87 +2,89 @@ package dbdata import ( "testing" + + "github.com/stretchr/testify/assert" ) func TestCheckUser(t *testing.T) { - // ast := assert.New(t) + ast := assert.New(t) - // preIpData() - // defer closeIpdata() + preIpData() + defer closeIpdata() - // group := "group1" + group := "group1" - // // 添加一个组 - // dns := []ValData{{Val: "114.114.114.114"}} - // route := []ValData{{Val: "192.168.1.0/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.0/255.255.255.0") + // 添加一个组 + dns := []ValData{{Val: "114.114.114.114"}} + route := []ValData{{Val: "192.168.1.0/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.0/255.255.255.0") - // // 添加一个用户 - // pincode := "a123456" - // u := User{Username: "aaa", PinCode: pincode, Groups: []string{group}, Status: 1} - // err = SetUser(&u) + // 添加一个用户 + pincode := "a123456" + u := User{Username: "aaa", PinCode: pincode, 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) - // // 验证 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", pincode, group) + ast.Nil(err) - // // 单独验证密码 - // u.DisableOtp = true - // _ = SetUser(&u) - // err = CheckUser("aaa", pincode, group) - // ast.Nil(err) - - // // 添加一个radius组 - // group2 := "group2" - // authData := map[string]interface{}{ - // "type": "radius", - // "radius": map[string]string{ - // "addr": "192.168.1.12:1044", - // "secret": "43214132", - // }, - // } - // g2 := Group{Name: group2, Status: 1, ClientDns: dns, RouteInclude: route, Auth: authData} - // err = SetGroup(&g2) - // ast.Nil(err) - // err = CheckUser("aaa", "bbbbbbb", group2) - // if ast.NotNil(err) { - // ast.Equal("aaa Radius服务器连接异常, 请检测服务器和端口", err.Error()) - // } - // // 添加用户策略 - // dns2 := []ValData{{Val: "8.8.8.8"}} - // route2 := []ValData{{Val: "192.168.2.0/24"}} - // p1 := Policy{Username: "aaa", Status: 1, ClientDns: dns2, RouteInclude: route2} - // err = SetPolicy(&p1) - // ast.Nil(err) - // err = CheckUser("aaa", pincode, group) - // ast.Nil(err) - // // 添加一个ldap组 - // group3 := "group3" - // authData = map[string]interface{}{ - // "type": "ldap", - // "ldap": map[string]interface{}{ - // "addr": "192.168.8.12:389", - // "tls": true, - // "bind_name": "userfind@abc.com", - // "bind_pwd": "afdbfdsafds", - // "base_dn": "dc=abc,dc=com", - // "object_class": "person", - // "search_attr": "sAMAccountName", - // "member_of": "cn=vpn,cn=user,dc=abc,dc=com", - // }, - // } - // g3 := Group{Name: group3, Status: 1, ClientDns: dns, RouteInclude: route, Auth: authData} - // err = SetGroup(&g3) - // ast.Nil(err) - // err = CheckUser("aaa", "bbbbbbb", group3) - // if ast.NotNil(err) { - // ast.Equal("aaa LDAP服务器连接异常, 请检测服务器和端口", err.Error()) - // } + // 添加一个radius组 + group2 := "group2" + authData := map[string]interface{}{ + "type": "radius", + "radius": map[string]string{ + "addr": "192.168.1.12:1044", + "secret": "43214132", + }, + } + g2 := Group{Name: group2, Status: 1, ClientDns: dns, RouteInclude: route, Auth: authData} + err = SetGroup(&g2) + ast.Nil(err) + err = CheckUser("aaa", "bbbbbbb", group2) + if ast.NotNil(err) { + ast.Equal("aaa Radius服务器连接异常, 请检测服务器和端口", err.Error()) + } + // 添加用户策略 + dns2 := []ValData{{Val: "8.8.8.8"}} + route2 := []ValData{{Val: "192.168.2.0/24"}} + p1 := Policy{Username: "aaa", Status: 1, ClientDns: dns2, RouteInclude: route2} + err = SetPolicy(&p1) + ast.Nil(err) + err = CheckUser("aaa", pincode, group) + ast.Nil(err) + // 添加一个ldap组 + group3 := "group3" + authData = map[string]interface{}{ + "type": "ldap", + "ldap": map[string]interface{}{ + "addr": "192.168.8.12:389", + "tls": true, + "bind_name": "userfind@abc.com", + "bind_pwd": "afdbfdsafds", + "base_dn": "dc=abc,dc=com", + "object_class": "person", + "search_attr": "sAMAccountName", + "member_of": "cn=vpn,cn=user,dc=abc,dc=com", + }, + } + g3 := Group{Name: group3, Status: 1, ClientDns: dns, RouteInclude: route, Auth: authData} + err = SetGroup(&g3) + ast.Nil(err) + err = CheckUser("aaa", "bbbbbbb", group3) + if ast.NotNil(err) { + ast.Equal("aaa LDAP服务器连接异常, 请检测服务器和端口", err.Error()) + } }