The basic recipe for testing the import/export utility and import/export verification tool follows:

  1. Start up an empty Fedora
  2. Load or /fcr:restore a dataset
  3. Export the all or some of the dataset with the import/export utility
  4. Verify the export with the verification tool
  5. Start up a new Fedora (same or different port and context)
  6. Import the exported resources with the import/export utility
  7. Verify the import with the verification tool

Variations

The above recipe can be varied in the following ways:

  1. For #2: In addition to custom, scripted ingest datasets, the "additional_datasets" are available for /fcr:restore
  2. For #3: All of the configuration options should be tested
    1. With and without binaries (-b)
    2. Using default and aptrust bagit profiles
    3. Using inbound references (-i)
    4. Using membership predicates (-p)
    5. Overwriting tombstones (-t)
    6. With authorization (-u)
    7. Exporting external content (-x)
  3. For #5: Start up the destination Fedora on a different port and with a different context, example
  4. For #6: Use both the command line options and the auto-generated config file

Tests

TesterFedora
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 at
839cb8b
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 file8984/rest8984/rest-c (same config file as used for export except for -m import)none except config filemixed – 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 Situ4.7.21.1-SNAPSHOT-d4780ca2master 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/rest8686/f4/rest

Command-line:

-b, -g[default|aptrust], -i, -p, -t

-l, -g, -vmixed – 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.20.1.1-SNAPSHOT-d4780ca2master branch at
839cb8b
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 file8984/rest8984/rest-c (same config file as used for export except for -m import)
(error)

Import fails with error reported in above issue

4.8.0-SNAPSHOT (a07a1a46)

0.1.1-SNAPSHOT-5b94e1

839cbplant patent (/fcr:restored from plants.tar.gz)-a -r non except the file8686/f4/rest8687/f4/rest -m import -a -r http://localhost:8687/f4/rest -M http://localhost:8686/f4/rest,http://localhost:8687/f4/rest 

mixed (error)


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.

4.8.0-SNAPSHOT (a07a1a46)

0.1.1-SNAPSHOT

7f0d7

3cb123repo with one container and one photo within it.-a -b -r http://localhost:8686/f4/rest -d
8686/f4/rest8687/f4/rest-a -b -r http://localhost:8687/f4/rest-d -M http://localhost:8686/f4/rest,http://localhost:8687/f4/rest
mixed (error)

export succeed.

verification of export succeeded.

import failed

(import verification N/A)

Jim Coble4.8.0-SNAPSHOT (a07a1a46)

0.1.1-SNAPSHOT-0e42348f

master branch at 08dcdcdSmall 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 file8984/rest8984/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)

4.8.0-SNAPSHOT (a07a1a46)0.1.1-SNAPSHOT-0e42348f
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)
8984/rest8984/rest-c (config file contains -m import, -b, -r rest, -d, rdfLang text/turtle)
(error)

(did not attempt to use verify tool due to known issues with tool for this scenario)

4.8.0-SNAPSHOT (a07a1a46)0.1.1-SNAPSHOT-0e42348fmaster branch at 08dcdcdSmall 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 file8984/rest8984/rest-c (config file contains -m import, -b, -p ldp#contains, -r resource_url, -d, rdfLang text/turtle)n/a

mixed – (tick) except that imported resource (a container) had its lastModified date set to import date (because child was added?)

exported entire repo; deleted one resource (a container) and tombstone; imported that one resource