@Test public void testListQuery() { final Set<Long> ids = Sets.newHashSet(); ids.add(saveQuery().getId()); ids.add(saveQuery().getId()); ids.add(saveQuery().getId()); ids.add(saveQuery().getId()); final ListResponse list = list(0, 4); final List<SavedQuery> queries = list.getResoures(); assertEquals(ids.size(), queries.size()); }
@Test public void testDeleteQuery() { long id = saveQuery().getId(); deleteQuery(id); try { get(id); fail("Resource not deleted"); } catch (Throwable e) { assertTrue(true); } }
@Test public void testDeleteQueryNonExistentResource() { long id = saveQuery().getId(); deleteQuery(id); try { deleteQuery(id); fail("Succeeded in deleting a non existent resource"); } catch (Throwable e) { assertTrue(true); } }
@Test public void getSavedQueryUsingDiffSessionId() throws Exception { ResourceModifiedResponse rmr = getSampleSavedQuery("query-1"); SavedQuery savedQuery = savedQueryResourceHelper.getSavedQuery(rmr.getId()); String newSession = sHelper.openSession("user1", "pwd1", lens.getCurrentDB()); SavedQuery savedQueryOutput = savedQueryResourceHelper.getSavedQuery(rmr.getId(), newSession); Assert.assertEquals(savedQuery, savedQueryOutput); }
@Test public void testGetQuery() { final long id = saveQuery().getId(); SavedQuery savedQuery = get(id); assertEquals(savedQuery.getId(), id); }
@Test public void deleteSavedQuery() throws Exception { ResourceModifiedResponse savedQuery = getSampleSavedQuery("query-delete-test"); Long queryId = savedQuery.getId(); //deleting saved query savedQueryResourceHelper.deleteSavedQuery(queryId, sessionHandleString); //checking if the above deleted saved query is being deleted MapBuilder map = new MapBuilder("sessionid", sessionHandleString, "id", Long.toString(queryId)); Response res = lens.exec("get", SavedQueryResourceHelper.SAVED_QUERY_BASE_URL + "/" + queryId, servLens, null, map); AssertUtil.assertNotFound(res); }
@Test public void updateSavedQuery() throws Exception { Long queryId = getSampleSavedQuery("query-update-test").getId(); //Modify query name SavedQuery savedQuery = savedQueryResourceHelper.getSavedQuery(queryId); savedQuery.setName("query-rename"); savedQueryResourceHelper.updateSavedQuery(queryId, sessionHandleString, savedQuery); SavedQuery savedQueryModified = savedQueryResourceHelper.getSavedQuery(queryId); Assert.assertTrue(savedQueryModified.getName().equals("query-rename")); }
@Test(enabled = false) public void createNRunSavedQueryMultipleCollectionType() throws Exception { List<Parameter> paramList = new ArrayList<>(); String savedQuery = "cube select id,name from sample_dim where name in :values"; paramList.add(savedQueryResourceHelper.getParameter("values", ParameterDataType.STRING, "first,second", ParameterCollectionType.MULTIPLE)); ResourceModifiedResponse rmr = savedQueryResourceHelper.createSavedQuery(savedQuery, "query1", paramList); HashMap<String, String> paramMap = LensUtil.getHashMap("values", "first,second,third"); QueryHandle handle = savedQueryResourceHelper.runSavedQuery(rmr.getId(), paramMap).getData(); qHelper.waitForCompletion(handle); PersistentQueryResult result = (PersistentQueryResult) qHelper.getResultSet(handle); Assert.assertEquals(result.getNumRows().intValue(), 5); }
@Test(enabled = false) public void createNRunSavedQueryNumberParam() throws Exception { List<Parameter> paramList = new ArrayList<>(); String query = "cube select id, name from sample_db_dim where id = :value"; paramList.add(savedQueryResourceHelper.getParameter("value", ParameterDataType.NUMBER, "1", ParameterCollectionType.SINGLE)); ResourceModifiedResponse rmr = savedQueryResourceHelper.createSavedQuery(query, "query1", paramList); //running above created saved query HashMap<String, String> paramMap = LensUtil.getHashMap("value", "2"); QueryHandle handle = savedQueryResourceHelper.runSavedQuery(rmr.getId(), paramMap).getData(); qHelper.waitForCompletion(handle); PersistentQueryResult result = (PersistentQueryResult) qHelper.getResultSet(handle); Assert.assertEquals(result.getNumRows().intValue(), 7); }
@Test public void createNRunSavedQueryMultipleParams() throws Exception { List<Parameter> paramList = new ArrayList<>(); String savedQuery = "select product_id from sales where time_range_in(delivery_time, :start_time, :end_time)"; paramList.add(savedQueryResourceHelper.getParameter("start_time", ParameterDataType.STRING, "2015-01-12", ParameterCollectionType.SINGLE)); paramList.add(savedQueryResourceHelper.getParameter("end_time", ParameterDataType.STRING, "2015-01-13", ParameterCollectionType.SINGLE)); ResourceModifiedResponse rmr = savedQueryResourceHelper.createSavedQuery(savedQuery, "query1", paramList); HashMap<String, String> paramMap = LensUtil.getHashMap("start_time", "2015-04-12", "end_time", "2015-04-13"); QueryHandle handle = savedQueryResourceHelper.runSavedQuery(rmr.getId(), paramMap).getData(); qHelper.waitForCompletion(handle); PersistentQueryResult result = (PersistentQueryResult) qHelper.getResultSet(handle); Assert.assertEquals(result.getNumRows().intValue(), 2); }
@Test public void createNRunSavedQuery() throws Exception { String session = sHelper.openSession("user1", "pwd1", lens.getCurrentDB()); sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, "false"); sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, "false"); //creating saved query List<Parameter> paramList = new ArrayList<>(); String query = "select id, name from sample_dim where name != :param"; paramList.add(savedQueryResourceHelper.getParameter("param", ParameterDataType.STRING, "first", ParameterCollectionType.SINGLE)); ResourceModifiedResponse rmr = savedQueryResourceHelper.createSavedQuery(query, "query-1", paramList, session); Assert.assertNotNull(rmr.getId()); //running above created saved query HashMap<String, String> paramMap = LensUtil.getHashMap("param", "second"); QueryHandle handle = savedQueryResourceHelper.runSavedQuery(rmr.getId(), session, paramMap).getData(); qHelper.waitForCompletion(handle); PersistentQueryResult result = (PersistentQueryResult) qHelper.getResultSet(handle); Assert.assertEquals(result.getNumRows().intValue(), 7); //TODO : Do result validation. Check if it doesn't contain row having "second" field //running above created saved query with different parameter paramMap = LensUtil.getHashMap("param", "third"); handle = savedQueryResourceHelper.runSavedQuery(rmr.getId(), session, paramMap).getData(); qHelper.waitForCompletion(handle); result = (PersistentQueryResult) qHelper.getResultSet(handle); Assert.assertEquals(result.getNumRows().intValue(), 7); }