Testing Blocker Tickets

  1. RC-1
    1. Missing commit from master: resolved
  2. RC-2
    1. None

External Projects

  • Hydra

ProjectSuccess?
ActiveFedora(tick)
CurationConcerns(tick)
Plum(tick)

 

  • Islandora

Testing Plan

git clone https://github.com/fcrepo4/fcrepo4
cd fcrepo4
git checkout 4.6.1-RC

Sanity Builds

ProjectCommandPlatformTested bySuccess?Notes
fcrepo4mvn clean install

linux

Andrew Woods  
Andy Wagner(tick)Ubuntu 14.04 and 16.04
Michael Durbin(tick)Fedora 22
Michael Durbin(error) - known issue, okFaailed in fcrepo-http-api in a subsequent run: 

  FedoraLdpIT.testConcurrentPutsWithPairtrees:2501 Four children should have been created. (only three found)

fcrepo4mvn clean install 

mac 

Danny Bernstein

osx 10.10.5

quad-core

java  1.8.0_20-b26

(error) - known issue, ok

Failed tests in fcrepo-http-api:
FedoraLdpIT.testConcurrentPutsWithPairtrees:2501 Four children should have been created. (only three found)

Jared Whiklo(tick)2 consecutive runs
fcrepo4mvn clean installwindows   
fcrepo-module-auth-rbaclmvn clean installlinux

  Andrew Woods    

(tick) 
fcrepo-module-auth-rbaclmvn clean install macDanny Bernstein(tick) 
Jared Whiklo(tick)2 consecutive runs
fcrepo-module-auth-rbaclmvn clean installwindows   
fcrepo-module-auth-xacmlmvn clean install linux

  Andrew Woods    

(tick) 
fcrepo-module-auth-xacmlmvn clean install macDanny Bernstein(tick) 
Jared Whiklo(tick)2 consecutive runs
fcrepo-module-auth-xacmlmvn clean installwindows   
fcrepo-module-auth-webacmvn clean install linux

  Andrew Woods    

(tick) 
fcrepo-module-auth-webacmvn clean install macDanny Bernstein(tick) 
Jared Whiklo(tick)2 consecutive runs
fcrepo-module-auth-webacmvn clean installwindows   
fcrepo-mintmvn clean install linux  Andrew Woods  (tick) 
fcrepo-mintmvn clean install macDanny Bernstein(tick) 
fcrepo-mintmvn clean installwindows   
fcrepo-auditmvn clean install linux

  Andrew Woods    

(tick) 
fcrepo-auditmvn clean install macDanny Bernstein(tick) 
fcrepo-auditmvn clean installwindows   
fcrepo-webapp-plusmvn clean install linux

  Andrew Woods    

(tick) 
fcrepo-webapp-plusmvn clean install macDanny Bernstein(tick) 
fcrepo-webapp-plusmvn clean install windows   
fcrepo-webapp-plusmvn clean install -Prbacl mac  Danny Bernstein  (tick)

 

fcrepo-webapp-plusmvn clean install -Prbaclwindows   
fcrepo-webapp-plusmvn clean install -Prbacllinux  Andrew Woods  (tick) 
fcrepo-webapp-plusmvn clean install -PxacmlmacDanny Bernstein(tick)

 

fcrepo-webapp-plusmvn clean install -Pxacmlwindows   
fcrepo-webapp-plusmvn clean install -Pxacmllinux  Andrew Woods  (tick) 

Filesystem Federation

Test simple federation

Tested by
Platform
Success?
Notes
Andrew WoodsLinux(tick)

Deployed core war with file-connector repository.json

Jared WhikloMac(tick)As above

One-Click Run

cd fcrepo-webapp; mvn clean install -Pone-click
CommandPlatform Tested bySuccess? Notes
java -jar fcrepo-webapp-4.6.1-SNAPSHOT-jetty-console.jar LinuxAndrew Woods(tick) 
java -jar fcrepo-webapp-4.6.1-SNAPSHOT-jetty-console.jarMac

Danny Bernstein

Joshua Westgard

(tick)

(tick)

 

java -jar fcrepo-webapp-4.6.1-SNAPSHOT-jetty-console.jar

Windows   

Manual Tests

All of the below should take place in the HTML UI and non-vagrant tests should run against fcrepo-webapp-plus.

  1. Create nested containers
  2. Create binary resources
  3. Run fixity on binary
  4. Update Properties:  Perform SPARQL-Update on container
  5. Update Properties:  Perform SPARQL-Update on binary
  6. Delete container
  7. Delete binary
  8. Use transactions
  9. Create versions
  10. View versions
  11. Rollback versions

Database Tests

With Tomcat7 deployment, run above manual tests with alternate backend databases (Configuring JDBC Object Store)

DatabasePlatformTested bySuccess?Notes
MySQL5.5.38Danny Bernstein(tick)

 

PostgreSQL9.3.15Jared Whiklo(tick) 

fcr:backup/fcr:restore Functionality

These tests are designed to ensure the proper function of the 'fcr:backup/fcr:restore' features by testing them against various Fedora configurations.  The validity of the 'restore' can only be determined by crawling the repository and verifying the successful retrieval of the repository's content.

If the anticipated Fedora release is not backwards compatible with the previous version of Fedora, then the "From Fedora Version" should be the previous version.  Otherwise, it is sufficient to test the fcr:backup/fcr:restore functionality using the same version.

See: RESTful HTTP API - Backup and Restore

# Backup
curl -X POST localhost:8080/rest/fcr:backup
 
# Restore
curl -X POST -d "/path/to/backup/directory" localhost:8080/rest/fcr:restore

Resources

  • These python scripts - fcrepo-testing - can be used to load RDF content and binary content to a Fedora repository and verify the integrity of the loaded resources.  Output from the load process can be used to verify the integrity of a 'restored' repository.  See the README for more info.
  • This script can be used to walk your repository, failing if a non-success response is encountered.

 

Tested byPlatform

Container

(Tomcat/Jetty)

Database

Backend

From Fedora
Version

To Fedora
Version

Number of

RDF Resources

Number of

Binaries

Size of Backup (du -h .)Success?Notes                  
Andrew WoodsLinuxTomcat 8.0.37MySQL Ver 14.14 Distrib 5.7.164.6.14.6.123234035M(tick)Used LUBM_02 dataset
Andrew WoodsLinuxTomcat 8.0.37MySQL Ver 14.14 Distrib 5.7.164.6.14.7.023234035M(tick)Used LUBM_02 dataset
Kevin FordDockerTomcat 7.0.69Postgres (9.4)4.6.14.6.1512512        (tick) 
Kevin FordLinuxTomcat (7.0.72)Postgres (9.4)4.6.14.6.151200192K(tick) 
Kevin FordMacJetty (Standalone) 4.6.1255930 (tick)Backup/restore procedure successful, but encountered 400 errors during PUTs.  A second test resulted in a few (7) 500s during PUTs.  In both cases, however, the successful PUTs matched the GETs before and after backup/restore.
Kevin FordDockerTomcat 7.0.69Postgres (9.4)4.6.14.6.1256000 (tick) 

NB: "Success" is measured not by receiving a "204 No Content" message after the 'fcr:restore' command, but by performing a GET on every resource in the repository and receiving "200 OK" messages.


Multi-thread Tests

These tests are designed to ensure the integrity of the repository when loading content in a multi-threaded fashion.  Testing for repository corruption should entail confirming the successful load of resources, the successful fetching of resources, and the successful deletion of resources. Prior to 4.6.1, these tests would result in repository corruption.

Resources

  • These python scripts - fcrepo-testing - can be used to load RDF content and binary content to a Fedora repository and verify the integrity of the loaded resources.  See the README for more info.

 

Tested byPlatform

Container

(Tomcat/Jetty)

Database

Backend

Number of

Threads

Number of

RDF Resources

Number of

Binaries

Success?Notes                  
Kevin FordDockerTomcat 7.0.69Postgres (9.4)3768768       (tick) 
Kevin FordDockerTomcat 7.0.69Postgres (9.4)828210(tick) 
Kevin Ford Jetty (Standalone) 3768768(tick) 
Kevin Ford Jetty (Standalone) 828210(tick) 

NB: "Success" is measured by receiving all 201s when loading content, all 200s when performing a GET on each loaded resource, and all 204s when finally deleting the content.


Vagrant Tests

vagrant destroy
vagrant up
Test stepsTested bySuccess?Notes

FEDORA_AUTH=true
FEDORA_AUDIT=true

Andrew Woods(tick)Using: https://github.com/whikloj/fedora4-tests

FEDORA_AUTH=false
FEDORA_AUDIT=true

Andrew Woods(tick)

Using: https://github.com/whikloj/fedora4-tests

FEDORA_AUTH=true
FEDORA_AUDIT=false

Andrew Woods(tick)Using: https://github.com/whikloj/fedora4-tests

FEDORA_AUTH=false
FEDORA_AUDIT=false

Andrew Woods(tick)Using: https://github.com/whikloj/fedora4-tests (RC-2)

Manual Tests

Same as above, plus:

  1. Verify audit events are in triplestore
  2. Verify resources are in triplestore
  3. Verify resources are in Solr
  4. Verify authorization works for the two auth-enabled configurations
  5. Verify reindexing to triplestore works

[1] Testing scripts

[2] Fedora 4 Release Test Suite

  • No labels