private void validateResult(CommandResult cmdResult, Boolean expected) { if (ResultData.TYPE_MODEL.equals(cmdResult.getType())) { ResultModel rd = (ResultModel) cmdResult.getResultData(); DataResultModel result = rd.getDataSection(DataCommandResult.DATA_INFO_SECTION); assertThat(result.getContent().get("Result")).isEqualTo(expected.toString()); } else fail("Expected CompositeResult Returned Result Type " + cmdResult.getType()); }
private void validateSelectResult(CommandResult cmdResult, Boolean expectSuccess, Integer expectedRows, String[] cols) { if (ResultData.TYPE_MODEL.equals(cmdResult.getType())) { ResultModel rd = (ResultModel) cmdResult.getResultData(); Map<String, String> data = rd.getDataSection(DataCommandResult.DATA_INFO_SECTION).getContent(); assertThat(data.get("Result")).isEqualTo(expectSuccess.toString()); if (expectSuccess && expectedRows != -1) { assertThat(data.get("Rows")).isEqualTo(expectedRows.toString()); if (expectedRows > 0 && cols != null) { Map<String, List<String>> table = rd.getTableSection(DataCommandResult.QUERY_SECTION).getContent(); assertThat(table.keySet()).contains(cols); } } } else { fail("Expected CompositeResult Returned Result Type " + cmdResult.getType()); } }
@Test public void testWithUnsetGfshEnvironmentVariables() { IgnoredException ex = addIgnoredException(QueryInvalidException.class.getSimpleName(), locator.getVM()); try { String query = "query --query=\"select ID , status , createTime , pk, floatMinValue from ${UNSET_REGION} where ID <= ${UNSET_PORTFOLIO_ID}" + " and status=${UNSET_STATUS}" + "\" --interactive=false"; CommandResult result = gfsh.executeCommand(query); assertThat(result.getStatus()).isEqualTo(Result.Status.ERROR); assertThat(result.getResultData().toString()) .contains(String.format("Syntax error in query: %s", "")); } finally { ex.remove(); } }
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); } }
int errorCode = ((ErrorResultData) result.getResultData()).getErrorCode(); assertThat(((ErrorResultData) result.getResultData()).getErrorCode()) .describedAs(other.getCommand()).isEqualTo(ResultBuilder.ERRORCODE_UNAUTHORIZED);
@Test public void testSearchIndexWithKeysOnly() throws Exception { final ResultCollector mockResultCollector = mock(ResultCollector.class, "ResultCollector"); final LuceneIndexCommands commands = spy(createIndexCommands(this.mockCache, null)); final List<Set<LuceneSearchResults>> queryResultsList = new ArrayList<>(); HashSet<LuceneSearchResults> queryResults = new HashSet<>(); queryResults.add(createQueryResults("A", "Result1", Float.valueOf("1.3"))); queryResults.add(createQueryResults("B", "Result1", Float.valueOf("1.2"))); queryResults.add(createQueryResults("C", "Result1", Float.valueOf("1.1"))); queryResultsList.add(queryResults); doReturn(mockResultCollector).when(commands).executeSearch(any(LuceneQueryInfo.class)); doReturn(queryResultsList).when(mockResultCollector).getResult(); CommandResult result = (CommandResult) commands.searchIndex("index", "region", "Result1", "field1", -1, true); TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("key")).isEqualTo(Arrays.asList("A", "B", "C")); }
@Test public void testSearchIndex() throws Exception { final ResultCollector mockResultCollector = mock(ResultCollector.class, "ResultCollector"); final LuceneIndexCommands commands = spy(createIndexCommands(this.mockCache, null)); final List<Set<LuceneSearchResults>> queryResultsList = new ArrayList<>(); HashSet<LuceneSearchResults> queryResults = new HashSet<>(); queryResults.add(createQueryResults("A", "Result1", Float.valueOf("1.3"))); queryResults.add(createQueryResults("B", "Result1", Float.valueOf("1.2"))); queryResults.add(createQueryResults("C", "Result1", Float.valueOf("1.1"))); queryResultsList.add(queryResults); doReturn(mockResultCollector).when(commands).executeSearch(any(LuceneQueryInfo.class)); doReturn(queryResultsList).when(mockResultCollector).getResult(); CommandResult result = (CommandResult) commands.searchIndex("index", "region", "Result1", "field1", -1, false); TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("key")).isEqualTo(Arrays.asList("A", "B", "C")); assertThat(data.retrieveAllValues("value")) .isEqualTo(Arrays.asList("Result1", "Result1", "Result1")); assertThat(data.retrieveAllValues("score")).isEqualTo(Arrays.asList("1.3", "1.2", "1.1")); }
@Test public void testCreateIndex() throws Exception { final ResultCollector mockResultCollector = mock(ResultCollector.class); final LuceneIndexCommands commands = spy(createIndexCommands(this.mockCache, null)); final List<CliFunctionResult> cliFunctionResults = new ArrayList<>(); cliFunctionResults .add(new CliFunctionResult("member1", CliFunctionResult.StatusState.OK, "Index Created")); cliFunctionResults.add(new CliFunctionResult("member2", CliFunctionResult.StatusState.ERROR, "Index creation failed")); cliFunctionResults .add(new CliFunctionResult("member3", CliFunctionResult.StatusState.OK, "Index Created")); doReturn(mockResultCollector).when(commands).executeFunctionOnAllMembers( any(LuceneCreateIndexFunction.class), any(LuceneIndexInfo.class)); doReturn(cliFunctionResults).when(mockResultCollector).getResult(); String indexName = "index"; String regionPath = "regionPath"; String[] searchableFields = {"field1", "field2", "field3"}; String[] fieldAnalyzers = {StandardAnalyzer.class.getCanonicalName(), KeywordAnalyzer.class.getCanonicalName(), StandardAnalyzer.class.getCanonicalName()}; String serializer = PrimitiveSerializer.class.getCanonicalName(); CommandResult result = (CommandResult) commands.createIndex(indexName, regionPath, searchableFields, fieldAnalyzers, serializer); assertThat(result.getStatus()).isEqualTo(Status.OK); TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("Member")) .isEqualTo(Arrays.asList("member1", "member2", "member3")); assertThat(data.retrieveAllValues("Status")) .isEqualTo(Arrays.asList("Successfully created lucene index", "Failed: Index creation failed", "Successfully created lucene index")); }
@Test public void testQueryEvictedDataNotDeserializable() { IgnoredException ex = addIgnoredException(Exception.class.getSimpleName(), locator.getVM()); server1.invoke(() -> setupReplicatedRegionWithEviction(DATA_REGION_WITH_EVICTION_NAME)); locator.waitUntilRegionIsReadyOnExactlyThisManyServers(DATA_REGION_WITH_EVICTION_NAME_PATH, 1); server1 .invoke(() -> prepareNotDeserializableDataForRegion(DATA_REGION_WITH_EVICTION_NAME_PATH)); String query = "query --query=\"select Value from " + DATA_REGION_WITH_EVICTION_NAME_PATH + "\" --interactive=false"; CommandResult commandResult = gfsh.executeCommand(query); validateSelectResult(commandResult, Boolean.FALSE, -1, new String[] {"Value"}); assertThat(commandResult.getResultData().toString()) .contains("An IOException was thrown while deserializing"); ex.remove(); }
TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("Index Name")) .isEqualTo(Collections.singletonList("memberFive"));
TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("key").size()).isEqualTo(queryResults.size());
TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("Index Name")) .isEqualTo(Arrays.asList("memberFive", "memberSix", "memberTen"));
TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("Index Name")) .isEqualTo(Arrays.asList("memberFive", "memberSix", "memberTen"));