Purpose

Ensure that the import-export utility meets stakeholder requirements for phase 1:

  • Support transacting in RDF
  • Support allowing the option to include Binaries
  • Support references from exported resources to other exported resources
  • Support import into a non-existing Fedora container
  • Support export of resource and its "members" based on the ldp:contains predicate
  • The URIs of the round-tripped resources must be the same as the original URI

Target Audience

  • Fedora committers responsible for developing and maintaining the utility
  • Fedora implementers who want to export their resources from a Fedora repository and import them into another repository, including but not limited to another Fedora repository
  • Fedora developers who want to customize and extend the utility to meet their organization’s particular needs

Components

  • Test RDF data sets that express inter-resource relationships and contain Binaries or stable external references   
  • A small set of fabricated, repeatable Binaries   
  • Scripts to generate additional RDF data sets   
  • Checksum comparison tool   
  • Test HTTP GET requests and SPARQL queries in vagrant environment
  • Performance tests and analysis tools  

Testing

The ultimate goal of this document is to facilitate the evaluation of the Import and Export Tools utility with respect to:

  • Fixity of Binaries
  • Graph isomorphism of RDF resources
  • Performance

Resources for tests can be found in the following places:

Concrete Tests to Perform at the Conclusion of Phase 1

  1. Using a baseline pre-import/export list of URIs and binary checksums for the plant patents test data, automate the verification of URIs and checksums for all resources post-export/import.
  2. Spot-check the RDF graphs of several items, comparing the individual triples for discrepancies (facilitated by conversion of the graph to N-Triples and sorting of the triples). Document the findings.
  3. Spot-check the results of a small set of Solr queries performed pre-export and post-reimport, to verify the results. Document the findings.

Long-Term Test Strategy and Goals

Test Cases (which will hopefully get automated in a future phase)

  1. Simple Export

    1. Goal: verify that data is exported to disk
    2. Setup: A new, clean fedora4 repository has been created, either manually on a system or via the use of vagrant.  Test data has been loaded into that repository.  The set should contain both RDF Resources and Non-RDF Resources. 
    3. Steps:
      1. Run the import-export tool on this repository specifying the location in the file system in which the data should be stored. 
    4. Verification:  Spot check the data to verify that binaries and descriptions are represented in the exported data.   
  2. Simple Import

    1. Goal: verify that the import-export tool will successfully import data that was previously exported via the tool. 
    2. Setup: A fedora4 system exists and contains some test data, which includes both RDF Resources and Non-RDF Resources. 
    3. Steps:
      1. Import data from a previously exported dataset using the import-export tool.  
      2. Ensure that the dataset is loaded correctly and that both binaries and descriptions were imported correctly. 
    4. Verification: ?
  3. Complex Import

    1. Goal: verify that a fedora4 repository that contains complex relationships will produce the equivalent graph when exported and imported. 
    2. Setup: A fedora4 system that contains test data which has external references, cyclic references, and complex ldp:container relationships. 
      1. external reference:  the dataset contains Resources that have references to objects outside of the repository
      2. cyclic references:  <a> ldp:contains <b>  or <a> bf:relatedItem <b> and <b> bf:isReferencedBy <a>
      3. LDP containers:  direct (and indirect for phase 2?)
    3. Steps
      1. Export data from a fedora4 system that contains the above described complex relationships
      2. Import data into a fresh fedora4 system. 
      3. Ensure, via validation tool, that the new system's RDF graph is the same as the old system's. 
  4. Import / Export

    1. Export newly imported data and compare the filesystem trees to ensure that everything looks the same. 
  5. Binary Fixity test

  • No labels