}, sent)
}
-func TestBotSkipsTheWorkOfWhatsAppAndTheSchedules(t *testing.T) {
+func TestBotSkipsExternalWorkAndSchedules(t *testing.T) {
bot := &TelegramBot{
ready: make(chan struct{}, 1),
}
Source: whatsappSource,
Text: "[WhatsApp] Ana Souza",
})
+
bot.Notify(Event{
Kind: "work",
Source: scheduleSource,
Text: "[Schedule 1] Sunday 2026-11-08 20:05 -03:00, once",
})
+
+ bot.Notify(Event{
+ Kind: "work",
+ Source: notifySource,
+ Text: "Untrusted external data.",
+ })
+
require.Empty(t, bot.queue)
}
require.Eventually(t, func() bool {
return strings.Contains(logs.String(), "<4>receive failed retry=1s: no answer: ")
}, 10*time.Second, time.Millisecond)
+
require.NotContains(t, logs.String(), telegramTestToken)
}
"<4>receive failed retry=1s: 502 Bad Gateway",
"<6>receive back after=31s",
}, lines)
+
require.NotContains(t, logs.String(), "secret word")
require.NotContains(t, logs.String(), strconv.FormatInt(telegramTestOwner, 10))
cancel()