test.events.WaitFor(t, "idle", 1)
files, err := os.ReadDir(test.agent.Images().dir)
test.events.WaitFor(t, "idle", 1)
files, err := os.ReadDir(test.agent.Images().dir)
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
text, err := telegramImageText(t.Context(), api, store, &TelegramMessage{Document: &tc.document})
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
text, err := telegramImageText(t.Context(), api, store, &TelegramMessage{Document: &tc.document})
bot, logs := telegramStartTestBot(t, telegram)
server := newModelFake(t)
socket := daemonStartTestWithBot(t, server, bot)
bot, logs := telegramStartTestBot(t, telegram)
server := newModelFake(t)
socket := daemonStartTestWithBot(t, server, bot)
terminal.WaitFor(t, "[done]")
require.Eventually(t, func() bool {
offset, err := telegramLoadOffset(bot.offsetPath)
return err == nil && offset == 8
}, 10*time.Second, time.Millisecond)
terminal.WaitFor(t, "[done]")
require.Eventually(t, func() bool {
offset, err := telegramLoadOffset(bot.offsetPath)
return err == nil && offset == 8
}, 10*time.Second, time.Millisecond)
require.Contains(t, logs.String(), "receive failed")
require.Contains(t, logs.String(), "receive back")
require.NotContains(t, logs.String(), telegramTestToken)
require.Contains(t, logs.String(), "receive failed")
require.Contains(t, logs.String(), "receive back")
require.NotContains(t, logs.String(), telegramTestToken)
err := bot.handle(t.Context(), test.loop, nil, TelegramUpdate{
UpdateID: 1,
Message: message,
err := bot.handle(t.Context(), test.loop, nil, TelegramUpdate{
UpdateID: 1,
Message: message,