修改:zhub_client

This commit is contained in:
2024-03-06 17:39:23 +08:00
parent 9d85efce17
commit d471a3f508
4 changed files with 106 additions and 238 deletions

View File

@@ -1,110 +1,45 @@
package cmd
import (
"encoding/base64"
"encoding/json"
"fmt"
"log"
"strconv"
"strings"
"sync/atomic"
"sync"
"testing"
"time"
)
var zhub *Client
var (
addr = "127.0.0.1:1216"
)
var hub *ZHubClient
var once = sync.Once{}
func init() {
client, err := Create("zhub-cli", addr, "C-0", "admin@123456")
if err != nil {
log.Fatal(err)
}
zhub = client
}
once.Do(func() {
hub := &ZHubClient{
appname: "hub-cli",
addr: "127.0.0.1:1216",
groupid: "C-0",
auth: "admin@123456",
}
err := hub.Init()
func newClient(appname, groupid string) *Client {
client, err := Create(appname, addr, groupid, "admin@123456")
if err != nil {
log.Fatal(err)
}
return client
}
func TestTimer(t *testing.T) {
go func() {
client := newClient("zhub-cli", "g-1")
client.Subscribe("ax1", func(v string) {
log.Println("topic-1-ax: " + v)
})
}()
go func() {
client := newClient("zhub-cli", "g-1")
client.Subscribe("ax1", func(v string) {
log.Println("topic-2-ax: " + v)
})
}()
go func() {
client := newClient("zhub-cli", "g-1")
client.Subscribe("ax1", func(v string) {
log.Println("topic-3-ax: " + v)
})
}()
time.Sleep(time.Hour * 3)
}
func TestSendCmd(t *testing.T) {
client := newClient("zhub-cli", "group-admin")
//client.Cmd("reload-timer")
client.Cmd("shutdown")
}
func TestPublish(t *testing.T) {
/*zhub.Publish("abx", "asd\r\nxxx1")
zhub.Publish("abx", "asd\r\nxxx2")
zhub.Publish("abx", "asd\r\nxxx3")
zhub.Publish("abx", "asd\r\nxxx4")
zhub.Publish("abx", "asd\r\nxxx5")*/
/*for i := 0; i < 10000; i++ {
zhub.Publish("ax1", strconv.Itoa(i))
}*/
/*for i := 0; i < 20_0000; i++ {
time.Sleep(1 * time.Millisecond)
zhub.Publish("b", strconv.Itoa(i))
}*/
/*zhub.Subscribe("wx:user-follow", func(v string) {
fmt.Println(v)
})*/
//hub.Publish("ax", "1")
time.Sleep(time.Second)
if err != nil {
log.Fatal(err)
}
hub = hub
})
}
func TestLock(t *testing.T) {
client, _ := Create("zhub-cli", addr, "xx", "admin@123456")
client.Subscribe("lock", func(v string) {
hub.Subscribe("lock", func(v string) {
})
var fun = func(x string) {
log.Println("lock", time.Now().UnixNano()/1e6)
lock := client.Lock("a", 30)
defer client.Unlock(lock)
lock := hub.Lock("a", 30)
defer hub.Unlock(lock)
//client.Lock("a", 5)
for i := 0; i < 5; i++ {
@@ -124,6 +59,8 @@ func rotate(nums []int, k int) {
k = k % len(nums)
nums = append(nums[len(nums)-k:], nums[0:len(nums)-k]...)
}
// 特殊符号测试
func TestName(t *testing.T) {
//str := ", response = {\"success\":true,\"retcode\":0,\"result\":{\"age\":0,\"explevel\":1,\"face\":\"https://aimg.woaihaoyouxi.com/haogame/202106/pic/20210629095545FmGt-v9NYqyNZ_Q6_y3zM_RMrDgd.jpg\",\"followed\":0,\"gender\":0,\"idenstatus\":0,\"matchcatelist\":[{\"catename\":\"足球\",\"catepic\":\"https://aimg.woaihaoyouxi.com/haogame/202107/pic/20210714103556FoG5ICf_7BFx6Idyo3TYpJQ7tmfG.png\",\"matchcateid\":1},{\"catename\":\"篮球\",\"catepic\":\"https://aimg.woaihaoyouxi.com/haogame/202107/pic/20210714103636FklsXTn1f6Jlsam8Jk-yFB7Upo3C.png\",\"matchcateid\":2}],\"matchcates\":\"2,1\",\"mobile\":\"18515190967\",\"regtime\":1624931714781,\"sessionid\":\"d1fc447753bd4700ad29674a753030fa\",\"status\":10,\"userid\":100463,\"username\":\"绝尘\",\"userno\":100463}}"
/*str := "别人家的女娃子🤞🏻"
@@ -150,83 +87,7 @@ func TestName(t *testing.T) {
func toStr(d interface{}) string {
bs, _ := json.Marshal(d)
return string(bs[:])
}
// 接收数据 A
func TestC_a(t *testing.T) {
zhub, err := Create("zhub-cli", addr, "C-1", "admin@123456")
if err != nil {
log.Fatal(err)
}
zhub.Subscribe("cmt:user-msg", func(v string) {
fmt.Println(v)
})
time.Sleep(10 * time.Hour)
}
// 接收数据
func TestC_ab(t *testing.T) {
zhub, err := Create("zhub-cli", addr, "C-1", "admin@123456")
if err != nil {
log.Fatal(err)
}
zhub.Subscribe("a", func(v string) {
fmt.Println("a:", v)
})
zhub.Subscribe("b", func(v string) {
fmt.Println("b", v)
})
zhub.Subscribe("im:friend:186", func(v string) {
fmt.Println("im:friend:186", v)
})
time.Sleep(1 * time.Hour)
}
func TestDelay2(t *testing.T) {
zhub, err := Create("zhub-cli", addr, "C-1", "admin@123456")
if err != nil {
log.Fatal(err)
}
var x int64 = 0
go func() {
zhub.Subscribe("a", func(v string) {
fmt.Println(v, "-", atomic.AddInt64(&x, 1))
})
}()
zhub2, err := Create("zhub-cli", addr, "C-1", "admin@123456")
if err != nil {
log.Fatal(err)
}
go func() {
zhub2.Subscribe("a", func(v string) {
fmt.Println(v, "-", atomic.AddInt64(&x, 1))
})
}()
time.Sleep(time.Second * 20000)
}
func TestDelay(t *testing.T) {
//zhub.Delay("abx", "1", -1)
//zhub.Publish("yk-topic", "hello yk.")
for i := 0; i < 1000; i++ {
zhub.Publish("a", "x-"+strconv.Itoa(i))
}
time.Sleep(time.Second * 5)
return string(bs)
}
// 测试发送微信 模板消息
@@ -267,12 +128,12 @@ func TestWxSendMessage(t *testing.T) {
log.Println(toStr(tplData["templateData"]))
zhub.Publish("wx:send-template-message", toStr(tplData))
hub.Publish("wx:send-template-message", toStr(tplData))
}
// 监听各项目所有接口请求失败信息《接口请求失败,发送失败信息到 pro.app-error 主题》
func TestAppErrorConsole(t *testing.T) {
zhub.Subscribe("app-error", func(v string) {
hub.Subscribe("app-error", func(v string) {
strs := []string{
"未登陆", "账号已在其他设备登录", "今日已签到", "您的登录状态已过期", "用户不存在", "暂无可预定场馆",
}
@@ -291,8 +152,7 @@ func TestAppErrorConsole(t *testing.T) {
// ----------- rpc test -----------
func TestRpcCall_S(t *testing.T) {
zhub := newClient("zhub-cli-a", "x")
zhub.RpcSubscribe("ai-test", func(r Rpc) RpcResult {
hub.RpcSubscribe("ai-test", func(r Rpc) RpcResult {
upper := strings.ToUpper(r.Value)
return RpcResult{Retcode: 0, Retinfo: "操作成功", Result: upper}
})
@@ -315,7 +175,7 @@ func TestRpcCall_C(t *testing.T) {
print(res.Result)
})*/
zhub.Subscribe("zcore:monitor-error", func(v string) {
hub.Subscribe("zcore:monitor-error", func(v string) {
fmt.Println(v)
})
@@ -325,13 +185,3 @@ func TestRpcCall_C(t *testing.T) {
fmt.Println(res)
})*/
}
func TestBannedTalk(t *testing.T) {
/*zhub.Rpc("im:banned-talk", "{'imtoken':'74074f9e599947ca940e71a9788e768f'}", func(res RpcResult) {
fmt.Print(res)
})*/
encoding := base64.Encoding{}
toString := encoding.EncodeToString([]byte("420101190001011234"))
fmt.Println(toString)
}