Unit test refactoring, now with autoconfiguration integration testing. Bug fix that did not initialize the bots, even with the deprecated @EnableTelegramBots * [Removed - If users wish to disable, just inform telegrambots.enabled = false]. Upgrade Spring boot 2.0.2
38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
package org.telegram.telegrambots.starter;
|
|
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.telegram.telegrambots.TelegramBotsApi;
|
|
import org.telegram.telegrambots.generics.LongPollingBot;
|
|
import org.telegram.telegrambots.generics.WebhookBot;
|
|
|
|
/**
|
|
* #TelegramBotsApi added to spring context as well
|
|
*/
|
|
@Configuration
|
|
@ConditionalOnProperty(prefix="telegrambots",name = "enabled", havingValue = "true", matchIfMissing = true)
|
|
public class TelegramBotStarterConfiguration {
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean(TelegramBotsApi.class)
|
|
public TelegramBotsApi telegramBotsApi() {
|
|
return new TelegramBotsApi();
|
|
}
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
public TelegramBotInitializer telegramBotInitializer(TelegramBotsApi telegramBotsApi,
|
|
Optional<List<LongPollingBot>> longPollingBots,
|
|
Optional<List<WebhookBot>> webHookBots) {
|
|
return new TelegramBotInitializer(telegramBotsApi,
|
|
longPollingBots.orElseGet(Collections::emptyList),
|
|
webHookBots.orElseGet(Collections::emptyList));
|
|
}
|
|
}
|