增加单元测试

This commit is contained in:
eatMoreApple 2021-04-27 11:23:41 +08:00
parent 291010997f
commit 2acac1db49

View File

@ -1,170 +1,196 @@
package openwechat
import (
"fmt"
"testing"
"fmt"
"testing"
)
func defaultBot(modes ...mode) *Bot {
bot := DefaultBot(modes...)
bot.UUIDCallback = PrintlnQrcodeUrl
return bot
bot := DefaultBot(modes...)
bot.UUIDCallback = PrintlnQrcodeUrl
return bot
}
func getSelf(modes ...mode) (*Self, error) {
bot := defaultBot(modes...)
if err := bot.Login(); err != nil {
return nil, err
}
return bot.GetCurrentUser()
bot := defaultBot(modes...)
if err := bot.Login(); err != nil {
return nil, err
}
return bot.GetCurrentUser()
}
func TestBotLogin(t *testing.T) {
bot := defaultBot()
if err := bot.Login(); err != nil {
t.Error(err)
return
}
self, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
t.Log(self.NickName)
bot := defaultBot()
if err := bot.Login(); err != nil {
t.Error(err)
return
}
self, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
t.Log(self.NickName)
}
func TestMessage(t *testing.T) {
bot := defaultBot()
bot.MessageHandler = func(msg *Message) {
if msg.IsMedia() {
t.Log(msg.Content)
fmt.Println()
}
if msg.IsCard() {
c, _ := msg.Card()
t.Log(c.Alias)
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
bot := defaultBot()
bot.MessageHandler = func(msg *Message) {
if msg.IsMedia() {
t.Log(msg.Content)
fmt.Println()
}
if msg.IsCard() {
c, _ := msg.Card()
t.Log(c.Alias)
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
}
func TestFriend(t *testing.T) {
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
t.Log(friends)
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
t.Log(friends)
}
func TestGroup(t *testing.T) {
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
group, err := self.Groups()
if err != nil {
t.Error(err)
return
}
t.Log(group)
g := group.SearchByNickName(1, "杭州Gopher群组")
if g.First() != nil {
members, err := g.First().Members()
if err != nil {
t.Error(err)
return
}
t.Log(members.Count())
}
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
group, err := self.Groups()
if err != nil {
t.Error(err)
return
}
t.Log(group)
g := group.SearchByNickName(1, "杭州Gopher群组")
if g.First() != nil {
members, err := g.First().Members()
if err != nil {
t.Error(err)
return
}
t.Log(members.Count())
}
}
func TestMps(t *testing.T) {
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
mps, err := self.Mps()
if err != nil {
t.Error(err)
return
}
t.Log(mps)
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
mps, err := self.Mps()
if err != nil {
t.Error(err)
return
}
t.Log(mps)
}
func TestAddFriendIntoChatRoom(t *testing.T) {
self, err := getSelf(Desktop)
if err != nil {
t.Error(err)
return
}
groups, err := self.Groups()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "1")
if err := g.AddFriendsIn(addFriends...); err != nil {
t.Error(err)
}
}
self, err := getSelf(Desktop)
if err != nil {
t.Error(err)
return
}
groups, err := self.Groups()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "1")
if err := g.AddFriendsIn(addFriends...); err != nil {
t.Error(err)
}
}
}
func TestRemoveFriendIntoChatRoom(t *testing.T) {
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
groups, err := self.Groups()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "大爷")
if f := addFriends.First(); f != nil {
if err := g.RemoveMembers(Members{f.User}); err != nil {
t.Error(err)
}
}
}
self, err := getSelf()
if err != nil {
t.Error(err)
return
}
groups, err := self.Groups()
if err != nil {
t.Error(err)
return
}
friends, err := self.Friends()
if err != nil {
t.Error(err)
return
}
searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "大爷")
if f := addFriends.First(); f != nil {
if err := g.RemoveMembers(Members{f.User}); err != nil {
t.Error(err)
}
}
}
}
func TestLogout(t *testing.T) {
bot := defaultBot()
bot.MessageHandler = func(msg *Message) {
if msg.Content == "logout" {
msg.Bot.Logout()
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
bot := defaultBot()
bot.MessageHandler = func(msg *Message) {
if msg.Content == "logout" {
msg.Bot.Logout()
}
}
if err := bot.Login(); err != nil {
t.Error(err)
return
}
bot.Block()
}
func TestSendMessage(t *testing.T) {
bot := defaultBot()
if err := bot.Login(); err != nil {
t.Error(err)
return
}
self, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
helper, err := self.FileHelper()
if err != nil {
t.Error(err)
return
}
if err = helper.SendText("test message! received ?"); err != nil {
t.Error(err)
return
}
if err = self.SendTextToFriend(helper, "send test message twice ! received?"); err != nil {
t.Error(err)
return
}
}