group_test.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package dbdata
  2. import (
  3. "testing"
  4. "github.com/bjdgyc/anylink/pkg/utils"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestGetGroupNames(t *testing.T) {
  8. ast := assert.New(t)
  9. preIpData()
  10. defer closeIpdata()
  11. // 添加 group
  12. g1 := Group{Name: "g1", ClientDns: []ValData{{Val: "114.114.114.114"}}}
  13. err := SetGroup(&g1)
  14. ast.Nil(err)
  15. g2 := Group{Name: "g2", ClientDns: []ValData{{Val: "114.114.114.114"}}}
  16. err = SetGroup(&g2)
  17. ast.Nil(err)
  18. g3 := Group{Name: "g3", ClientDns: []ValData{{Val: "114.114.114.114"}}}
  19. err = SetGroup(&g3)
  20. ast.Nil(err)
  21. authData := map[string]interface{}{
  22. "type": "radius",
  23. "radius": map[string]string{
  24. "addr": "192.168.8.12:1044",
  25. "secret": "43214132",
  26. },
  27. }
  28. g4 := Group{Name: "g4", ClientDns: []ValData{{Val: "114.114.114.114"}}, Auth: authData}
  29. err = SetGroup(&g4)
  30. ast.Nil(err)
  31. g5 := Group{Name: "g5", ClientDns: []ValData{{Val: "114.114.114.114"}}, DsIncludeDomains: "baidu.com,163.com"}
  32. err = SetGroup(&g5)
  33. if ast.NotNil(err) {
  34. ast.Equal("默认路由, 不允许设置\"包含域名\", 请重新配置", err.Error())
  35. }
  36. g6 := Group{Name: "g6", ClientDns: []ValData{{Val: "114.114.114.114"}}, DsExcludeDomains: "com.cn,qq.com"}
  37. err = SetGroup(&g6)
  38. ast.Nil(err)
  39. authData = map[string]interface{}{
  40. "type": "ldap",
  41. "ldap": map[string]interface{}{
  42. "addr": "192.168.8.12:389",
  43. "tls": true,
  44. "bind_name": "[email protected]",
  45. "bind_pwd": "afdbfdsafds",
  46. "base_dn": "dc=abc,dc=com",
  47. "object_class": "person",
  48. "search_attr": "sAMAccountName",
  49. "member_of": "cn=vpn,cn=user,dc=abc,dc=com",
  50. },
  51. }
  52. g7 := Group{Name: "g7", ClientDns: []ValData{{Val: "114.114.114.114"}}, Auth: authData}
  53. err = SetGroup(&g7)
  54. ast.Nil(err)
  55. // 判断所有数据
  56. gAll := []string{"g1", "g2", "g3", "g4", "g5", "g6", "g7"}
  57. gs := GetGroupNames()
  58. for _, v := range gs {
  59. ast.Equal(true, utils.InArrStr(gAll, v))
  60. }
  61. gni := GetGroupNamesIds()
  62. for _, v := range gni {
  63. ast.NotEqual(0, v.Id)
  64. ast.Equal(true, utils.InArrStr(gAll, v.Name))
  65. }
  66. }