public static Employee testPutEmployee(DataStore<String, Employee> dataStore) throws Exception { dataStore.createSchema(); Employee employee = DataStoreTestUtil.createEmployee(); return employee; }
public static void testAutoCreateSchema(DataStore<String,Employee> dataStore) throws Exception { //should not throw exception dataStore.put("foo", createEmployee()); }
/** * Creates an Employee object in-memory setting several fields to dirty. * Asserts that it can be serialized and * deserialzed without loosing data. We do this by asserting * what we get 'before' and 'after' (de)serialization processes. * @throws Exception */ @SuppressWarnings("unchecked") @Test public void testSerdeEmployee() throws Exception { MemStore<String, Employee> store = DataStoreFactory.getDataStore( MemStore.class, String.class, Employee.class, new Configuration()); Employee employee = DataStoreTestUtil.createEmployee(); TestIOUtils.testSerializeDeserialize(employee); }
/** * Tests and asserts that an in-memory representation of the * Employee object is Equal to a clone of the same object. * @throws IOException * @throws Exception */ @Test public void testClone() throws Exception { //more tests for clone are in TestPersistentDatumReader @SuppressWarnings("unchecked") MemStore<String, Employee> store = DataStoreFactory.getDataStore( MemStore.class, String.class, Employee.class, new Configuration()); Employee employee = DataStoreTestUtil.createEmployee(); assertEquals(employee, Employee.newBuilder(employee).build()); }
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 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 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 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()); }
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); } }
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); }