Merge branch 'develop' into multiple-uploads
This commit is contained in:
commit
05db49c9e3
10 changed files with 3199 additions and 869 deletions
115
bot_test.go
115
bot_test.go
|
@ -23,10 +23,25 @@ const (
|
|||
ExistingStickerFileID = "BQADAgADcwADjMcoCbdl-6eB--YPAg"
|
||||
)
|
||||
|
||||
type testLogger struct {
|
||||
t *testing.T
|
||||
}
|
||||
|
||||
func (t testLogger) Println(v ...interface{}) {
|
||||
t.t.Log(v...)
|
||||
}
|
||||
|
||||
func (t testLogger) Printf(format string, v ...interface{}) {
|
||||
t.t.Logf(format, v...)
|
||||
}
|
||||
|
||||
func getBot(t *testing.T) (*BotAPI, error) {
|
||||
bot, err := NewBotAPI(TestToken)
|
||||
bot.Debug = true
|
||||
|
||||
logger := testLogger{t}
|
||||
SetLogger(logger)
|
||||
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
@ -58,7 +73,7 @@ func TestSendWithMessage(t *testing.T) {
|
|||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(ChatID, "A test message from the test library in telegram-bot-api")
|
||||
msg.ParseMode = "markdown"
|
||||
msg.ParseMode = ModeMarkdown
|
||||
_, err := bot.Send(msg)
|
||||
|
||||
if err != nil {
|
||||
|
@ -89,6 +104,26 @@ func TestSendWithMessageForward(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestCopyMessage(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(ChatID, "A test message from the test library in telegram-bot-api")
|
||||
message, err := bot.Send(msg)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
copyMessageConfig := NewCopyMessage(SupergroupChatID, message.Chat.ID, message.MessageID)
|
||||
messageID, err := bot.CopyMessage(copyMessageConfig)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if messageID.MessageID == message.MessageID {
|
||||
t.Error("copied message ID was the same as original message")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSendWithNewPhoto(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
|
@ -427,6 +462,32 @@ func TestSendWithExistingStickerAndKeyboardHide(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestSendWithDice(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewDice(ChatID)
|
||||
_, err := bot.Send(msg)
|
||||
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSendWithDiceWithEmoji(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewDiceWithEmoji(ChatID, "🏀")
|
||||
_, err := bot.Send(msg)
|
||||
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestGetFile(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
|
@ -487,7 +548,7 @@ func TestSetWebhookWithCert(t *testing.T) {
|
|||
|
||||
time.Sleep(time.Second * 2)
|
||||
|
||||
bot.Request(RemoveWebhookConfig{})
|
||||
bot.Request(DeleteWebhookConfig{})
|
||||
|
||||
wh := NewWebhookWithCert("https://example.com/tgbotapi-test/"+bot.Token, "tests/cert.pem")
|
||||
_, err := bot.Request(wh)
|
||||
|
@ -501,7 +562,7 @@ func TestSetWebhookWithCert(t *testing.T) {
|
|||
t.Error(err)
|
||||
}
|
||||
|
||||
bot.Request(RemoveWebhookConfig{})
|
||||
bot.Request(DeleteWebhookConfig{})
|
||||
}
|
||||
|
||||
func TestSetWebhookWithoutCert(t *testing.T) {
|
||||
|
@ -509,7 +570,7 @@ func TestSetWebhookWithoutCert(t *testing.T) {
|
|||
|
||||
time.Sleep(time.Second * 2)
|
||||
|
||||
bot.Request(RemoveWebhookConfig{})
|
||||
bot.Request(DeleteWebhookConfig{})
|
||||
|
||||
wh := NewWebhook("https://example.com/tgbotapi-test/" + bot.Token)
|
||||
_, err := bot.Request(wh)
|
||||
|
@ -529,14 +590,14 @@ func TestSetWebhookWithoutCert(t *testing.T) {
|
|||
t.Errorf("failed to set webhook: %s", info.LastErrorMessage)
|
||||
}
|
||||
|
||||
bot.Request(RemoveWebhookConfig{})
|
||||
bot.Request(DeleteWebhookConfig{})
|
||||
}
|
||||
|
||||
func TestSendWithMediaGroupPhotoVideo(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
cfg := NewMediaGroup(ChatID, []interface{}{
|
||||
NewInputMediaPhoto(FileURL("https://i.imgur.com/unQLJIb.jpg")),
|
||||
NewInputMediaPhoto(FileURL("https://github.com/go-telegram-bot-api/telegram-bot-api/raw/0a3a1c8716c4cd8d26a262af9f12dcbab7f3f28c/tests/image.jpg")),
|
||||
NewInputMediaPhoto("tests/image.jpg"),
|
||||
NewInputMediaVideo("tests/video.mp4"),
|
||||
})
|
||||
|
@ -689,7 +750,12 @@ func ExampleWebhookHandler() {
|
|||
}
|
||||
|
||||
http.HandleFunc("/"+bot.Token, func(w http.ResponseWriter, r *http.Request) {
|
||||
log.Printf("%+v\n", bot.HandleUpdate(w, r))
|
||||
update, err := bot.HandleUpdate(r)
|
||||
if err != nil {
|
||||
log.Printf("%+v\n", err.Error())
|
||||
} else {
|
||||
log.Printf("%+v\n", *update)
|
||||
}
|
||||
})
|
||||
|
||||
go http.ListenAndServeTLS("0.0.0.0:8443", "cert.pem", "key.pem", nil)
|
||||
|
@ -733,7 +799,7 @@ func TestDeleteMessage(t *testing.T) {
|
|||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(ChatID, "A test message from the test library in telegram-bot-api")
|
||||
msg.ParseMode = "markdown"
|
||||
msg.ParseMode = ModeMarkdown
|
||||
message, _ := bot.Send(msg)
|
||||
|
||||
deleteMessageConfig := DeleteMessageConfig{
|
||||
|
@ -751,7 +817,7 @@ func TestPinChatMessage(t *testing.T) {
|
|||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(SupergroupChatID, "A test message from the test library in telegram-bot-api")
|
||||
msg.ParseMode = "markdown"
|
||||
msg.ParseMode = ModeMarkdown
|
||||
message, _ := bot.Send(msg)
|
||||
|
||||
pinChatMessageConfig := PinChatMessageConfig{
|
||||
|
@ -770,7 +836,7 @@ func TestUnpinChatMessage(t *testing.T) {
|
|||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(SupergroupChatID, "A test message from the test library in telegram-bot-api")
|
||||
msg.ParseMode = "markdown"
|
||||
msg.ParseMode = ModeMarkdown
|
||||
message, _ := bot.Send(msg)
|
||||
|
||||
// We need pin message to unpin something
|
||||
|
@ -785,7 +851,8 @@ func TestUnpinChatMessage(t *testing.T) {
|
|||
}
|
||||
|
||||
unpinChatMessageConfig := UnpinChatMessageConfig{
|
||||
ChatID: message.Chat.ID,
|
||||
ChatID: message.Chat.ID,
|
||||
MessageID: message.MessageID,
|
||||
}
|
||||
|
||||
if _, err := bot.Request(unpinChatMessageConfig); err != nil {
|
||||
|
@ -793,6 +860,32 @@ func TestUnpinChatMessage(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestUnpinAllChatMessages(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
msg := NewMessage(SupergroupChatID, "A test message from the test library in telegram-bot-api")
|
||||
msg.ParseMode = ModeMarkdown
|
||||
message, _ := bot.Send(msg)
|
||||
|
||||
pinChatMessageConfig := PinChatMessageConfig{
|
||||
ChatID: message.Chat.ID,
|
||||
MessageID: message.MessageID,
|
||||
DisableNotification: true,
|
||||
}
|
||||
|
||||
if _, err := bot.Request(pinChatMessageConfig); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
unpinAllChatMessagesConfig := UnpinAllChatMessagesConfig{
|
||||
ChatID: message.Chat.ID,
|
||||
}
|
||||
|
||||
if _, err := bot.Request(unpinAllChatMessagesConfig); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPolls(t *testing.T) {
|
||||
bot, _ := getBot(t)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue