From 11e50059bbbb33a85c68aa249b17dc4926788b1a Mon Sep 17 00:00:00 2001 From: Dimas Date: Fri, 17 Mar 2023 01:37:05 +0200 Subject: [PATCH] code cleaned, updated query by pollId --- pom.xml | 7 +- src/main/java/net/dev4any1/tbot/App.java | 6 +- src/main/java/net/dev4any1/tbot/bot/Bot.java | 78 +++++++++---------- .../java/net/dev4any1/tbot/bot/Helper.java | 63 +++------------ .../net/dev4any1/tbot/bot/SearchResult.java | 72 ----------------- .../net/dev4any1/tbot/dao/PollRepository.java | 12 ++- .../tbot/dao/SubscriberRepository.java | 9 --- .../dev4any1/tbot/dao/UpdateRepository.java | 5 +- ...{PollUpdate.java => PollUpdateEntity.java} | 10 +-- .../net/dev4any1/tbot/model/Subscriber.java | 52 ------------- .../{UpdateDoc.java => UpdateEntity.java} | 9 +-- .../net/dev4any1/tbot/service/BotService.java | 30 +------ .../tbot/service/SubscriberService.java | 22 ------ src/main/resources/application.properties | 15 ++-- .../net/dev4any1/tbot/bot/TestHelper.java | 17 ---- .../tbot/repository/PollRepositoryTest.java | 37 +++++++++ .../tbot/service/SubscriberServiceTest.java | 31 -------- 17 files changed, 115 insertions(+), 360 deletions(-) delete mode 100755 src/main/java/net/dev4any1/tbot/bot/SearchResult.java mode change 100644 => 100755 src/main/java/net/dev4any1/tbot/dao/PollRepository.java delete mode 100755 src/main/java/net/dev4any1/tbot/dao/SubscriberRepository.java rename src/main/java/net/dev4any1/tbot/model/{PollUpdate.java => PollUpdateEntity.java} (84%) mode change 100644 => 100755 delete mode 100755 src/main/java/net/dev4any1/tbot/model/Subscriber.java rename src/main/java/net/dev4any1/tbot/model/{UpdateDoc.java => UpdateEntity.java} (80%) delete mode 100755 src/main/java/net/dev4any1/tbot/service/SubscriberService.java delete mode 100755 src/test/java/net/dev4any1/tbot/bot/TestHelper.java create mode 100755 src/test/java/net/dev4any1/tbot/repository/PollRepositoryTest.java delete mode 100755 src/test/java/net/dev4any1/tbot/service/SubscriberServiceTest.java diff --git a/pom.xml b/pom.xml index 5a9e650..07907ec 100755 --- a/pom.xml +++ b/pom.xml @@ -22,10 +22,9 @@ 6.5.0 - - org.jsoup - jsoup - 1.7.3 + org.json + json + 20230227 org.springframework.boot diff --git a/src/main/java/net/dev4any1/tbot/App.java b/src/main/java/net/dev4any1/tbot/App.java index 85bfd68..d3755eb 100755 --- a/src/main/java/net/dev4any1/tbot/App.java +++ b/src/main/java/net/dev4any1/tbot/App.java @@ -1,5 +1,6 @@ package net.dev4any1.tbot; +import java.util.Date; import java.util.Scanner; import org.slf4j.Logger; @@ -12,7 +13,6 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import net.dev4any1.tbot.dao.SubscriberRepository; import net.dev4any1.tbot.service.BotService; @Configuration @@ -22,14 +22,12 @@ public class App implements CommandLineRunner { private static final Logger log = LoggerFactory.getLogger(App.class); - @Autowired - SubscriberRepository repo; @Autowired BotService bs; @Override public void run(String... args) throws Exception { - log.info("starting tbot for " + repo.count() + " subscribers"); + log.info("starting tbot at " + new Date()); bs.serviceDefault(); try (Scanner scan = new Scanner(System.in)) { while (scan.hasNext()) { diff --git a/src/main/java/net/dev4any1/tbot/bot/Bot.java b/src/main/java/net/dev4any1/tbot/bot/Bot.java index f5d412c..55071a8 100755 --- a/src/main/java/net/dev4any1/tbot/bot/Bot.java +++ b/src/main/java/net/dev4any1/tbot/bot/Bot.java @@ -1,75 +1,79 @@ package net.dev4any1.tbot.bot; -import java.util.*; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; -import net.dev4any1.tbot.dao.PollRepository; -import net.dev4any1.tbot.model.PollUpdate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.telegram.telegrambots.bots.DefaultBotOptions; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import org.telegram.telegrambots.meta.api.methods.polls.SendPoll; import org.telegram.telegrambots.meta.api.methods.send.SendMessage; -import org.telegram.telegrambots.meta.api.objects.Message; import org.telegram.telegrambots.meta.api.objects.Update; -import org.telegram.telegrambots.meta.api.objects.polls.PollOption; -import org.telegram.telegrambots.meta.api.objects.polls.Poll; -import org.telegram.telegrambots.meta.api.objects.polls.PollAnswer; import org.telegram.telegrambots.meta.exceptions.TelegramApiException; +import net.dev4any1.tbot.dao.PollRepository; import net.dev4any1.tbot.dao.UpdateRepository; -import net.dev4any1.tbot.model.UpdateDoc; +import net.dev4any1.tbot.model.PollUpdateEntity; +import net.dev4any1.tbot.model.UpdateEntity; public class Bot extends TelegramLongPollingBot { private static final Logger log = LoggerFactory.getLogger(Bot.class); + private static final String BOT_WELCOME = "Привет! Я бот для опросов. Чтобы начать опрос, введите команду /poll."; + private static final String POLL_QUESTION = "Какие есть варианты?"; + private static final String POLL_QUESTION_ANONYM = "Какие есть варианты анонимно?"; + private static final List POLL_OPTIONS = List.of("Я", "В костюме", "Без костюма"); + private String botName; - private UpdateRepository upr; + private UpdateRepository updateRepository; private PollRepository pollRepository; - public Bot(DefaultBotOptions options, String botToken, String name, UpdateRepository upr, PollRepository pollRepository) { + public Bot(DefaultBotOptions options, String botToken, String name, UpdateRepository updateRepository, + PollRepository pollRepository) { super(options, botToken); this.botName = name; - this.upr = upr; + this.updateRepository = updateRepository; this.pollRepository = pollRepository; } @Override public void onUpdateReceived(Update update) { log.debug("update " + update.getClass() + " toStr: " + update.toString()); - + // saving any update + updateRepository.insert(new UpdateEntity(Helper.getJson(update).get())); + // saving non anonymous poll reply if (update.hasPollAnswer()) { - pollRepository.save(new PollUpdate(update.getPollAnswer().getPollId(), update.getPollAnswer().toString())); + pollRepository.save(new PollUpdateEntity(update.getPollAnswer().getPollId(), + Helper.getJson(update.getPollAnswer()).get())); } + // saving anonymous poll reply if (update.hasPoll()) { - pollRepository.save(new PollUpdate(update.getPoll().getId(), update.getPoll().toString())); + pollRepository.save(new PollUpdateEntity(update.getPoll().getId(), Helper.getJson(update.getPoll()).get())); } + // handling command if (update.hasMessage() && update.getMessage().hasText()) { String messageText = update.getMessage().getText(); String chatId = update.getMessage().getChatId().toString(); - System.out.println("ChatID: "+chatId); + System.out.println("ChatID: " + chatId); switch (messageText) { - case "/start": - sendTextMessage(chatId, "Привет! Я бот для опросов. Чтобы начать опрос, введите команду /poll."); - break; - case "/poll": - sendPoll(chatId, "Какие есть варианты?", - List.of("Я", "В костюме", "Без костюма"), false); - break; - case "/pollAnswer": - sendPoll(chatId, "Какие есть варианты анонимно?", - List.of("Я", "В костюме", "Без костюма"), true); - break; - case "/stat": - String statistic = pollRepository.findAll() - .stream() - .map(PollUpdate::getPoll) + case "/start": + sendTextMessage(chatId, BOT_WELCOME); + break; + case "/poll": + sendPoll(chatId, POLL_QUESTION, POLL_OPTIONS, false); + break; + case "/pollAnonym": + sendPoll(chatId, POLL_QUESTION_ANONYM, POLL_OPTIONS, true); + break; + case "/stats": + String statistic = pollRepository.findAll().stream().map(PollUpdateEntity::getPoll) .collect(Collectors.joining(", ")); - sendTextMessage(chatId, statistic); - break; + sendTextMessage(chatId, statistic); + break; } } } @@ -106,16 +110,6 @@ public Map getPollResults() { return null; } - public String getGooAnswer(String query) { - Collection searches = Helper.Searcher.search(query, 1); - if (!searches.isEmpty()) { - SearchResult sr = searches.iterator().next(); - return "[" + sr.getTitle() + "](" + sr.getLink() + ")"; - } else { - return "uh oh.."; - } - } - @Override public String getBotUsername() { return botName; diff --git a/src/main/java/net/dev4any1/tbot/bot/Helper.java b/src/main/java/net/dev4any1/tbot/bot/Helper.java index 7255bce..313d23a 100755 --- a/src/main/java/net/dev4any1/tbot/bot/Helper.java +++ b/src/main/java/net/dev4any1/tbot/bot/Helper.java @@ -1,61 +1,20 @@ package net.dev4any1.tbot.bot; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; +import java.io.Serializable; +import java.util.Optional; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; -import org.jsoup.nodes.Element; -import org.jsoup.select.Elements; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.json.JSONException; +import org.json.JSONObject; public class Helper { - public static class Searcher { - - private static final Logger log = LoggerFactory.getLogger(Searcher.class); - - public static Collection search(String query, int resultCount) { - try { - query = URLEncoder.encode(query, StandardCharsets.UTF_8.toString()); - Document document = Jsoup.connect("http://www.google.com/search?q=" + query + "&num=" + resultCount) - .header("Accept-Language", "en-US,en;q=0.5") - .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0").get(); - return parseLinks(document); - } catch (Exception e) { - log.error("wtf jsoup: ", e); - return Collections.emptyList(); - } - } - - public static Collection parseLinks(final Document doc) throws Exception { - Map links = new HashMap(); - Element main = doc.getElementById("main"); - Elements searchResults = main.select("div"); - for (Element result : searchResults) { - String title = result.select("h3").text(); - String link = normalizeLink(result.select("a").attr("href")); - String description = result.select("div").text(); - if (!title.isEmpty() && !link.isEmpty() && !description.isEmpty() && !links.containsKey(link)) { - SearchResult serchResult = new SearchResult().withDescribtion(description).withLink(link) - .withTitle(title); - links.put(link, serchResult); - System.out.println(serchResult); - } - } - return links.values(); - } - - private static String normalizeLink(String link) { - if (!link.isEmpty()) { - link = (!link.startsWith("/url?q=http")) ? "" : link.substring(7, link.indexOf("&sa=")); - } - return link; + public static Optional getJson(Serializable entity) { + try { + return Optional.of(new JSONObject(entity).toString(1)); + } catch (JSONException e) { + e.printStackTrace(); } + return Optional.empty(); } + } \ No newline at end of file diff --git a/src/main/java/net/dev4any1/tbot/bot/SearchResult.java b/src/main/java/net/dev4any1/tbot/bot/SearchResult.java deleted file mode 100755 index f50c681..0000000 --- a/src/main/java/net/dev4any1/tbot/bot/SearchResult.java +++ /dev/null @@ -1,72 +0,0 @@ -package net.dev4any1.tbot.bot; - -import java.util.Objects; - -public class SearchResult { - private String title; - private String link; - private String describtion; - - public SearchResult withTitle(String title) { - this.title = title; - return this; - } - - public SearchResult withLink(String link) { - this.link = link; - return this; - } - - public SearchResult withDescribtion(String describtion) { - this.describtion = describtion; - return this; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getLink() { - return link; - } - - public void setLink(String link) { - this.link = link; - } - - public String getDescribtion() { - return describtion; - } - - public void setDescribtion(String describtion) { - this.describtion = describtion; - } - - @Override - public int hashCode() { - return Objects.hash(describtion, link, title); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - SearchResult other = (SearchResult) obj; - return Objects.equals(describtion, other.describtion) && Objects.equals(link, other.link) - && Objects.equals(title, other.title); - } - - @Override - public String toString() { - return "SearchResult [title=" + title + ", link=" + link + ", describtion=" + describtion + "]"; - } - -} diff --git a/src/main/java/net/dev4any1/tbot/dao/PollRepository.java b/src/main/java/net/dev4any1/tbot/dao/PollRepository.java old mode 100644 new mode 100755 index 5ea50de..22ad28b --- a/src/main/java/net/dev4any1/tbot/dao/PollRepository.java +++ b/src/main/java/net/dev4any1/tbot/dao/PollRepository.java @@ -1,13 +1,11 @@ package net.dev4any1.tbot.dao; -import net.dev4any1.tbot.model.PollUpdate; -import net.dev4any1.tbot.model.Subscriber; -import org.springframework.data.mongodb.repository.MongoRepository; - import java.util.List; -public interface PollRepository extends MongoRepository { +import org.springframework.data.mongodb.repository.MongoRepository; + +import net.dev4any1.tbot.model.PollUpdateEntity; - public PollUpdate findByPollId(String pollId); - public List getAllByPollId(String pollId); +public interface PollRepository extends MongoRepository { + public List findByPollId(String pollId); } diff --git a/src/main/java/net/dev4any1/tbot/dao/SubscriberRepository.java b/src/main/java/net/dev4any1/tbot/dao/SubscriberRepository.java deleted file mode 100755 index 1a2db27..0000000 --- a/src/main/java/net/dev4any1/tbot/dao/SubscriberRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.dev4any1.tbot.dao; - -import org.springframework.data.mongodb.repository.MongoRepository; - -import net.dev4any1.tbot.model.Subscriber; - -public interface SubscriberRepository extends MongoRepository { - public Subscriber findByGsmNo(String gsmNo); -} diff --git a/src/main/java/net/dev4any1/tbot/dao/UpdateRepository.java b/src/main/java/net/dev4any1/tbot/dao/UpdateRepository.java index 9d74043..23c6405 100755 --- a/src/main/java/net/dev4any1/tbot/dao/UpdateRepository.java +++ b/src/main/java/net/dev4any1/tbot/dao/UpdateRepository.java @@ -1,10 +1,9 @@ package net.dev4any1.tbot.dao; -import net.dev4any1.tbot.model.PollUpdate; import org.springframework.data.mongodb.repository.MongoRepository; -import net.dev4any1.tbot.model.UpdateDoc; +import net.dev4any1.tbot.model.UpdateEntity; -public interface UpdateRepository extends MongoRepository { +public interface UpdateRepository extends MongoRepository { } diff --git a/src/main/java/net/dev4any1/tbot/model/PollUpdate.java b/src/main/java/net/dev4any1/tbot/model/PollUpdateEntity.java old mode 100644 new mode 100755 similarity index 84% rename from src/main/java/net/dev4any1/tbot/model/PollUpdate.java rename to src/main/java/net/dev4any1/tbot/model/PollUpdateEntity.java index 277d5a3..686b366 --- a/src/main/java/net/dev4any1/tbot/model/PollUpdate.java +++ b/src/main/java/net/dev4any1/tbot/model/PollUpdateEntity.java @@ -9,21 +9,21 @@ import java.io.Serializable; import java.util.Objects; -public class PollUpdate implements Serializable { - private static final long serialVersionUID = PollUpdate.class.getName().hashCode(); +public class PollUpdateEntity implements Serializable { + private static final long serialVersionUID = PollUpdateEntity.class.getName().hashCode(); @Id @MongoId private String id; - @Indexed(unique = true) + @Indexed(unique = false) @Field(targetType = FieldType.STRING, write = Field.Write.NON_NULL) private String pollId; @Field(targetType = FieldType.STRING, write = Field.Write.NON_NULL) private String poll; - public PollUpdate(String pollId, String poll) { + public PollUpdateEntity(String pollId, String poll) { this.pollId = pollId; this.poll = poll; } @@ -63,7 +63,7 @@ public boolean equals(Object obj) { return false; if (getClass() != obj.getClass()) return false; - PollUpdate other = (PollUpdate) obj; + PollUpdateEntity other = (PollUpdateEntity) obj; return Objects.equals(id, other.id) && Objects.equals(poll, other.poll) && Objects.equals(pollId, other.pollId); } diff --git a/src/main/java/net/dev4any1/tbot/model/Subscriber.java b/src/main/java/net/dev4any1/tbot/model/Subscriber.java deleted file mode 100755 index 64b49d2..0000000 --- a/src/main/java/net/dev4any1/tbot/model/Subscriber.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.dev4any1.tbot.model; - -import java.io.Serializable; -import java.util.Objects; - -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.index.Indexed; -import org.springframework.data.mongodb.core.mapping.Field; -import org.springframework.data.mongodb.core.mapping.Field.Write; -import org.springframework.data.mongodb.core.mapping.FieldType; -import org.springframework.data.mongodb.core.mapping.MongoId; -import org.telegram.telegrambots.meta.api.objects.User; - -public class Subscriber extends User implements Serializable{ - - private static final long serialVersionUID = Subscriber.class.getName().hashCode(); - - @Id - @MongoId - private String id; - - @Indexed(unique = true) - @Field(targetType = FieldType.STRING, write = Write.NON_NULL) - private String gsmNo; - - public Subscriber(String gsmNo) { - this.gsmNo = gsmNo; - } - - @Override - public int hashCode() { - return Objects.hash(gsmNo, id); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Subscriber other = (Subscriber) obj; - return Objects.equals(gsmNo, other.gsmNo) && Objects.equals(id, other.id); - } - - @Override - public String toString() { - return "Subscriber [id=" + id + ", gsmNo=" + gsmNo + "]"; - } - -} diff --git a/src/main/java/net/dev4any1/tbot/model/UpdateDoc.java b/src/main/java/net/dev4any1/tbot/model/UpdateEntity.java similarity index 80% rename from src/main/java/net/dev4any1/tbot/model/UpdateDoc.java rename to src/main/java/net/dev4any1/tbot/model/UpdateEntity.java index 13b8559..5c86c81 100755 --- a/src/main/java/net/dev4any1/tbot/model/UpdateDoc.java +++ b/src/main/java/net/dev4any1/tbot/model/UpdateEntity.java @@ -10,19 +10,18 @@ import org.springframework.data.mongodb.core.mapping.FieldType; import org.springframework.data.mongodb.core.mapping.MongoId; -public class UpdateDoc implements Serializable { +public class UpdateEntity implements Serializable { - private static final long serialVersionUID = UpdateDoc.class.getName().hashCode(); + private static final long serialVersionUID = UpdateEntity.class.getName().hashCode(); @Id @MongoId private String id; - @Indexed(unique = true) @Field(targetType = FieldType.STRING, write = Write.NON_NULL) private String update; - public UpdateDoc(String update) { + public UpdateEntity(String update) { this.update = update; } @@ -55,7 +54,7 @@ public boolean equals(Object obj) { return false; if (getClass() != obj.getClass()) return false; - UpdateDoc other = (UpdateDoc) obj; + UpdateEntity other = (UpdateEntity) obj; return Objects.equals(id, other.id) && Objects.equals(update, other.update); } diff --git a/src/main/java/net/dev4any1/tbot/service/BotService.java b/src/main/java/net/dev4any1/tbot/service/BotService.java index f5252a5..150f31a 100755 --- a/src/main/java/net/dev4any1/tbot/service/BotService.java +++ b/src/main/java/net/dev4any1/tbot/service/BotService.java @@ -1,11 +1,7 @@ package net.dev4any1.tbot.service; import java.time.Duration; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import net.dev4any1.tbot.dao.PollRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,11 +9,11 @@ import org.springframework.stereotype.Service; import org.telegram.telegrambots.bots.DefaultBotOptions; import org.telegram.telegrambots.meta.TelegramBotsApi; -import org.telegram.telegrambots.meta.api.objects.polls.PollOption; import org.telegram.telegrambots.meta.exceptions.TelegramApiException; import org.telegram.telegrambots.updatesreceivers.DefaultBotSession; import net.dev4any1.tbot.bot.Bot; +import net.dev4any1.tbot.dao.PollRepository; import net.dev4any1.tbot.dao.UpdateRepository; @Service @@ -31,17 +27,9 @@ public class BotService { @Value("${this.bot.token}") private String token; - @Value("${this.bot.list}") - private String list; - - @Value("${this.bot.question}") - private String question; - - @Value("${this.bot.answers}") - private String answers; - @Autowired - private UpdateRepository upr; + private UpdateRepository updateRepository; + @Autowired private PollRepository pollRepository; @@ -49,7 +37,7 @@ public class BotService { public void serviceDefault() { if (bot == null) { - bot = new Bot(new DefaultBotOptions(), token, name, upr, pollRepository); + bot = new Bot(new DefaultBotOptions(), token, name, updateRepository, pollRepository); } try { TelegramBotsApi telegramBotsApi = new TelegramBotsApi(DefaultBotSession.class); @@ -66,14 +54,4 @@ public void serviceDefault() { } log.info("bot is good"); } - - public void startPollToList() { - List gsmNos = Arrays.asList(list.split(" ")); - List options = new ArrayList<>(); - for (String option: Arrays.asList(answers.split(" "))) { - options.add(new PollOption(option, 0)); - } -// bot.sendPoll(question, options, gsmNos); - } - } diff --git a/src/main/java/net/dev4any1/tbot/service/SubscriberService.java b/src/main/java/net/dev4any1/tbot/service/SubscriberService.java deleted file mode 100755 index 05b0956..0000000 --- a/src/main/java/net/dev4any1/tbot/service/SubscriberService.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.dev4any1.tbot.service; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import net.dev4any1.tbot.dao.SubscriberRepository; -import net.dev4any1.tbot.model.Subscriber; - -@Service -public class SubscriberService { - - @Autowired - private SubscriberRepository repository; - - public Subscriber create(String gsmNo) { - return repository.save(new Subscriber(gsmNo)); - } - - public Subscriber getByGsmNo(String gsmNo) { - return repository.findByGsmNo(gsmNo); - } -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 621cfc9..712b50d 100755 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,12 +1,9 @@ -#this.bot.name=MeTaCTa3_bot -this.bot.name=St@tC0m@_bot -#this.bot.token=5883852415:AAGVuNCtVHjB72z1fVV9I_SnNSBmLFDnPuE -this.bot.token=6038096570:AAEV1HmYA26_FSW9taeZXjB32dE2P91WtpQ -this.bot.list=+380663282836 +380674744249 -this.bot.question=wazzup -this.bot.answers=good fine sad +this.bot.name=MeTaCTa3_bot +#this.bot.name=St@tC0m@_bot +this.bot.token=5883852415:AAGVuNCtVHjB72z1fVV9I_SnNSBmLFDnPuE +#this.bot.token=6038096570:AAEV1HmYA26_FSW9taeZXjB32dE2P91WtpQ + # MongoDB properties mongo.db.name=tdb -#mongo.db.url=localhost -#external Mongo url TODO change test port +# external Mongo URL. TODO: change from test port spring.data.mongodb.uri=mongodb://localhost:55777/tdb \ No newline at end of file diff --git a/src/test/java/net/dev4any1/tbot/bot/TestHelper.java b/src/test/java/net/dev4any1/tbot/bot/TestHelper.java deleted file mode 100755 index 0649d4e..0000000 --- a/src/test/java/net/dev4any1/tbot/bot/TestHelper.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.dev4any1.tbot.bot; - -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.Collection; - -import org.junit.jupiter.api.Test; - -public class TestHelper { - - @Test - public void testHelperSearcher() { - String query = "where is the most tasty fish?"; - Collection result = Helper.Searcher.search(query, 2); - assertTrue(result.size() == 2); - } -} diff --git a/src/test/java/net/dev4any1/tbot/repository/PollRepositoryTest.java b/src/test/java/net/dev4any1/tbot/repository/PollRepositoryTest.java new file mode 100755 index 0000000..e72f6e5 --- /dev/null +++ b/src/test/java/net/dev4any1/tbot/repository/PollRepositoryTest.java @@ -0,0 +1,37 @@ +package net.dev4any1.tbot.repository; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import net.dev4any1.tbot.TestMongoConfig; +import net.dev4any1.tbot.dao.PollRepository; +import net.dev4any1.tbot.model.PollUpdateEntity; + +@SpringBootTest(classes = { PollRepository.class }) +@ExtendWith(SpringExtension.class) +@Import({ TestMongoConfig.class }) + +public class PollRepositoryTest { + + @Autowired + PollRepository repo; + + @Test + public void tesCreateAndGet() throws Exception { + PollUpdateEntity puePersisted = repo.save(new PollUpdateEntity("test-poll-id", "test-poll")); + List pueReturned = repo.findByPollId("test-poll-id"); + assertTrue(!pueReturned.isEmpty()); + assertEquals(pueReturned.size(), 1); + assertEquals(puePersisted, pueReturned.get(0)); + repo.deleteAll(); + } +} diff --git a/src/test/java/net/dev4any1/tbot/service/SubscriberServiceTest.java b/src/test/java/net/dev4any1/tbot/service/SubscriberServiceTest.java deleted file mode 100755 index 26d1335..0000000 --- a/src/test/java/net/dev4any1/tbot/service/SubscriberServiceTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.dev4any1.tbot.service; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Import; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -import net.dev4any1.tbot.TestMongoConfig; -import net.dev4any1.tbot.model.Subscriber; - -@SpringBootTest(classes = { SubscriberService.class }) -@ExtendWith(SpringExtension.class) -@Import({ TestMongoConfig.class }) - -public class SubscriberServiceTest { - - @Autowired - SubscriberService service; - - @Test - public void tesCreateAndGet() throws Exception { - final String gsmN = "0123456789"; - Subscriber sub1 = service.create(gsmN); - Subscriber sub2 = service.getByGsmNo(gsmN); - assertEquals(sub1, sub2); - } -}