frontend: limit telegram commands by bot name
This commit is contained in:
43
frontend/telegram_bot_test.go
Normal file
43
frontend/telegram_bot_test.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func doTestTelegramIsCommand(t *testing.T, message string, command string, expected bool) {
|
||||
if telegramIsCommand(message, command) != expected {
|
||||
t.Errorf("telegramIsCommand(\"%s\", \"%s\") unexpected result", message, command)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTelegramIsCommand(t *testing.T) {
|
||||
setting.telegramBotName = "test_bot"
|
||||
|
||||
// Recognize command
|
||||
doTestTelegramIsCommand(t, "/trace", "trace", true)
|
||||
doTestTelegramIsCommand(t, "/trace", "trace1234", false)
|
||||
doTestTelegramIsCommand(t, "/trace", "tra", false)
|
||||
doTestTelegramIsCommand(t, "/trace", "abcdefg", false)
|
||||
|
||||
// Recognize command with parameters
|
||||
doTestTelegramIsCommand(t, "/trace google.com", "trace", true)
|
||||
doTestTelegramIsCommand(t, "/trace google.com", "trace1234", false)
|
||||
doTestTelegramIsCommand(t, "/trace google.com", "tra", false)
|
||||
doTestTelegramIsCommand(t, "/trace google.com", "abcdefg", false)
|
||||
|
||||
// Recognize command with bot name
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot", "trace", true)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot", "trace1234", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot", "tra", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot", "abcdefg", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot_123", "trace", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_", "trace", false)
|
||||
|
||||
// Recognize command with bot name and parameters
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot google.com", "trace", true)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot google.com", "trace1234", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot google.com", "tra", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot google.com", "abcdefg", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test_bot_123 google.com", "trace", false)
|
||||
doTestTelegramIsCommand(t, "/trace@test google.com", "trace", false)
|
||||
}
|
||||
Reference in New Issue
Block a user