use of gov.loc.repository.bagit.domain.Bag in project bagit-java by LibraryOfCongress.
the class BagitSuiteComplanceTest method testValidBags.
@Test
public void testValidBags() throws Exception {
Bag bag;
for (final Path bagDir : visitor.getValidTestCases()) {
bag = reader.read(bagDir);
verifier.isValid(bag, true);
}
}
use of gov.loc.repository.bagit.domain.Bag in project bagit-java by LibraryOfCongress.
the class BagitSuiteComplanceTest method testInvalidOperatingSystemSpecificBags.
@Test
public void testInvalidOperatingSystemSpecificBags() {
int errorCount = 0;
Bag bag;
List<Path> osSpecificInvalidPaths = visitor.getLinuxOnlyTestCases();
ConcurrentMap<Class<? extends Exception>, AtomicLong> map = new ConcurrentHashMap<>();
if (TestUtils.isExecutingOnWindows()) {
osSpecificInvalidPaths = visitor.getWindowsOnlyTestCases();
}
for (Path invalidBagDir : osSpecificInvalidPaths) {
try {
bag = reader.read(invalidBagDir);
verifier.isValid(bag, true);
} catch (InvalidBagitFileFormatException | IOException | UnparsableVersionException | MissingPayloadManifestException | MissingBagitFileException | MissingPayloadDirectoryException | FileNotInPayloadDirectoryException | InterruptedException | MaliciousPathException | CorruptChecksumException | VerificationException | UnsupportedAlgorithmException e) {
logger.info("Found invalid os specific bag with message: {}", e.getMessage());
map.putIfAbsent(e.getClass(), new AtomicLong(0));
map.get(e.getClass()).incrementAndGet();
errorCount++;
}
}
assertEquals("every test case should throw an error", osSpecificInvalidPaths.size(), errorCount);
logger.debug("Count of all errors found in os specific invalid cases: {}", map);
}
use of gov.loc.repository.bagit.domain.Bag in project bagit-java by LibraryOfCongress.
the class ReaderWriterVerifierIntegrationTest method testReaderWriterVersion95.
@Test
public void testReaderWriterVersion95() throws Exception {
BagReader reader = new BagReader();
Path rootDir = Paths.get(this.getClass().getClassLoader().getResource("bags/v0_95/bag").toURI());
Bag bag = reader.read(rootDir);
Path outputDir = Paths.get(folder.newFolder().toURI());
BagWriter.write(bag, outputDir);
testBagsEqual(rootDir, outputDir);
try (BagVerifier verifier = new BagVerifier()) {
verifier.isValid(reader.read(outputDir), true);
}
}
use of gov.loc.repository.bagit.domain.Bag in project bagit-java by LibraryOfCongress.
the class BagReaderTest method testReadBagWithEncodedNames.
@Test
public void testReadBagWithEncodedNames() throws Exception {
Path rootDir = Paths.get(getClass().getClassLoader().getResource("bags/v0_96/bag-with-encoded-names").toURI());
Bag bag = sut.read(rootDir);
assertNotNull(bag);
for (Manifest payloadManifest : bag.getPayLoadManifests()) {
for (Path file : payloadManifest.getFileToChecksumMap().keySet()) {
assertTrue(file + " should exist but it doesn't!", Files.exists(file));
}
}
}
use of gov.loc.repository.bagit.domain.Bag in project bagit-java by LibraryOfCongress.
the class BagReaderTest method testReadVersion0_93.
@Test
public void testReadVersion0_93() throws Exception {
Path rootDir = Paths.get(getClass().getClassLoader().getResource("bags/v0_93/bag").toURI());
Bag bag = sut.read(rootDir);
assertEquals(new Version(0, 93), bag.getVersion());
for (SimpleImmutableEntry<String, String> keyValue : bag.getMetadata().getAll()) {
if ("Payload-Oxum".equals(keyValue.getKey())) {
assertEquals("25.5", keyValue.getValue());
}
}
}
Aggregations