From f26ebab69d07f49180893406f61558ec72523fae Mon Sep 17 00:00:00 2001 From: vityaman Date: Fri, 14 Jun 2024 11:01:37 +0300 Subject: [PATCH] #139 Add fake telegram bot for testing --- .../client/telegram/SpringTelegramBot.kt | 9 +++----- botalka/src/main/resources/application.yml | 2 ++ .../spring/client/telegram/FakeTelegramBot.kt | 22 +++++++++++++++++++ 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 botalka/src/test/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/FakeTelegramBot.kt diff --git a/botalka/src/main/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/SpringTelegramBot.kt b/botalka/src/main/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/SpringTelegramBot.kt index a2a2c14..2f0043f 100644 --- a/botalka/src/main/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/SpringTelegramBot.kt +++ b/botalka/src/main/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/SpringTelegramBot.kt @@ -6,16 +6,16 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import org.springframework.beans.factory.annotation.Value import org.springframework.boot.context.event.ApplicationReadyEvent +import org.springframework.context.annotation.Profile import org.springframework.context.event.EventListener import org.springframework.stereotype.Service import ru.vityaman.lms.botalka.core.external.telegram.BasicTelegramBot import ru.vityaman.lms.botalka.core.external.telegram.TelegramBot import ru.vityaman.lms.botalka.core.external.telegram.TelegramChat import ru.vityaman.lms.botalka.core.external.telegram.TelegramMessage -import java.net.InetAddress - @Service +@Profile("production") class SpringTelegramBot( @Value("\${external.service.telegram.token}") token: String, @@ -34,9 +34,6 @@ class SpringTelegramBot( @EventListener(ApplicationReadyEvent::class) fun notifyAdmin() = runBlocking { - val name = InetAddress.getLocalHost().hostName - val address = InetAddress.getLocalHost().hostAddress - val text = "Restarted instance '$name' at '$address'" - send(adminChat, TelegramMessage(text)) + send(adminChat, TelegramMessage("Restarted instance")) } } diff --git a/botalka/src/main/resources/application.yml b/botalka/src/main/resources/application.yml index e1d1cf4..7cb1f4f 100644 --- a/botalka/src/main/resources/application.yml +++ b/botalka/src/main/resources/application.yml @@ -1,4 +1,6 @@ spring: + profiles: + active: production application: name: botalka datasource: diff --git a/botalka/src/test/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/FakeTelegramBot.kt b/botalka/src/test/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/FakeTelegramBot.kt new file mode 100644 index 0000000..26273a8 --- /dev/null +++ b/botalka/src/test/kotlin/ru/vityaman/lms/botalka/app/spring/client/telegram/FakeTelegramBot.kt @@ -0,0 +1,22 @@ +package ru.vityaman.lms.botalka.app.spring.client.telegram + +import org.slf4j.LoggerFactory +import org.springframework.context.annotation.Primary +import org.springframework.stereotype.Service +import ru.vityaman.lms.botalka.core.external.telegram.TelegramBot +import ru.vityaman.lms.botalka.core.external.telegram.TelegramChat +import ru.vityaman.lms.botalka.core.external.telegram.TelegramMessage + +@Primary +@Service +class FakeTelegramBot : TelegramBot { + private val log = LoggerFactory.getLogger("FakeTelegramBot") + + override suspend fun send(chat: TelegramChat, message: TelegramMessage) { + log.debug("Received a {} from {}", message, chat) + } + + override suspend fun start() { + log.debug("Started") + } +}