The basic recipe for testing the import/export utility and import/export verification tool follows:
- Start up an empty Fedora
- Load or /fcr:restore a dataset
- Export the all or some of the dataset with the import/export utility
- Verify the export with the verification tool
- Start up a new Fedora (same or different port and context)
- Import the exported resources with the import/export utility
- Verify the import with the verification tool
Variations
The above recipe can be varied in the following ways:
- For #2: In addition to custom, scripted ingest datasets, the "additional_datasets" are available for /fcr:restore
- For #3: All of the configuration options should be tested
- With and without binaries (-b)
- Using
default
andaptrust
bagit profiles - Using inbound references (-i)
- Using membership predicates (-p)
- Overwriting tombstones (-t)
- With authorization (-u)
- Exporting external content (-x)
- For #5: Start up the destination Fedora on a different port and with a different context, example
- For #6: Use both the command line options and the auto-generated config file
Tests
Tester | Fedora Version | Import/Export Version | Verify Version | Dataset (detail below if custom) | Export Options | Export Verify Options | Source Fedora port & context | Destination Fedora port & context | Import Options | Import Verify Options | Success? | Notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|
4.7.2 | 0.1.1-SNAPSHOT-d4780ca2 | master branch at839cb8b | Small portion of production-like data loaded locally via Hydra framework | -c (config file contains -m export, -b, -p ldp#contains, -r, -d, rdfLang text/turtle) | none except config file | 8984/rest | 8984/rest | -c (same config file as used for export except for -m import) | none except config file | mixed – no errors on export or import - export verify successful, import verify mismatches (expected due to server-managed triples) | Exported entire repo; wiped repo; imported entire repo | |
Longshou Situ | 4.7.2 | 1.1-SNAPSHOT-d4780ca2 | master branch at commit bfd6fa1 | plant patent (/fcr:restored from plants.tar.gz) | Command-line: -b, -g[default|aptrust], -i, -p, -x | -l, -g, -v | 8080/fcrepo/rest | 8686/f4/rest | Command-line: -b, -g[default|aptrust], -i, -p, -t | -l, -g, -v | mixed – import/export works as expected except 403 status found with inbound reference import and limitation on import/export verify | The plant patent dataset restored from plants.tar.gz has resource reference (<http://localhost:8080/fcrepo/rest/initialize>) in three of the records under /audit (for example, http://localhost:8080/fcrepo/rest/audit/c0/c8/af/98/c0c8af98-72a3-4ce0-96f0-aaf9ac2aa161). When exporting with binary excluded, those three records with non-existing resource reference won't be exported. |
4.7.2 | 0.1.1-SNAPSHOT-d4780ca2 | master branch at839cb8b | Small portion of production-like data loaded locally via Hydra mframework | -c (config file contains -m export, -b, -p ldp#contains,#isMemberOfCollection, -i -r, -d, rdfLang text/turtle) | none except config file | 8984/rest | 8984/rest | -c (same config file as used for export except for -m import) | Import fails with error reported in above issue | |||
Danny Bernstein | 4.8.0-SNAPSHOT (a07a1a46) | 0.1.1-SNAPSHOT-5b94e1 | master branch at 839cb | plant patent (/fcr:restored from plants.tar.gz) | -a -r | non except the file | 8686/f4/rest | 8687/f4/rest | -m import -a -r http://localhost:8687/f4/rest -M http://localhost:8686/f4/rest,http://localhost:8687/f4/rest | mixed | export was successful, import failed, export verify had a bunch of mismatch errors: (successes = 508, failures = 100) many errors on import due to messages like this: "Could not persist triple containing predicate http://fedora.info/definitions/v4/repository#created to node /fe/80/be/3e/fe80be3e-7256-4c00-8b76-db747d433bb6" import verify did not apply since import failed. | |
Jim Coble | 4.8.0-SNAPSHOT (a07a1a46) | 0.1.1-SNAPSHOT-0e42348f | master branch at 08dcdcd | Small portion of production-like data loaded locally via Hydra mframework | -c (config file contains -m export, -b, -p ldp#contains, -r, -d, rdfLang text/turtle -i false) | none except config file | 8984/rest | 8984/rest | -c (same config file as used for export except for -m import) | mixed – no errors on export or import - export verify successful, import verify starts to run and immediately exits with no results | Exported entire repo; wiped repo; imported entire repo Manually compared before and after versions of a resource ... no differences noted (i.e., fedora:created and fedora:lastModified timestamps were the same in both) | |