openwechat/bot_test.go
2021-11-12 13:37:46 +08:00

132 lines
2.1 KiB
Go

package openwechat
import (
"fmt"
"testing"
"time"
)
func TestLogin(t *testing.T) {
bot := DefaultBot(Desktop)
bot.LoginCallBack = func(body []byte) {
t.Log("login success")
}
if err := bot.Login(); err != nil {
t.Error(err)
}
}
func TestLogout(t *testing.T) {
bot := DefaultBot(Desktop)
bot.LoginCallBack = func(body []byte) {
t.Log("login success")
}
bot.LogoutCallBack = func(bot *Bot) {
t.Log("logout")
}
bot.MessageHandler = func(msg *Message) {
if msg.IsText() && msg.Content == "logout" {
bot.Logout()
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
}
func TestMessageHandle(t *testing.T) {
bot := DefaultBot(Desktop)
bot.MessageHandler = func(msg *Message) {
if msg.IsText() && msg.Content == "ping" {
msg.ReplyText("pong")
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
}
func TestFriends(t *testing.T) {
bot := DefaultBot(Desktop)
if err := bot.Login(); err != nil {
t.Error(err)
return
}
user, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
friends, err := user.Friends()
if err != nil {
t.Error(err)
return
}
t.Log(friends)
}
func TestGroups(t *testing.T) {
bot := DefaultBot(Desktop)
if err := bot.Login(); err != nil {
t.Error(err)
return
}
user, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
groups, err := user.Groups()
if err != nil {
t.Error(err)
return
}
t.Log(groups)
}
func TestPinUser(t *testing.T) {
bot := DefaultBot(Desktop)
if err := bot.Login(); err != nil {
t.Error(err)
return
}
user, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
friends, err := user.Friends()
if err != nil {
t.Error(err)
return
}
if friends.Count() > 0 {
f := friends.First()
f.Pin()
time.Sleep(time.Second * 5)
f.UnPin()
}
}
func TestSender(t *testing.T) {
bot := DefaultBot(Desktop)
bot.MessageHandler = func(msg *Message) {
if msg.IsSendByGroup() {
fmt.Println(msg.SenderInGroup())
} else {
fmt.Println(msg.Sender())
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
}