public void test_assertFileArgumentExist() throws Exception {
    String[] twoArgs =
        new String[] {
          "-srcDir",
          PathUtil.findSrcDirectory(CommandLineArgumentsTest.class).getPath(),
          "-notReallyAFile",
          "chuipasunfichier"
        };
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    arguments.assertFileArgument("srcDir");

    try {
      arguments.assertFileArgument("notReallyAFile");
      fail();
    } catch (IllegalArgumentException ex) {
      assertEquals(
          "L'argument 'notReallyAFile' (chuipasunfichier) n'est pas un fichier accessible.",
          ex.getMessage());
    }
    try {
      arguments.assertFileArgument("unknwonArg");
      fail();
    } catch (IllegalArgumentException ex1) {
      assertEquals("L'argument obligatoire 'unknwonArg' est absent.", ex1.getMessage());
    }
  }
  public void test_contains() throws Exception {
    String[] twoArgs = new String[] {"-logfile", "c:/tmp"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    assertTrue(arguments.contains("logfile"));
    assertFalse(arguments.contains("unknown"));
  }
  public void test_aLotOfArguments() throws Exception {
    String[] twoArgs = new String[] {"-logfile", "c:/tmp", "-remote", "yes"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    assertEquals(2, arguments.size());
    assertEquals("c:/tmp", arguments.getArgument("logfile"));
    assertEquals("yes", arguments.getArgument("remote"));
  }
  public void test_aLotOfArgumentsMergedWithPropertyFile() throws Exception {
    String[] twoArgs = new String[] {"-login", "overridedLogin"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    arguments.loadProperty(getPropertyFile());

    assertEquals(2, arguments.size());
    assertEquals("overridedLogin", arguments.getArgument("login"));
    assertEquals("myvalue", arguments.getArgument("property.defined.in.file"));
  }
 public void test_getAllArguments() throws Exception {
   String[] args =
       new String[] {"-aDate", "2006-01-20", "-period", "200601", "-initiator", "badie"};
   CommandLineArguments arguments = new CommandLineArguments(args);
   Iterator iterator = arguments.getAllArguments();
   List<String> resultList = new ArrayList<String>();
   while (iterator.hasNext()) {
     resultList.add((String) iterator.next());
   }
   assertTrue(resultList.contains("aDate"));
   assertTrue(resultList.contains("period"));
   assertTrue(resultList.contains("initiator"));
 }
  public void test_assertArgumentExists() throws Exception {
    String[] twoArgs = new String[] {"-logfile", "c:/tmp"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    arguments.assertArgumentExists("logfile");

    try {
      arguments.assertArgumentExists("unknwonArg");
      fail();
    } catch (IllegalArgumentException ex) {
      assertEquals("L'argument obligatoire 'unknwonArg' est absent.", ex.getMessage());
    }
  }
  public void test_getDateArgument() throws Exception {
    String[] twoArgs = new String[] {"-aDate", "2006-01-20", "-notADate", "chuipasunedate"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    assertEquals(java.sql.Date.valueOf("2006-01-20"), arguments.getDateArgument("aDate"));

    try {
      arguments.getDateArgument("notADate");
      fail();
    } catch (IllegalArgumentException ex) {
      assertEquals(
          "L'argument 'notADate' (chuipasunedate) n'est pas une date valide (format yyyy-mm-dd).",
          ex.getMessage());
    }
  }
Example #8
0
 private void initBot(String botName) {
   log.info("creating bot...");
   try {
     botLock.lock();
     bot = new Bot(botName, arguments.getBasePath());
     chats.clear();
   } finally {
     botLock.unlock();
   }
   log.info("bot created");
 }
  public void test_assertDateArgument() throws Exception {
    String[] twoArgs = new String[] {"-aDate", "2006-01-20", "-notADate", "chuipasunedate"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    arguments.assertDateArgument("aDate");

    try {
      arguments.assertDateArgument("notADate");
      fail();
    } catch (IllegalArgumentException ex) {
      assertEquals(
          "L'argument 'notADate' (chuipasunedate) n'est pas une date valide (format yyyy-mm-dd).",
          ex.getMessage());
    }
    try {
      arguments.assertDateArgument("unknwonArg");
      fail();
    } catch (IllegalArgumentException ex1) {
      assertEquals("L'argument obligatoire 'unknwonArg' est absent.", ex1.getMessage());
    }
  }
  @Override
  public void execute(CommandLineArguments arguments) {
    if (arguments.argumentCount() < getArgumentCount()) {
      getCommandLineHandle().expectedArguments(getArguments());
      return;
    }

    Scanner scanner = arguments.asScanner();
    final String command = scanner.next();

    ExecutableCommand subCommand = subCommands.get(command);
    if (subCommand != null) {
      String remainingArguments = "";
      if (scanner.hasNext()) {
        remainingArguments = scanner.nextLine();
      }
      subCommand.execute(new CommandLineArguments(remainingArguments));
    } else {
      getCommandLineHandle().print("Unknown command '%s'", command);
    }
  }
  public void test_setArguments() throws Exception {
    String[] twoArgs = new String[] {"-logfile", "c:/tmp"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    arguments.setArgument("logfile", "newValue");
    arguments.setArgument("remote", "no");

    assertEquals(2, arguments.size());
    assertEquals("newValue", arguments.getArgument("logfile"));
    assertEquals("no", arguments.getArgument("remote"));
  }
Example #12
0
  private void reload(String botName) throws IOException, GitAPIException {
    log.info("Starting bot reload");
    FileRepositoryBuilder builder = new FileRepositoryBuilder();
    Repository repository =
        builder.setGitDir(new File(arguments.getBasePath() + "/.git")).readEnvironment().build();
    log.info("Starting repository update");
    Git git = new Git(repository);
    git.reset().setMode(ResetCommand.ResetType.HARD).call();
    log.info("Reset complete");
    git.clean().call();
    log.info("Clean compete");
    git.fetch().call();
    log.info("Fetch complete");
    git.pull().call();
    log.info("Repository update finished");

    initBot(botName);
    log.info("Bot reloaded");
  }
Example #13
0
 private void commandMessage(
     String sender, String message, SantraConnector.MessageSession session) {
   if (!admins.contains(sender)) {
     session.sendMessage(
         String.format("@%s %s", sender, NOSY_RESPONSES[random.nextInt(NOSY_RESPONSES.length)]));
     return;
   }
   if (message.startsWith("reload")) {
     String botName = message.substring("reload".length()).trim();
     if ("".equals(botName)) {
       botName = arguments.getBotName();
     }
     try {
       reload(botName);
       session.sendMessage("Reload complete.");
     } catch (IOException | GitAPIException ex) {
       session.sendMessage(String.format("Reload failed: %s.", ex.getMessage()));
     }
   }
 }
Example #14
0
 private void initBot() {
   initBot(arguments.getBotName());
 }
  public void test_getFileArgument() throws Exception {
    String[] twoArgs = new String[] {"-importFile", "/opt/file.txt"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    assertEquals(new File("/opt/file.txt"), arguments.getFileArgument("importFile"));
  }
  public void test_toString() throws Exception {
    String[] twoArgs = new String[] {"-aDate", "2006-01-20"};
    CommandLineArguments arguments = new CommandLineArguments(twoArgs);

    assertEquals("{aDate=2006-01-20}", arguments.toString());
  }
Example #17
0
  public void run() throws IOException {
    admins = Arrays.asList(arguments.getAdmins().split(","));
    initBot();

    santraConnector.addMessageListener(this::onMessage);
  }
 public void test_noArguments() throws Exception {
   String[] noArgs = new String[] {};
   CommandLineArguments arguments = new CommandLineArguments(noArgs);
   assertEquals(0, arguments.size());
   assertEquals(null, arguments.getArgument("unknownProperty"));
 }