@Test public void hasHeaderAndFooter() { String headerFooter = "header and footer"; data.setHeader(headerFooter); data.setFooter(headerFooter); assertThat(data.getGfJsonObject().getString("header")).isEqualTo(headerFooter); assertThat(data.getGfJsonObject().getString("footer")).isEqualTo(headerFooter); }
@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"); }
public static CommandResult buildResult(List<CliFunctionResult> functionResults, String header, String footer) { TabularResultData tabularData = ResultBuilder.createTabularResultData(); boolean success = false; for (CliFunctionResult result : functionResults) { tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("Status", result.getLegacyStatus()); // if one member returns back successful results, the command results in success if (result.isSuccessful()) { success = true; } } if (header != null) { tabularData.setHeader(header); } if (footer != null) { tabularData.setFooter(footer); } tabularData.setStatus(success ? Result.Status.OK : Result.Status.ERROR); return ResultBuilder.buildResult(tabularData); }
@Test public void legacyTableComparison() { // Create the legacy results TabularResultData legacyTable = ResultBuilder.createTabularResultData(); legacyTable.setHeader("Heads"); legacyTable.accumulate("Name", "server1"); legacyTable.accumulate("Name", "server2"); legacyTable.accumulate("Id", "member name for server1"); legacyTable.accumulate("Id", "member name for server2"); legacyTable.setFooter("Tails"); Result legacyResult = ResultBuilder.buildResult(legacyTable); String legacyString = CommandResponseBuilder.createCommandResponseJson("server1", (CommandResult) legacyResult); CommandResult clientLegacyResult = ResultBuilder.fromJson(legacyString); // Create the new model results ResultModel newCrm = new ResultModel(); TabularResultModel modelTable = newCrm.addTable("0"); modelTable.setHeader("Heads"); modelTable.accumulate("Name", "server1"); modelTable.accumulate("Name", "server2"); modelTable.accumulate("Id", "member name for server1"); modelTable.accumulate("Id", "member name for server2"); modelTable.setFooter("Tails"); String newModelString = CommandResponseBuilder.createCommandResponseJson("server1", newCrm); CommandResult clientNewModelResult = ResultBuilder.fromJson(newModelString); assertThat(clientNewModelResult.getTableColumnValues("0", "Name")) .isEqualTo(clientLegacyResult.getTableColumnValues("Name")); assertThat(readCommandOutput(clientNewModelResult)) .isEqualTo(readCommandOutput(clientLegacyResult)); }
table1.accumulate("Parameter", "param1"); table1.accumulate("Value", "value1"); table1.setFooter("section-0 table-1 footer");