| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package dbdata
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestGetPolicy(t *testing.T) {
- ast := assert.New(t)
- preIpData()
- defer closeIpdata()
- // 添加 Policy
- p1 := Policy{Username: "a1", ClientDns: []ValData{{Val: "114.114.114.114"}}, DsExcludeDomains: "baidu.com,163.com"}
- err := SetPolicy(&p1)
- ast.Nil(err)
- p2 := Policy{Username: "a2", ClientDns: []ValData{{Val: "114.114.114.114"}}, DsExcludeDomains: "com.cn,qq.com"}
- err = SetPolicy(&p2)
- ast.Nil(err)
- route := []ValData{{Val: "192.168.1.1/24"}}
- p3 := Policy{Username: "a3", ClientDns: []ValData{{Val: "114.114.114.114"}}, RouteInclude: route, DsExcludeDomains: "com.cn,qq.com"}
- err = SetPolicy(&p3)
- ast.Nil(err)
- // 判断 IpMask
- ast.Equal(p3.RouteInclude[0].IpMask, "192.168.1.1/255.255.255.0")
- route2 := []ValData{{Val: "192.168.2.1/24"}}
- p4 := Policy{Username: "a4", ClientDns: []ValData{{Val: "114.114.114.114"}}, RouteExclude: route2, DsIncludeDomains: "com.cn,qq.com"}
- err = SetPolicy(&p4)
- ast.Nil(err)
- // 判断 IpMask
- ast.Equal(p4.RouteExclude[0].IpMask, "192.168.2.1/255.255.255.0")
- // 判断所有数据
- var userPolicy *Policy
- pAll := []string{"a1", "a2", "a3", "a4"}
- for _, v := range pAll {
- userPolicy = GetPolicy(v)
- ast.NotEqual(userPolicy.Id, 0, "user policy id is zero")
- }
- }
|