record = addRecord(in, options);
record = addRecord(in, options);
record = addRecord(in, options);
@Test public void testStreamFromGetAllRecords() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); int number = 10; Set<DataRecord> added = newHashSet(); for (int i = 0; i < number; i++) { added.add(dataStore.addRecord(randomStream(i, 16516))); } Set<DataRecord> retrieved = newHashSet((dataStore.getAllRecords())); assertRecords(added, retrieved); }
@Test public void testGetRecordForId() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); int number = 10; Set<DataRecord> added = newHashSet(); for (int i = 0; i < number; i++) { added.add(dataStore.addRecord(randomStream(i, 16516))); } Set<DataRecord> retrieved = newHashSet(); for (DataRecord rec : added) { retrieved.add(dataStore.getRecordForId(rec.getIdentifier())); } assertRecords(added, retrieved); }
@Test public void testGetAllRecords() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); int number = 10; Set<String> added = newHashSet(); for (int i = 0; i < number; i++) { String rec = dataStore.addRecord(randomStream(i, 16516)) .getIdentifier().toString(); added.add(rec); } Set<String> retrieved = newHashSet(Iterables.transform(newHashSet(dataStore.getAllRecords()), new Function<DataRecord, String>() { @Nullable @Override public String apply(@Nullable DataRecord input) { return input.getIdentifier().toString(); } })); assertEquals(added, retrieved); }
@Test public void testGetAllRecordsWithMeta() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); int number = 2; Set<String> added = newHashSet(); for (int i = 0; i < number; i++) { String rec = dataStore.addRecord(randomStream(i, 16516)) .getIdentifier().toString(); added.add(rec); } if (dataStore.getType() == SharedDataStore.Type.SHARED) { dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]), "1meta"); dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]), "2meta"); dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]), "ameta1"); dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]), "bmeta2"); } for (int i = 0; i < number; i++) { String rec = dataStore.addRecord(randomStream(100+i, 16516)) .getIdentifier().toString(); added.add(rec); } Set<String> retrieved = newHashSet(Iterables.transform(newHashSet(dataStore.getAllRecords()), new Function<DataRecord, String>() { @Nullable @Override public String apply(@Nullable DataRecord input) { return input.getIdentifier().toString(); } })); assertEquals(added, retrieved); }
DataRecord dr = ds.addRecord(new ByteArrayInputStream(data)); assertFalse(InMemoryDataRecord.isInstance(dr.getIdentifier().toString())); assertEquals(testDI, dr.getIdentifier());
@Test public void testInlineBinary() throws DataStoreException, IOException { int maxInlineSize = 300; DataStore mockedDS = mock(DataStore.class); when(mockedDS.getMinRecordLength()).thenReturn(maxInlineSize); DataStoreBlobStore ds = new DataStoreBlobStore(mockedDS); byte[] data = new byte[maxInlineSize]; new Random().nextBytes(data); DataRecord dr = ds.addRecord(new ByteArrayInputStream(data)); assertTrue(InMemoryDataRecord.isInstance(dr.getIdentifier().toString())); assertTrue(IOUtils.contentEquals(new ByteArrayInputStream(data), dr.getStream())); assertTrue(IOUtils.contentEquals(new ByteArrayInputStream(data), new BlobStoreInputStream(ds, dr.getIdentifier().toString(), 0))); assertEquals(dr, ds.getRecordIfStored(dr.getIdentifier())); assertEquals(dr, ds.getRecord(dr.getIdentifier())); //Check for BlobStore methods assertEquals(maxInlineSize, ds.getBlobLength(dr.getIdentifier().toString())); assertEquals(dr.getIdentifier().toString(), BlobId.of(ds.writeBlob(new ByteArrayInputStream(data))).blobId); }