public static<K,T extends Persistent> void assertEmptyResults(Query<K, T> query) throws Exception { assertNumResults(query, 0); }
public static void testGetEmployeeRecursive(DataStore<String, Employee> dataStore) throws Exception { Employee employee = DataStoreTestUtil.createEmployee(); Employee boss = DataStoreTestUtil.createBoss(); employee.setBoss(boss); String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$)); assertEqualEmployeeObjects(employee, after); }
public static void testGetPartitions(DataStore<String, WebPage> store , Query<String, WebPage> query) throws Exception { List<PartitionQuery<String, WebPage>> partitions = store.getPartitions(query); assertNotNull(partitions); assertTrue(partitions.size() > 0); for(PartitionQuery<String, WebPage> partition:partitions) { assertNotNull(partition); } assertPartitions(store, query, partitions); }
public static void testGetEmployee(DataStore<String, Employee> dataStore) throws Exception { dataStore.createSchema(); Employee employee = DataStoreTestUtil.createEmployee(); String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$)); assertEqualEmployeeObjects(employee, after); }
public static void testGetEmployeeWithFields(DataStore<String, Employee> dataStore) throws Exception { Employee employee = DataStoreTestUtil.createEmployee(); WebPage webpage = createWebPage(); employee.setWebpage(webpage); Employee boss = createBoss(); employee.setBoss(boss); String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); String[] fields = AvroUtils.getPersistentFieldNames(employee); for(Set<String> subset : StringUtils.powerset(fields)) { if(subset.isEmpty()) continue; Employee after = dataStore.get(ssn, subset.toArray(new String[subset.size()])); Employee expected = Employee.newBuilder().build(); for(String field:subset) { int index = expected.getSchema().getField(field).pos(); expected.put(index, employee.get(index)); } assertEqualEmployeeObjects(expected, after); } }
, "parsedContent", "content"); assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); assertNumResults(store.newQuery(), URLS.length); query.setEndKey(endKey); assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); assertNumResults(store.newQuery(), URLS.length); if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) > 0) { assertWebPage(page, i); } else {
public static void testGetEmployeeNested(DataStore<String, Employee> dataStore) throws Exception { Employee employee = DataStoreTestUtil.createEmployee(); WebPage webpage = new BeanFactoryImpl<>(String.class,WebPage.class).newPersistent() ; webpage.setUrl(new Utf8("url..")) ; webpage.setContent(ByteBuffer.wrap("test content".getBytes(Charset.defaultCharset()))) ; webpage.setParsedContent(new ArrayList<CharSequence>()); Metadata metadata = new BeanFactoryImpl<>(String.class,Metadata.class).newPersistent(); webpage.setMetadata(metadata) ; employee.setWebpage(webpage) ; String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$)); assertEqualEmployeeObjects(employee, after); assertEqualWebPageObjects(webpage, after.getWebpage()); }
assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); store.flush(); assertEmptyResults(store.newQuery()); query.setFields(AvroUtils.getSchemaFieldNames(WebPage.SCHEMA$)); assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); store.flush(); assertEmptyResults(store.newQuery()); query.setKeyRange("a", "z"); //all start with "http://" assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); store.flush(); assertEmptyResults(store.newQuery()); query.setEndKey(SORTED_URLS[NUM_KEYS]); assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); store.flush(); assertNumResults(store.newQuery(), URLS.length - (NUM_KEYS+1));
Employee beforeBoss = (Employee) employee.getBoss(); Employee afterBoss = (Employee) after.getBoss(); assertEqualEmployeeObjects(beforeBoss, afterBoss); WebPage beforeWebPage = employee.getWebpage(); WebPage afterWebPage = after.getWebpage(); assertEqualWebPageObjects(beforeWebPage, afterWebPage);
public static Employee testPutEmployee(DataStore<String, Employee> dataStore) throws Exception { dataStore.createSchema(); Employee employee = DataStoreTestUtil.createEmployee(); return employee; }
private static void testGetWebPage(DataStore<String, WebPage> store, String[] fields) throws Exception { createWebPageData(store); for(int i=0; i<URLS.length; i++) { WebPage page = store.get(URLS[i], fields); assertWebPage(page, i); } }
public static void testQueryWebPageEmptyResults(DataStore<String, WebPage> store) throws Exception { createWebPageData(store); //query empty results Query<String, WebPage> query = store.newQuery(); query.setStartKey("aa"); query.setEndKey("ab"); assertEmptyResults(query); //query empty results for one key query = store.newQuery(); query.setKey("aa"); assertEmptyResults(query); }
public static void testPutMixedMapTypes(DataStore<String, WebPage> store) throws GoraException { WebPage webpage = createWebPage(); webpage.getByteData().put(new Utf8("byteData"), ByteBuffer.wrap(ByteUtils.toBytes("hello map"))); webpage.getStringData().put(new Utf8("stringData"), "hello map"); store.createSchema(); store.put(webpage.getUrl().toString(), webpage); store.flush(); assertNotNull(store.get(webpage.getUrl().toString())); }
Metadata beforeMetadata = beforeWebPage.getMetadata(); Metadata afterMetadata = afterWebPage.getMetadata(); assertEqualMetadataObjects(beforeMetadata, afterMetadata);
newQuery.setFields("outlinks", "parsedContent", "content"); DataStoreTestUtil.assertNumResults(newQuery, URLS.length); store.deleteByQuery(query); store.deleteByQuery(query); DataStoreTestUtil.assertNumResults(store.newQuery(), URLS.length); query.setEndKey(endKey); DataStoreTestUtil.assertNumResults(store.newQuery(), URLS.length); store.deleteByQuery(query); store.deleteByQuery(query); DataStoreTestUtil.assertNumResults(store.newQuery(), URLS.length); if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) > 0) { DataStoreTestUtil.assertWebPage(page, i); } else {
public static void testGetEmployee3UnionField(DataStore<String, Employee> dataStore) throws Exception { Employee employee = DataStoreTestUtil.createEmployee(); employee.setBoss(new Utf8("Real boss")) ; String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$)); assertEqualEmployeeObjects(employee, after); assertEquals("Real boss", after.getBoss().toString()) ; }
public static void testAutoCreateSchema(DataStore<String,Employee> dataStore) throws Exception { //should not throw exception dataStore.put("foo", createEmployee()); }
public static void testQueryWebPages(DataStore<String, WebPage> store) throws Exception { Query<String, WebPage> query = store.newQuery(); Result<String, WebPage> result = query.execute(); int i=0; while(result.next()) { WebPage page = result.get(); DataStoreTestUtil.assertWebPage(page, URL_INDEXES.get(page.getUrl().toString())); i++; } assertEquals(i, URLS.length); }
public static void testTruncateSchema(DataStore<String, WebPage> dataStore) throws Exception { dataStore.createSchema(); WebPageDataCreator.createWebPageData(dataStore); dataStore.truncateSchema(); assertEmptyResults(dataStore.newQuery()); }
public static void testGetEmployeeDoubleRecursive(DataStore<String, Employee> dataStore) throws Exception { Employee employee = DataStoreTestUtil.createEmployee(); Employee boss = DataStoreTestUtil.createBoss(); Employee uberBoss = DataStoreTestUtil.createBoss(); uberBoss.setName(new Utf8("Überboss")) ; boss.setBoss(uberBoss) ; employee.setBoss(boss) ; String ssn = employee.getSsn().toString(); dataStore.put(ssn, employee); dataStore.flush(); Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$)); assertEqualEmployeeObjects(employee, after); }