190 lines
3.9 KiB
Go
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())
|
|
}
|