/** * Method to validate mixed scenario use of {@link DataStore} in * multi-threaded concurrent environment. */ protected void doTestMultiThreaded() throws Exception { ds = createDataStore(); doTestMultiThreaded(ds, 4); ds.close(); }
/** * Method to validate mixed scenario use of {@link DataStore}. */ protected void doTestSingleThread() throws Exception { ds = createDataStore(); doTestMultiThreaded(ds, 1); ds.close(); }
/** * Test if record can be accessed via * {@link DataStore#getRecordFromReference(String)} */ protected void doReferenceTest() throws Exception { ds = createDataStore(); byte[] data = new byte[dataLength]; randomGen.nextBytes(data); String reference; DataRecord record = ds.addRecord(new ByteArrayInputStream(data)); reference = record.getReference(); assertReference(data, reference, ds); ds.close(); }
/** * Test {@link DataStore#addRecord(InputStream)} and assert length of added * record. */ protected void doAddRecordTest() throws Exception { ds = createDataStore(); byte[] data = new byte[dataLength]; randomGen.nextBytes(data); DataRecord rec = ds.addRecord(new ByteArrayInputStream(data)); assertEquals(data.length, rec.getLength()); assertRecord(data, rec); ds.close(); }
/** * Test {@link DataStore#getAllIdentifiers()} and asserts all identifiers * are returned. */ protected void doGetAllIdentifiersTest() throws Exception { ds = createDataStore(); List<DataIdentifier> list = new ArrayList<DataIdentifier>(); Random random = randomGen; byte[] data = new byte[dataLength]; random.nextBytes(data); DataRecord rec = ds.addRecord(new ByteArrayInputStream(data)); list.add(rec.getIdentifier()); data = new byte[dataLength]; random.nextBytes(data); rec = ds.addRecord(new ByteArrayInputStream(data)); list.add(rec.getIdentifier()); data = new byte[dataLength]; random.nextBytes(data); rec = ds.addRecord(new ByteArrayInputStream(data)); list.add(rec.getIdentifier()); Iterator<DataIdentifier> itr = ds.getAllIdentifiers(); while (itr.hasNext()) { assertTrue("record found on list", list.remove(itr.next())); } assertEquals(0, list.size()); ds.close(); }
/** * Test {@link DataStore#getRecord(DataIdentifier)} and assert length and * inputstream. */ protected void doGetRecordTest() throws Exception { ds = createDataStore(); byte[] data = new byte[dataLength]; randomGen.nextBytes(data); DataRecord rec = ds.addRecord(new ByteArrayInputStream(data)); rec = ds.getRecord(rec.getIdentifier()); assertEquals(data.length, rec.getLength()); assertRecord(data, rec); ds.close(); }
/** * Test {@link MultiDataStoreAware#deleteRecord(DataIdentifier)}. */ protected void doDeleteRecordTest() throws Exception { ds = createDataStore(); Random random = randomGen; byte[] data1 = new byte[dataLength]; random.nextBytes(data1); DataRecord rec1 = ds.addRecord(new ByteArrayInputStream(data1)); byte[] data2 = new byte[dataLength]; random.nextBytes(data2); DataRecord rec2 = ds.addRecord(new ByteArrayInputStream(data2)); byte[] data3 = new byte[dataLength]; random.nextBytes(data3); DataRecord rec3 = ds.addRecord(new ByteArrayInputStream(data3)); ((MultiDataStoreAware)ds).deleteRecord(rec2.getIdentifier()); assertNull("rec2 should be null", ds.getRecordIfStored(rec2.getIdentifier())); assertEquals(new ByteArrayInputStream(data1), ds.getRecord(rec1.getIdentifier()).getStream()); assertEquals(new ByteArrayInputStream(data3), ds.getRecord(rec3.getIdentifier()).getStream()); ds.close(); }
ds = createDataStore(); Random random = randomGen; byte[] data = new byte[dataLength];
ds = createDataStore(); Random random = randomGen; byte[] data = new byte[dataLength];