WeChatFerry/clients/go/wcf/wcf_test.go
2023-07-28 14:39:16 +08:00

190 lines
3.9 KiB
Go

package wcf
import (
logs "github.com/danbai225/go-logs"
"go.nanomsg.org/mangos/v3/protocol/pair1"
_ "go.nanomsg.org/mangos/v3/transport/all"
"google.golang.org/protobuf/proto"
"testing"
"time"
)
func TestConn(t *testing.T) {
socket, err := pair1.NewSocket()
if err != nil {
logs.Err(err)
return
}
err = socket.Dial("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
response := Response{
Func: Functions_FUNC_IS_LOGIN,
Msg: nil,
}
marshal, err := proto.Marshal(&response)
if err != nil {
logs.Err(err)
return
}
socket.Send(marshal)
if err != nil {
logs.Err(err)
return
}
recv, err := socket.Recv()
if err != nil {
logs.Err(err)
return
}
msg := Response{}
err = proto.Unmarshal(recv, &msg)
if err != nil {
logs.Err(err)
return
}
logs.Info(msg.GetStatus())
}
func TestIsLogin(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.IsLogin())
}
func TestGetSelfWXID(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.GetSelfWXID())
}
func TestGetMsgTypes(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.GetMsgTypes())
}
func TestGetContacts(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
for _, contact := range wcf.GetContacts() {
logs.Info(contact.Name, contact.Wxid)
}
logs.Info(wcf.GetContacts())
}
func TestGetDBNames(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.GetDBNames())
}
func TestGetDBTables(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.GetDBTables("ChatMsg.db"))
}
func TestExecDBQuery(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.ExecDBQuery("ChatMsg.db", "SELECT * FROM Name2ID_v1"))
}
func TestAcceptFriend(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.AcceptFriend("encryptusername", "ticket", 17))
}
func TestGetUserInfo(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.GetUserInfo())
}
func TestSendTxT(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.SendTxt(" Hello @ 淡白", "38975652309@chatroom", []string{"wxid_xxxxxx"}))
}
func TestSendIMG(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.SendIMG("C:\\Users\\Administrator\\Pictures\\1.png", "wxid_xxxxxx"))
}
func TestSendFile(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.SendFile("C:\\Users\\Administrator\\Pictures\\1.txt", "wxid_xxxxxx"))
}
func TestRefreshPYQ(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.EnableRecvTxt())
go wcf.OnMSG(func(msg *WxMsg) {
logs.Info(msg.GetType(), msg.GetContent())
})
defer wcf.DisableRecvTxt()
time.Sleep(time.Second * 2)
logs.Info(wcf.RefreshPYQ())
time.Sleep(time.Minute)
}
func TestOnMSG(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.EnableRecvTxt())
defer func() {
logs.Info(wcf.DisableRecvTxt())
}()
go wcf.OnMSG(func(msg *WxMsg) {
logs.Info(msg.GetContent())
})
time.Sleep(time.Minute)
}
func TestDisableRecvTxt(t *testing.T) {
wcf, err := NewWCF("tcp://192.168.26.130:1000")
if err != nil {
logs.Err(err)
return
}
logs.Info(wcf.DisableRecvTxt())
}