public CommandResult executeCommand(String command) { gfsh.executeCommand(command); CommandResult result; try { result = (CommandResult) gfsh.getResult(); } catch (InterruptedException e) { throw new RuntimeException(e); } if (StringUtils.isBlank(gfsh.outputString) && result != null && !result.getMessageFromContent().isEmpty()) { if (result.getStatus() == Result.Status.ERROR) { gfsh.outputString = result.toString(); } else { // print out the message body as the command result List<String> messages = result.getListFromContent("message"); for (String line : messages) { gfsh.outputString += line + "\n"; } } } System.out.println("Command result for <" + command + ">: \n" + gfsh.outputString); commandResult = result; return result; }
@Test public void infoResultDataStructure() { InfoResultData result = ResultBuilder.createInfoResultData(); result.addLine("line 1"); result.addLine("line 2"); result.setHeader("Heads"); result.setFooter("Tails"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getListFromContent("message")).contains("line 1", "line 2"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getValueFromContent("message")).isNotEmpty(); assertThat(cmdResult.getStatus()).isEqualTo(Result.Status.OK); }
@Test public void errorResultDataStructure() { ErrorResultData result = ResultBuilder.createErrorResultData(); result.addLine("line 1"); result.addLine("line 2"); result.setHeader("Heads"); result.setFooter("Tails"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getListFromContent("message")).contains("line 1", "line 2"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getValueFromContent("message")).isNotEmpty(); assertThat(cmdResult.getStatus()).isEqualTo(Result.Status.ERROR); }
@Test public void tabularResultDataStructure() { TabularResultData result = ResultBuilder.createTabularResultData(); result.accumulate("column1", "value11"); result.accumulate("column1", "value12"); result.accumulate("column2", "value21"); result.accumulate("column2", "value22"); result.setHeader("Heads"); result.setFooter("Tails"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getListFromContent("column1")).contains("value11", "value12"); assertThat(cmdResult.getListFromContent("column2")).contains("value21", "value22"); }