@Test public void fail_to_init_if_dir_does_not_exist() throws Exception { File dir = temp.newFolder(); FileUtils.deleteQuietly(dir); try { DefaultProcessCommands.main(dir, PROCESS_NUMBER); fail(); } catch (IllegalArgumentException e) { assertThat(e).hasMessage("Not a valid directory: " + dir.getAbsolutePath()); } }
@Test public void child_process_update_the_mapped_memory() throws Exception { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { assertThat(commands.isUp()).isFalse(); commands.setUp(); assertThat(commands.isUp()).isTrue(); } }
@Test public void acknowledgeAskForRestart_has_no_effect_when_no_restart_asked() throws Exception { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { assertThat(commands.askedForRestart()).isFalse(); commands.acknowledgeAskForRestart(); assertThat(commands.askedForRestart()).isFalse(); } }
public static ProcessEntryPoint createForArguments(String[] args) { Props props = ConfigurationUtils.loadPropsFromCommandLineArgs(args); File sharedDir = getSharedDir(props); int processNumber = getProcessNumber(props); ProcessCommands commands = DefaultProcessCommands.main(sharedDir, processNumber); return new ProcessEntryPoint(props, processNumber, sharedDir, new SystemExit(), commands); }
@Test public void ask_for_stop() throws Exception { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { assertThat(commands.askedForStop()).isFalse(); commands.askForStop(); assertThat(commands.askedForStop()).isTrue(); } }
@Test public void ask_for_restart() throws Exception { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { assertThat(commands.askedForRestart()).isFalse(); commands.askForRestart(); assertThat(commands.askedForRestart()).isTrue(); } }
@Test public void main_fails_if_processNumber_is_less_than_0() throws Exception { int processNumber = -2; expectProcessNumberNoValidIAE(processNumber); try (DefaultProcessCommands main = DefaultProcessCommands.main(temp.newFolder(), processNumber)) { } }
@Test public void acknowledgeAskForRestart_resets_askForRestart_has_no_effect_when_no_restart_asked() throws Exception { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { commands.askForRestart(); assertThat(commands.askedForRestart()).isTrue(); commands.acknowledgeAskForRestart(); assertThat(commands.askedForRestart()).isFalse(); } }
@Test public void main_fails_if_processNumber_is_higher_than_MAX_PROCESSES() throws Exception { int processNumber = MAX_PROCESSES + 1; expectProcessNumberNoValidIAE(processNumber); try (DefaultProcessCommands main = DefaultProcessCommands.main(temp.newFolder(), processNumber)) { } }
@Test public void main_fails_if_processNumber_is_MAX_PROCESSES() throws Exception { int processNumber = MAX_PROCESSES; expectProcessNumberNoValidIAE(processNumber); try (DefaultProcessCommands main = DefaultProcessCommands.main(temp.newFolder(), processNumber)) { } }
@Test public void main_clears_the_memory_space_of_the_specified_process_number() throws IOException { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { commands.setUp(); commands.setHttpUrl("bla"); commands.setOperational(); } try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { assertThat(commands.isUp()).isFalse(); assertThat(commands.getHttpUrl()).isEmpty(); assertThat(commands.isOperational()).isFalse(); } }
@Test public void secondary_does_not_clear_the_memory_space_of_the_specified_process_number() throws IOException { File dir = temp.newFolder(); try (DefaultProcessCommands commands = DefaultProcessCommands.main(dir, PROCESS_NUMBER)) { commands.setUp(); commands.setHttpUrl("bla"); commands.setOperational(); } try (DefaultProcessCommands commands = DefaultProcessCommands.secondary(dir, PROCESS_NUMBER)) { assertThat(commands.isUp()).isTrue(); assertThat(commands.getHttpUrl()).isEqualTo("bla"); assertThat(commands.isOperational()).isTrue(); } }