From aba2633dc469ed1206f2aeef95e07ff4eb9a7c09 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Apr 2020 23:19:16 -0700 Subject: [PATCH] Cleanup. --- .../net/thauvin/erik/mobibot/Constants.java | 8 + .../net/thauvin/erik/mobibot/Mobibot.java | 153 ++++++++---------- .../erik/mobibot/commands/links/UrlMgr.kt | 3 +- .../erik/mobibot/commands/tell/Tell.java | 5 +- .../commands/tell/TellMessagesMgr.java | 9 +- .../erik/mobibot/entries/EntriesMgr.java | 69 ++++---- .../thauvin/erik/mobibot/modules/Lookup.java | 5 +- .../mobibot/modules/GoogleSearchTest.java | 4 +- .../mobibot/modules/RockPaperScissorsTest.kt | 21 ++- .../erik/mobibot/modules/StockQuoteTest.java | 2 +- .../erik/mobibot/modules/TwitterTest.java | 16 +- .../erik/mobibot/modules/Weather2Test.java | 14 +- 12 files changed, 145 insertions(+), 164 deletions(-) diff --git a/src/main/java/net/thauvin/erik/mobibot/Constants.java b/src/main/java/net/thauvin/erik/mobibot/Constants.java index 9943398..eaf8d2d 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Constants.java +++ b/src/main/java/net/thauvin/erik/mobibot/Constants.java @@ -54,6 +54,14 @@ public final class Constants { * The debug command. */ public static final String DEBUG_CMD = "debug"; + /** + * Default IRC Port. + */ + public static final int DEFAULT_PORT = 6667; + /** + * Default IRC Server. + */ + public static final String DEFAULT_SERVER = "irc.freenode.net"; /** * The die command. */ diff --git a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java index fdca6d2..affe915 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java +++ b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java @@ -35,6 +35,7 @@ package net.thauvin.erik.mobibot; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import net.thauvin.erik.mobibot.commands.AbstractCommand; import net.thauvin.erik.mobibot.commands.AddLog; +import net.thauvin.erik.mobibot.commands.ChannelFeed; import net.thauvin.erik.mobibot.commands.Cycle; import net.thauvin.erik.mobibot.commands.Ignore; import net.thauvin.erik.mobibot.commands.Info; @@ -122,16 +123,12 @@ public class Mobibot extends PircBot { ReleaseInfo.PROJECT + " v" + ReleaseInfo.VERSION + " (" + Utils.green("https://www.mobitopia.org/mobibot/") + ')', "Written by Erik C. Thauvin (" + Utils.green("https://erik.thauvin.net/") + ')'); - // Timer - public static final Timer timer = new Timer(true); - // Default port - private static final int DEFAULT_PORT = 6667; - // Default server - private static final String DEFAULT_SERVER = "irc.freenode.net"; + // Logger + private static final Logger LOGGER = LogManager.getLogger(Mobibot.class); // Maximum number of times the bot will try to reconnect, if disconnected private static final int MAX_RECONNECT = 10; - // Logger - private static final Logger logger = LogManager.getLogger(Mobibot.class); + // Timer + private static final Timer TIMER = new Timer(true); // Ignore command public final Ignore ignoreCommand; // Automatically post links to Twitter @@ -179,6 +176,7 @@ public class Mobibot extends PircBot { // Weblog URL private String weblogUrl = ""; + /** * Creates a new {@link Mobibot} instance. * @@ -196,25 +194,20 @@ public class Mobibot extends PircBot { setName(nickname); - ircServer = p.getProperty("server", DEFAULT_SERVER); - ircPort = Utils.getIntProperty(p.getProperty("port"), DEFAULT_PORT); + ircServer = p.getProperty("server", Constants.DEFAULT_SERVER); + ircPort = Utils.getIntProperty(p.getProperty("port"), Constants.DEFAULT_PORT); ircChannel = channel; logsDir = logsDirPath; // Set the logger level - loggerLevel = logger.getLevel(); + loggerLevel = LOGGER.getLevel(); // Load the current entries and backlogs, if any try { UrlMgr.startup(logsDir + EntriesMgr.CURRENT_XML, logsDir + EntriesMgr.NAV_XML, ircChannel); - - if (logger.isDebugEnabled()) { - logger.debug("Last feed: {}", UrlMgr.getStartDate()); - } + LOGGER.debug("Last feed: {}", UrlMgr.getStartDate()); } catch (Exception e) { - if (logger.isErrorEnabled()) { - logger.error("An error occurred while loading the logs.", e); - } + LOGGER.error("An error occurred while loading the logs.", e); } // Initialize the bot @@ -273,15 +266,14 @@ public class Mobibot extends PircBot { addModule(new Ping()); addModule(new RockPaperScissors()); addModule(new StockQuote()); - - // Twitter - twitterModule = new Twitter(); - addModule(twitterModule); - addModule(new War()); addModule(new Weather2()); addModule(new WorldTime()); + // Twitter module + twitterModule = new Twitter(); + addModule(twitterModule); + // Load the modules properties modules.stream().filter(AbstractModule::hasProperties).forEach(module -> { for (final String s : module.getPropertyKeys()) { @@ -295,6 +287,11 @@ public class Mobibot extends PircBot { Boolean.parseBoolean(p.getProperty(Constants.TWITTER_AUTOPOST_PROP, "false")) && twitterModule.isEnabled(); + // Sort the command & module names + Collections.sort(commandsNames); + Collections.sort(opsCommandsNames); + Collections.sort(modulesNames); + // Save the entries UrlMgr.saveEntries(this, true); } @@ -418,6 +415,22 @@ public class Mobibot extends PircBot { } } + /** + * Adds a command. + * + * @param command The command to add. + */ + private void addCommand(final AbstractCommand command) { + commands.add(command); + if (command.isVisible()) { + if (command.isOp()) { + opsCommandsNames.add(command.getCommand()); + } else { + commandsNames.add(command.getCommand()); + } + } + } + /** * Adds a module. * @@ -426,6 +439,7 @@ public class Mobibot extends PircBot { private void addModule(final AbstractModule module) { modules.add(module); modulesNames.add(module.getClass().getSimpleName()); + commandsNames.addAll(module.getCommands()); } /** @@ -456,11 +470,7 @@ public class Mobibot extends PircBot { connect(ircServer, ircPort); } catch (Exception ex) { if (retries == MAX_RECONNECT) { - if (logger.isDebugEnabled()) { - logger.debug( - "Unable to reconnect to {} after {} retries.", ircServer, MAX_RECONNECT, ex); - } - + LOGGER.debug("Unable to reconnect to {} after {} retries.", ircServer, MAX_RECONNECT, ex); e.printStackTrace(System.err); System.exit(1); } @@ -526,7 +536,7 @@ public class Mobibot extends PircBot { * @return The bot's logger. */ public final Logger getLogger() { - return logger; + return LOGGER; } /** @@ -567,6 +577,15 @@ public class Mobibot extends PircBot { return buff.toString(); } + /** + * Returns the bot's timer. + * + * @return The timer. + */ + public final Timer getTimer() { + return TIMER; + } + /** * Get today's date for the feed. * @@ -616,30 +635,6 @@ public class Mobibot extends PircBot { Utils.helpIndent(Utils.helpFormat("%c " + Constants.HELP_CMD + " ", getNick(), isPrivate)), isPrivate); send(sender, "The commands are:", isPrivate); - - if (commandsNames.isEmpty()) { - // Feed command - commandsNames.add(getChannelName()); - - // Commands - for (final AbstractCommand command : commands) { - if (command.isVisible()) { - if (command.isOp()) { - opsCommandsNames.add(command.getCommand()); - } else { - commandsNames.add(command.getCommand()); - } - } - } - - // Modules commands - modules.stream().filter(AbstractModule::isEnabled) - .forEach(module -> commandsNames.addAll(module.getCommands())); - - Collections.sort(commandsNames); - Collections.sort(opsCommandsNames); - } - sendList(sender, commandsNames, 8, isPrivate, true); if (isOp) { send(sender, "The op commands are:", isPrivate); @@ -749,15 +744,13 @@ public class Mobibot extends PircBot { @Override protected final void onMessage(final String channel, final String sender, final String login, final String hostname, final String message) { - if (logger.isDebugEnabled()) { - logger.debug(">>> {} : {}", sender, message); + LOGGER.debug(">>> {} : {}", sender, message); + + if (tell.isEnabled()) { + tell.send(sender, true); } - boolean isCommand = false; - if (message.matches(getNickPattern() + ":.*")) { // mobibot: - isCommand = true; - final String[] cmds = message.substring(message.indexOf(':') + 1).trim().split(" ", 2); final String cmd = lowerCase(cmds[0]); @@ -808,9 +801,7 @@ public class Mobibot extends PircBot { @Override protected final void onPrivateMessage(final String sender, final String login, final String hostname, final String message) { - if (logger.isDebugEnabled()) { - logger.debug(">>> {} : {}", sender, message); - } + LOGGER.debug(">>> {} : {}", sender, message); final String[] cmds = message.split(" ", 2); final String cmd = lowerCase(cmds[0]); @@ -828,15 +819,15 @@ public class Mobibot extends PircBot { sendRawLine("QUIT : Poof!"); System.exit(0); } else if (isOp && Constants.DEBUG_CMD.equals(cmd)) { // debug - if (logger.isDebugEnabled()) { - Configurator.setLevel(logger.getName(), loggerLevel); + if (LOGGER.isDebugEnabled()) { + Configurator.setLevel(LOGGER.getName(), loggerLevel); } else { - Configurator.setLevel(logger.getName(), Level.DEBUG); + Configurator.setLevel(LOGGER.getName(), Level.DEBUG); } - send(sender, "Debug logging is " + (logger.isDebugEnabled() ? "enabled." : "disabled."), true); + send(sender, "Debug logging is " + (LOGGER.isDebugEnabled() ? "enabled." : "disabled."), true); } else if (isOp && Constants.DIE_CMD.equals(cmd)) { // die send(sender + " has just signed my death sentence."); - timer.cancel(); + TIMER.cancel(); twitterShutdown(); twitterNotification("killed by " + sender + " on " + ircChannel); sleep(3); @@ -869,7 +860,7 @@ public class Mobibot extends PircBot { @Override protected final void onAction(final String sender, final String login, final String hostname, final String target, final String action) { - if (target != null && target.equals(ircChannel)) { + if (ircChannel.equals(target)) { Recap.storeRecap(sender, action, true); } } @@ -905,16 +896,10 @@ public class Mobibot extends PircBot { public final void send(final String sender, final String message, final boolean isPrivate) { if (isNotBlank(message) && isNotBlank(sender)) { if (isPrivate) { - if (logger.isDebugEnabled()) { - logger.debug("Sending message to {} : {}", sender, message); - } - + LOGGER.debug("Sending message to {} : {}", sender, message); sendMessage(sender, message); } else { - if (logger.isDebugEnabled()) { - logger.debug("Sending notice to {} : {}", sender, message); - } - + LOGGER.debug("Sending notice to {} : {}", sender, message); sendNotice(sender, message); } } @@ -1028,7 +1013,7 @@ public class Mobibot extends PircBot { } /** - * Add an entry to be posted on twitter. + * Add an entry to be posted on Twitter. * * @param index The entry index. */ @@ -1049,11 +1034,12 @@ public class Mobibot extends PircBot { entry.getTitle() + ' ' + entry.getLink() + " via " + entry.getNick() + " on " + getChannel(); new Thread(() -> { try { + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Posting {}{} to Twitter.", Constants.LINK_CMD, index + 1); + } twitterModule.post(twitterHandle, msg, false); } catch (ModuleException e) { - if (logger.isWarnEnabled()) { - logger.warn("Failed to post entry on twitter.", e); - } + LOGGER.warn("Failed to post entry on Twitter.", e); } }).start(); twitterEntries.remove(index); @@ -1083,16 +1069,14 @@ public class Mobibot extends PircBot { getName() + ' ' + ReleaseInfo.VERSION + " " + msg, true); } catch (ModuleException e) { - if (logger.isWarnEnabled()) { - logger.warn("Failed to notify @{}: {}", twitterHandle, msg, e); - } + LOGGER.warn("Failed to notify @{}: {}", twitterHandle, msg, e); } }).start(); } } /** - * Removes entry from twitter auto-post. + * Removes entry from Twitter auto-post. * * @param index The entry's index. */ @@ -1106,6 +1090,7 @@ public class Mobibot extends PircBot { */ final void twitterShutdown() { if (twitterModule.isEnabled() && isNotBlank(twitterHandle)) { + LOGGER.debug("Twitter shutdown."); for (final int i : twitterEntries) { twitterEntryPost(i); } diff --git a/src/main/java/net/thauvin/erik/mobibot/commands/links/UrlMgr.kt b/src/main/java/net/thauvin/erik/mobibot/commands/links/UrlMgr.kt index 1a6cd77..539094f 100644 --- a/src/main/java/net/thauvin/erik/mobibot/commands/links/UrlMgr.kt +++ b/src/main/java/net/thauvin/erik/mobibot/commands/links/UrlMgr.kt @@ -237,7 +237,8 @@ class UrlMgr(defaultTags: String, keywords: String) : AbstractCommand() { private fun twitterPost(bot: Mobibot, index: Int) { if (bot.isTwitterAutoPost) { bot.twitterAddEntry(index) - Mobibot.timer.schedule(TwitterTimer(bot, index), Constants.TIMER_DELAY * 60L * 1000L) + bot.logger.debug("Scheduling ${Constants.LINK_CMD}${index + 1} for posting on Twitter.") + bot.timer.schedule(TwitterTimer(bot, index), Constants.TIMER_DELAY * 60L * 1000L) } } } diff --git a/src/main/java/net/thauvin/erik/mobibot/commands/tell/Tell.java b/src/main/java/net/thauvin/erik/mobibot/commands/tell/Tell.java index ff626cb..fe96e9d 100644 --- a/src/main/java/net/thauvin/erik/mobibot/commands/tell/Tell.java +++ b/src/main/java/net/thauvin/erik/mobibot/commands/tell/Tell.java @@ -106,10 +106,7 @@ public class Tell extends AbstractCommand { */ @SuppressWarnings("WeakerAccess") final boolean clean() { - if (bot.getLogger().isDebugEnabled()) { - bot.getLogger().debug("Cleaning the messages."); - } - + bot.getLogger().debug("Cleaning the messages."); return TellMessagesMgr.clean(messages, maxDays); } diff --git a/src/main/java/net/thauvin/erik/mobibot/commands/tell/TellMessagesMgr.java b/src/main/java/net/thauvin/erik/mobibot/commands/tell/TellMessagesMgr.java index e4050f7..b712438 100644 --- a/src/main/java/net/thauvin/erik/mobibot/commands/tell/TellMessagesMgr.java +++ b/src/main/java/net/thauvin/erik/mobibot/commands/tell/TellMessagesMgr.java @@ -91,9 +91,7 @@ final class TellMessagesMgr { try { try (final ObjectInput input = new ObjectInputStream( new BufferedInputStream(Files.newInputStream(Paths.get(file))))) { - if (logger.isDebugEnabled()) { - logger.debug("Loading the messages."); - } + logger.debug("Loading the messages."); return ((List) input.readObject()); } @@ -117,10 +115,7 @@ final class TellMessagesMgr { try { try (final ObjectOutput output = new ObjectOutputStream( new BufferedOutputStream(Files.newOutputStream(Paths.get(file))))) { - if (logger.isDebugEnabled()) { - logger.debug("Saving the messages."); - } - + logger.debug("Saving the messages."); output.writeObject(messages); } } catch (IOException e) { diff --git a/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java index d1ba70b..42c1fb9 100644 --- a/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java +++ b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java @@ -102,13 +102,13 @@ public final class EntriesMgr { * @throws FeedException If an error occurred while reading the feed. */ public static void loadBacklogs(final String file, final Collection history) - throws IOException, FeedException { + throws IOException, FeedException { history.clear(); final SyndFeedInput input = new SyndFeedInput(); try (final InputStreamReader reader = - new InputStreamReader(Files.newInputStream(Paths.get(file)), StandardCharsets.UTF_8)) { + new InputStreamReader(Files.newInputStream(Paths.get(file)), StandardCharsets.UTF_8)) { final SyndFeed feed = input.build(reader); @@ -134,7 +134,7 @@ public final class EntriesMgr { */ @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") public static String loadEntries(final String file, final String channel, final Collection entries) - throws IOException, FeedException { + throws IOException, FeedException { entries.clear(); final SyndFeedInput input = new SyndFeedInput(); @@ -142,7 +142,7 @@ public final class EntriesMgr { final String today; try (final InputStreamReader reader = new InputStreamReader( - Files.newInputStream(Paths.get(file)), StandardCharsets.UTF_8)) { + Files.newInputStream(Paths.get(file)), StandardCharsets.UTF_8)) { final SyndFeed feed = input.build(reader); today = Utils.isoLocalDate(feed.getPublishedDate()); @@ -157,13 +157,13 @@ public final class EntriesMgr { for (int i = items.size() - 1; i >= 0; i--) { item = items.get(i); author = item.getAuthor() - .substring(item.getAuthor().lastIndexOf('(') + 1, item.getAuthor().length() - 1); + .substring(item.getAuthor().lastIndexOf('(') + 1, item.getAuthor().length() - 1); entry = new EntryLink(item.getLink(), - item.getTitle(), - author, - channel, - item.getPublishedDate(), - item.getCategories()); + item.getTitle(), + author, + channel, + item.getPublishedDate(), + item.getCategories()); description = item.getDescription(); comments = description.getValue().split("
"); @@ -191,15 +191,14 @@ public final class EntriesMgr { * @param history The history array. * @param isDayBackup Set the true if the daily backup file should also be created. */ - @SuppressFBWarnings(value = {"CE_CLASS_ENVY", "CC_CYCLOMATIC_COMPLEXITY"}, justification = "Yes, it does.") + @SuppressFBWarnings(value = { "CE_CLASS_ENVY", "CC_CYCLOMATIC_COMPLEXITY" }, + justification = "Yes, it does.") @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") public static void saveEntries(final Mobibot bot, final List entries, final List history, final boolean isDayBackup) { - if (bot.getLogger().isDebugEnabled()) { - bot.getLogger().debug("Saving the feeds..."); - } + bot.getLogger().debug("Saving the feeds..."); if (StringUtils.isNotBlank(bot.getLogsDir()) && StringUtils.isNotBlank(bot.getWeblogUrl())) { try { @@ -209,7 +208,7 @@ public final class EntriesMgr { SyndEntry item; SyndContent description; try (final Writer fw = new OutputStreamWriter( - Files.newOutputStream(Paths.get(bot.getLogsDir() + CURRENT_XML)), StandardCharsets.UTF_8)) { + Files.newOutputStream(Paths.get(bot.getLogsDir() + CURRENT_XML)), StandardCharsets.UTF_8)) { rss.setFeedType("rss_2.0"); rss.setTitle(bot.getChannel() + " IRC Links"); rss.setDescription("Links from " + bot.getIrcServer() + " on " + bot.getChannel()); @@ -225,14 +224,14 @@ public final class EntriesMgr { entry = entries.get(i); buff = new StringBuilder() - .append("Posted by ") - .append(entry.getNick()) - .append(" on ") - .append(entry.getChannel()) - .append(""); + .append("Posted by ") + .append(entry.getNick()) + .append(" on ") + .append(entry.getChannel()) + .append(""); if (entry.getCommentsCount() > 0) { buff.append("

"); @@ -258,7 +257,8 @@ public final class EntriesMgr { item.setTitle(entry.getTitle()); item.setPublishedDate(entry.getDate()); item.setAuthor( - bot.getChannel().substring(1) + '@' + bot.getIrcServer() + " (" + entry.getNick() + ')'); + bot.getChannel().substring(1) + '@' + bot.getIrcServer() + " (" + entry.getNick() + + ')'); item.setCategories(entry.getTags()); items.add(item); @@ -266,16 +266,13 @@ public final class EntriesMgr { rss.setEntries(items); - if (bot.getLogger().isDebugEnabled()) { - bot.getLogger().debug("Writing the entries feed."); - } - + bot.getLogger().debug("Writing the entries feed."); output.output(rss, fw); } try (final Writer fw = new OutputStreamWriter( - Files.newOutputStream(Paths.get( - bot.getLogsDir() + bot.getToday() + XML_EXT)), StandardCharsets.UTF_8)) { + Files.newOutputStream(Paths.get( + bot.getLogsDir() + bot.getToday() + XML_EXT)), StandardCharsets.UTF_8)) { output.output(rss, fw); } @@ -290,12 +287,12 @@ public final class EntriesMgr { } try (final Writer fw = new OutputStreamWriter( - Files.newOutputStream(Paths.get(bot.getLogsDir() + NAV_XML)), StandardCharsets.UTF_8)) { + Files.newOutputStream(Paths.get(bot.getLogsDir() + NAV_XML)), StandardCharsets.UTF_8)) { rss = new SyndFeedImpl(); rss.setFeedType("rss_2.0"); rss.setTitle(bot.getChannel() + " IRC Links Backlogs"); rss.setDescription("Backlogs of Links from " + bot.getIrcServer() + " on " - + bot.getChannel()); + + bot.getChannel()); rss.setLink(bot.getBacklogsUrl()); rss.setPublishedDate(Calendar.getInstance().getTime()); @@ -317,10 +314,7 @@ public final class EntriesMgr { rss.setEntries(items); - if (bot.getLogger().isDebugEnabled()) { - bot.getLogger().debug("Writing the backlog feed."); - } - + bot.getLogger().debug("Writing the backlog feed."); output.output(rss, fw); } } else { @@ -331,8 +325,7 @@ public final class EntriesMgr { bot.getLogger().warn("Unable to generate the entries feed.", e); } } else { - bot.getLogger() - .warn("Unable to generate the entries feed. At least one of the required property is missing."); + bot.getLogger().warn("Unable to generate the entries feed. A required property is missing."); } } } diff --git a/src/main/java/net/thauvin/erik/mobibot/modules/Lookup.java b/src/main/java/net/thauvin/erik/mobibot/modules/Lookup.java index 20ab522..a065068 100644 --- a/src/main/java/net/thauvin/erik/mobibot/modules/Lookup.java +++ b/src/main/java/net/thauvin/erik/mobibot/modules/Lookup.java @@ -180,10 +180,7 @@ public final class Lookup extends AbstractModule { bot.send("Unknown host."); } } catch (IOException ioe) { - if (bot.getLogger().isDebugEnabled()) { - bot.getLogger().debug("Unable to perform whois IP lookup: {}", args, ioe); - } - + bot.getLogger().debug("Unable to perform whois IP lookup: {}", args, ioe); bot.send("Unable to perform whois IP lookup: " + ioe.getMessage()); } } else { diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/GoogleSearchTest.java b/src/test/java/net/thauvin/erik/mobibot/modules/GoogleSearchTest.java index 4b07647..23a1552 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/GoogleSearchTest.java +++ b/src/test/java/net/thauvin/erik/mobibot/modules/GoogleSearchTest.java @@ -58,8 +58,8 @@ public class GoogleSearchTest extends LocalProperties { @SuppressWarnings("PMD.PreserveStackTrace") @Test public void testSearchGoogle() throws ModuleException { - final String apiKey = LocalProperties.getProperty(GoogleSearch.GOOGLE_API_KEY_PROP); - final String cseKey = LocalProperties.getProperty(GoogleSearch.GOOGLE_CSE_KEY_PROP); + final String apiKey = getProperty(GoogleSearch.GOOGLE_API_KEY_PROP); + final String cseKey = getProperty(GoogleSearch.GOOGLE_CSE_KEY_PROP); try { List messages = GoogleSearch.searchGoogle("mobibot site:github.com", apiKey, cseKey); assertThat(messages).as("mobibot results not empty").isNotEmpty(); diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/RockPaperScissorsTest.kt b/src/test/java/net/thauvin/erik/mobibot/modules/RockPaperScissorsTest.kt index 6ca4a84..0429945 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/RockPaperScissorsTest.kt +++ b/src/test/java/net/thauvin/erik/mobibot/modules/RockPaperScissorsTest.kt @@ -40,18 +40,25 @@ class RockPaperScissorsTest { @Test fun testWinLoseOrDraw() { assertThat( - RockPaperScissors.winLoseOrDraw("scissors", "paper")).`as`("scissors vs. paper").isEqualTo("win") + RockPaperScissors.winLoseOrDraw("scissors", "paper") + ).`as`("scissors vs. paper").isEqualTo("win") assertThat( - RockPaperScissors.winLoseOrDraw("paper", "rock")).`as`("paper vs. rock").isEqualTo("win") + RockPaperScissors.winLoseOrDraw("paper", "rock") + ).`as`("paper vs. rock").isEqualTo("win") assertThat( - RockPaperScissors.winLoseOrDraw("rock", "scissors")).`as`("rock vs. scissors").isEqualTo("win") + RockPaperScissors.winLoseOrDraw("rock", "scissors") + ).`as`("rock vs. scissors").isEqualTo("win") assertThat( - RockPaperScissors.winLoseOrDraw("paper", "scissors")).`as`("paper vs. scissors").isEqualTo("lose") + RockPaperScissors.winLoseOrDraw("paper", "scissors") + ).`as`("paper vs. scissors").isEqualTo("lose") assertThat( - RockPaperScissors.winLoseOrDraw("rock", "paper")).`as`("rock vs. paper").isEqualTo("lose") + RockPaperScissors.winLoseOrDraw("rock", "paper") + ).`as`("rock vs. paper").isEqualTo("lose") assertThat( - RockPaperScissors.winLoseOrDraw("scissors", "rock")).`as`("scissors vs. rock").isEqualTo("lose") + RockPaperScissors.winLoseOrDraw("scissors", "rock") + ).`as`("scissors vs. rock").isEqualTo("lose") assertThat( - RockPaperScissors.winLoseOrDraw("scissors", "scissors")).`as`("scissors vs. scissors").isEqualTo("draw") + RockPaperScissors.winLoseOrDraw("scissors", "scissors") + ).`as`("scissors vs. scissors").isEqualTo("draw") } } diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/StockQuoteTest.java b/src/test/java/net/thauvin/erik/mobibot/modules/StockQuoteTest.java index 5931cd5..0b77df5 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/StockQuoteTest.java +++ b/src/test/java/net/thauvin/erik/mobibot/modules/StockQuoteTest.java @@ -61,7 +61,7 @@ public class StockQuoteTest extends LocalProperties { assertThat(messages.get(0).getText()).as("same stock symbol").contains("AAPL").contains("Apple Inc."); try { - StockQuote.getQuote("012", apiKey); + StockQuote.getQuote("blahfoo", apiKey); } catch (ModuleException e) { assertThat(e.getMessage()).as("invalid symbol").containsIgnoringCase(StockQuote.INVALID_SYMBOL); } diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/TwitterTest.java b/src/test/java/net/thauvin/erik/mobibot/modules/TwitterTest.java index b1514a9..f289a79 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/TwitterTest.java +++ b/src/test/java/net/thauvin/erik/mobibot/modules/TwitterTest.java @@ -48,7 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @created 2019-04-19 * @since 1.0 */ -public class TwitterTest { +public class TwitterTest extends LocalProperties { @SuppressFBWarnings("MDM") private String getCi() { if ("true".equals(System.getenv("CIRCLECI"))) { @@ -68,12 +68,12 @@ public class TwitterTest { public void testPostTwitter() throws ModuleException { final String msg = "Testing Twitter API from " + getCi(); assertThat(Twitter.twitterPost( - LocalProperties.getProperty(Twitter.CONSUMER_KEY_PROP), - LocalProperties.getProperty(Twitter.CONSUMER_SECRET_PROP), - LocalProperties.getProperty(Twitter.TOKEN_PROP), - LocalProperties.getProperty(Twitter.TOKEN_SECRET_PROP), - LocalProperties.getProperty(Constants.TWITTER_HANDLE_PROP), - msg, - true).getText()).as("twitterPost(" + msg + ')').isEqualTo(msg); + getProperty(Twitter.CONSUMER_KEY_PROP), + getProperty(Twitter.CONSUMER_SECRET_PROP), + getProperty(Twitter.TOKEN_PROP), + getProperty(Twitter.TOKEN_SECRET_PROP), + getProperty(Constants.TWITTER_HANDLE_PROP), + msg, + true).getText()).as("twitterPost(" + msg + ')').isEqualTo(msg); } } diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/Weather2Test.java b/src/test/java/net/thauvin/erik/mobibot/modules/Weather2Test.java index f22e049..5eb40d4 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/Weather2Test.java +++ b/src/test/java/net/thauvin/erik/mobibot/modules/Weather2Test.java @@ -53,21 +53,19 @@ public class Weather2Test extends LocalProperties { @SuppressFBWarnings("PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS") @Test public void testWeather() throws ModuleException { - List messages = Weather2.getWeather("98204", LocalProperties.getProperty(Weather2.OWM_API_KEY_PROP)); + List messages = Weather2.getWeather("98204", getProperty(Weather2.OWM_API_KEY_PROP)); assertThat(messages.get(0).getText()).as("is Everett").contains("Everett").contains("US"); assertThat(messages.get(messages.size() - 1).getText()).as("is City Search").endsWith("98204%2CUS"); - messages = Weather2.getWeather("London, UK", LocalProperties.getProperty(Weather2.OWM_API_KEY_PROP)); + messages = Weather2.getWeather("London, UK", getProperty(Weather2.OWM_API_KEY_PROP)); assertThat(messages.get(0).getText()).as("is UK").contains("London").contains("UK"); assertThat(messages.get(messages.size() - 1).getText()).as("is City Code").endsWith("4517009"); - assertThatThrownBy( - () -> Weather2.getWeather("Montpellier, FR", LocalProperties.getProperty(Weather2.OWM_API_KEY_PROP))).as( - "Montpellier not found").hasCauseInstanceOf(APIException.class); + assertThatThrownBy(() -> Weather2.getWeather("Montpellier, FR", getProperty(Weather2.OWM_API_KEY_PROP))) + .as("Montpellier not found").hasCauseInstanceOf(APIException.class); - assertThatThrownBy( - () -> Weather2.getWeather("test", "")).as( - "no API key").isInstanceOf(ModuleException.class).hasNoCause(); + assertThatThrownBy(() -> Weather2.getWeather("test", "")) + .as("no API key").isInstanceOf(ModuleException.class).hasNoCause(); messages = Weather2.getWeather("", "apikey"); assertThat(messages.get(0).isError()).as("no query").isTrue();