2019-04-22 02:59:20 +00:00

160 lines
4.7 KiB
Go

package dispatch
import (
"fmt"
"testing"
)
func TestMatcher(t *testing.T) {
config := []byte(`{
"ip_max_limit": 2,
"default_domain" : "broadcastlv.chat.bilibili.com",
"danmaku_common_dispatch": {
"china" :{
"china_telecom": {
"master": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
},
"china_unicom": {
"master": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
},
"cmcc": {
"master": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
},
"other": {
"master": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
}
},
"oversea": [
{
"rule":"($lng >= -20) && ($lng <= 160)",
"master": {
"tencent_siliconvalley": 10
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
},
{
"master": {
"tencent_siliconvalley": 10
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
}
],
"unknown" : {
"master": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24
},
"slave": {
"tencent_shanghai": 10,
"tencent_guangzhou": 6,
"kingsoft": 24,
"aliyun": 30
}
}
},
"danmaku_vip_dispatch" : [
{
"rule":"$uid==120497668",
"ip": ["118.89.14.174"]
},
{
"rule":"$uid % 10 == 1",
"group": ["tencent_guangzhou"]
},
{
"rule":"$uid == 221122111"
}
],
"danmaku_comet_group": {
"tencent_shanghai": [
"118.89.14.174",
"118.89.14.115",
"118.89.14.103",
"118.89.14.206",
"118.89.13.229"
],
"tencent_guangzhou": [
"211.159.194.41",
"211.159.194.115",
"211.159.194.105"
],
"tencent_hongkong": [
"119.28.56.183"
],
"tencent_siliconvalley": [
"49.51.37.200"
],
"kingsoft": [
"120.92.78.57",
"120.92.158.137",
"120.92.112.150"
],
"aliyun": [
"101.132.195.89",
"47.104.64.120",
"59.110.167.237",
"47.92.112.162",
"47.96.139.69",
"119.23.41.85"
]
}
}`)
m, err := NewMatcher(config, nil, nil, nil)
if err != nil {
t.Error(err)
t.Fail()
}
fmt.Println(m)
}