private void writeResultTableToFile(File file, CommandResult commandResult) throws IOException { try (FileWriter fileWriter = new FileWriter(file)) { while (commandResult.hasNextLine()) { fileWriter.write(commandResult.nextLine()); if (commandResult.hasNextLine()) { fileWriter.write(SystemUtils.LINE_SEPARATOR); } } } } }
@Override public CommandResult postExecution(GfshParseResult parseResult, CommandResult commandResult, Path tempFile) { // in the command over http case, the command result is in the downloaded temp file if (tempFile != null) { Path dirPath; String dirName = parseResult.getParamValueAsString("dir"); if (StringUtils.isBlank(dirName)) { dirPath = Paths.get(System.getProperty("user.dir")).toAbsolutePath(); } else { dirPath = Paths.get(dirName).toAbsolutePath(); } String fileName = "exportedLogs_" + System.currentTimeMillis() + ".zip"; File exportedLogFile = dirPath.resolve(fileName).toFile(); try { FileUtils.copyFile(tempFile.toFile(), exportedLogFile); FileUtils.deleteQuietly(tempFile.toFile()); commandResult = (CommandResult) ResultBuilder .createInfoResult("Logs exported to: " + exportedLogFile.getAbsolutePath()); } catch (IOException e) { logger.error(e.getMessage(), e); commandResult = ResultBuilder.createGemFireErrorResult(e.getMessage()); } } else if (commandResult.getStatus() == Result.Status.OK) { commandResult = (CommandResult) ResultBuilder.createInfoResult( "Logs exported to the connected member's file system: " + commandResult.nextLine()); } return commandResult; } }
private List<String> readCommandOutput(CommandResult cmd) { List<String> result = new ArrayList<>(); while (cmd.hasNextLine()) { String line = cmd.nextLine(); if (!line.isEmpty()) { result.add(line); } } return result; } }
@Test public void resultWithFileDoesHaveFileToDownload() { Path fileToDownload = Paths.get(".").toAbsolutePath(); CommandResult commandResult = new LegacyCommandResult(fileToDownload); assertThat(commandResult.hasFileToDownload()).isTrue(); assertThat(commandResult.nextLine()).isEqualTo(fileToDownload.toString() + LINE_SEPARATOR); assertThat(commandResult.getFileToDownload()).isEqualTo(fileToDownload); } }
private void verifyDestroyIndexCommandResult(CommandResult result, List<CliFunctionResult> cliFunctionResults, String expectedStatus) { assertThat(result.getStatus()).isEqualTo(Status.OK); if (result.getType().equals(TYPE_TABULAR)) { TabularResultData data = (TabularResultData) result.getResultData(); List<String> members = data.retrieveAllValues("Member"); assertThat(cliFunctionResults.size()).isEqualTo(members.size()); // Verify each member for (int i = 0; i < members.size(); i++) { assertThat(members.get(i)).isEqualTo("member" + i); } // Verify each status List<String> status = data.retrieveAllValues("Status"); for (String statu : status) { assertThat(statu).isEqualTo(expectedStatus); } } else { // Info result. Verify next lines are equal. assertThat(result.nextLine()).isEqualTo(expectedStatus); } }
@Test public void whenGfshIsAlreadyConnected() throws Exception { when(gfsh.isConnectedAndReady()).thenReturn(true); result = gfshParserRule.executeCommandWithInstance(connectCommand, "connect"); assertThat(result.nextLine()).contains("Already connected to"); }
@Test public void emptyResultHasOneEmptyLine() { CommandResult commandResult = new LegacyCommandResult(new InfoResultData()); Assertions.assertThat(commandResult.nextLine()).isEqualTo(""); Assertions.assertThat(commandResult.hasNextLine()).isFalse(); }
@Test public void resultWithOneLineHasOneLine() { CommandResult commandResult = new LegacyCommandResult(new InfoResultData("oneLine")); assertThat(commandResult.nextLine()).isEqualTo("oneLine" + LINE_SEPARATOR); assertThat(commandResult.hasNextLine()).isFalse(); }
@Test public void resultWithTwoLinesHasTwoLines() { InfoResultData resultData = new InfoResultData(); resultData.addLine("lineOne"); resultData.addLine("lineTwo"); CommandResult commandResult = new LegacyCommandResult(resultData); assertThat(commandResult.nextLine()) .isEqualTo("lineOne" + LINE_SEPARATOR + "lineTwo" + LINE_SEPARATOR); assertThat(commandResult.hasNextLine()).isFalse(); }
gfsh.printAsInfo(commandResult.nextLine());
private String getPage(final LuceneSearchResults[] expectedResults, int[] indexList) { final TabularResultData data = ResultBuilder.createTabularResultData(); for (int i : indexList) { data.accumulate("key", expectedResults[i].getKey()); data.accumulate("value", expectedResults[i].getValue()); data.accumulate("score", expectedResults[i].getScore()); } CommandResult commandResult = ResultBuilder.buildResult(data); StringBuilder buffer = new StringBuilder(); while (commandResult.hasNextLine()) { buffer.append(commandResult.nextLine()); } return buffer.toString(); }