@Test public void testRefsNotAvailableAllRepos() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); Data data = loadData(true); // Delete one of the references file String expectedMissingRepoId = data.repoIds.get(data.repoIds.size() - 1); dataStore.deleteAllMetadataRecords( SharedStoreRecordType.REFERENCES.getNameFromId(expectedMissingRepoId)); // check if All the references from registered repositories are available Set<String> missingRepoIds = SharedDataStoreUtils .refsNotAvailableFromRepos(dataStore.getAllMetadataRecords(SharedStoreRecordType.REPOSITORY.getType()), dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType())); assertEquals(Sets.newHashSet(expectedMissingRepoId), missingRepoIds); }
private void addMultipleMetadata(boolean extended) throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); Data data = loadData(extended); // Retrieve all records List<DataRecord> recs = dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()); Set<String> returnedRefs = Sets.newHashSet(); for (DataRecord retRec : recs) { assertTrue(data.repoIds.contains(SharedStoreRecordType.REFERENCES.getIdFromName(retRec.getIdentifier().toString()))); returnedRefs.addAll(FileIOUtils.readStringsAsSet(retRec.getStream(), false)); } assertEquals(data.refs, returnedRefs); // Delete all references records dataStore.deleteAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()); for (int i = 0; i < data.repoIds.size(); i++) { assertFalse( dataStore.metadataRecordExists(getName(extended, data.repoIds.get(i), data.suffixes.get(i + 1)))); if (i == 0) { assertFalse( dataStore.metadataRecordExists(getName(extended, data.repoIds.get(i), data.suffixes.get(i)))); } } }
@Test public void testAddMetadata() throws Exception { File rootFolder = folder.newFolder(); dataStore = getBlobStore(rootFolder); String repoId = UUID.randomUUID().toString(); Set<String> refs = Sets.newHashSet("1_1", "1_2"); File f = folder.newFile(); FileIOUtils.writeStrings(refs.iterator(), f, false); dataStore.addMetadataRecord(new FileInputStream(f), SharedStoreRecordType.REFERENCES.getNameFromId(repoId)); assertTrue(dataStore.metadataRecordExists(SharedStoreRecordType.REFERENCES.getNameFromId(repoId))); DataRecord rec = dataStore.getMetadataRecord(SharedStoreRecordType.REFERENCES.getNameFromId(repoId)); Set<String> refsReturned = FileIOUtils.readStringsAsSet(rec.getStream(), false); assertEquals(refs, refsReturned); assertEquals( SharedStoreRecordType.REFERENCES.getIdFromName(rec.getIdentifier().toString()), repoId); dataStore.deleteAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()); }
dataStore.deleteAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()); Assert.assertTrue(dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()).isEmpty()); dataStore.deleteAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType()); Assert.assertTrue(dataStore.getAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType()).isEmpty());