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.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

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)

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

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)

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

(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
  • No labels