Issues found during testing
- RC-1
External Projects
Hydra
Project | Tested by | Success? RC-1 | Notes |
---|---|---|---|
ActiveFedora | |||
CurationConcerns | |||
Plum | |||
Sufia |
Islandora
Project | Tested by | Success? RC-1 | Notes |
---|---|---|---|
CLAW |
Testing Plan
git clone https://github.com/fcrepo4/fcrepo4 cd fcrepo4 git checkout 4.7.2-RC
Sanity Builds
Project | Command | Platform | Tested by | Success? RC-1 | Notes |
---|---|---|---|---|---|
fcrepo4 | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo4 | mvn clean install | mac | |||
fcrepo4 | mvn clean install | windows | |||
fcrepo-module-auth-rbacl | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-module-auth-rbacl | mvn clean install | mac | |||
fcrepo-module-auth-rbacl | mvn clean install | windows | |||
fcrepo-module-auth-xacml | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-module-auth-xacml | mvn clean install | mac | |||
fcrepo-module-auth-xacml | mvn clean install | windows | |||
fcrepo-module-auth-webac | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-module-auth-webac | mvn clean install | mac | |||
fcrepo-module-auth-webac | mvn clean install | windows | |||
fcrepo-mint | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-mint | mvn clean install | mac | |||
fcrepo-mint | mvn clean install | windows | |||
fcrepo-audit | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-audit | mvn clean install | mac | |||
fcrepo-audit | mvn clean install | windows | |||
fcrepo-webapp-plus | mvn clean install | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-webapp-plus | mvn clean install | mac | |||
fcrepo-webapp-plus | mvn clean install | windows | |||
fcrepo-webapp-plus | mvn clean install -Prbacl | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-webapp-plus | mvn clean install -Prbacl | mac | |||
fcrepo-webapp-plus | mvn clean install -Prbacl | windows | |||
fcrepo-webapp-plus | mvn clean install -Pxacml | linux | Ubuntu 16.10 Ubuntu 16.04 | ||
fcrepo-webapp-plus | mvn clean install -Pxacml | mac | |||
fcrepo-webapp-plus | mvn clean install -Pxacml | windows |
One-Click Run
cd fcrepo-webapp; mvn clean install -Pone-click
Command | Platform | Tested by | Success? RC-1 | Notes |
---|---|---|---|---|
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Linux | Ubuntu 16.10 Ubuntu 16.04 | ||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Mac | |||
java -jar fcrepo-webapp-<version>-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.
- Create nested containers
- Create binary resources
- Run fixity on binary
- Update Properties: Perform SPARQL-Update on container
- Update Properties: Perform SPARQL-Update on binary
- Delete container
- Delete binary
- Use transactions
- Create versions
- View versions
- Rollback versions
Database Tests
With Tomcat7 deployment, run above manual tests with alternate backend databases (Configuring JDBC Object Store)
Database | Platform | Tested by | Success? RC-1 | Notes |
---|---|---|---|---|
MySQL | 5.6.34 MySQL Community Server (GPL) (rh-mysql56) on RHEL 7.3 | Jim Coble | ||
PostgreSQL | Postgres9.4 on Docker |
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 by | Platform | Container (Tomcat/Jetty) | Database Backend | From Fedora | To Fedora Version | Number of RDF Resources | Number of Binaries | Size of Backup (du -h .) | Success? | Notes |
---|---|---|---|---|---|---|---|---|---|---|
Linux | Tomcat (7.0.72) | Postgres (9.4) | 4.6.1 | 4.7.2-RC1 | 461,568 | 1,671 | 48G | |||
Mac | Jetty (Standalone) | 4.7.2-RC1 | 25,600 | 0 | ||||||
Mac | Jetty (Standalone) | 4.7.2-RC1 | 4.7.2-RC1 | 12,800 | 12,800 | 13GB | ||||
Mac | Jetty (Standalone) | 4.7.2-RC1 | 4.7.2-RC1 | 12,800 | 12,800 | 13GB | ||||
Docker | Tomcat7 | Postgres 9.4 | 4.7.2-RC1 | 4.7.2-RC1 | 25,600 | 0 | 3.8M | |||
Docker | Tomcat7 | Postgres 9.4 | 4.7.2-RC1 | 4.7.2-RC1 | 2560 | 2560 | 2.7G | |||
Linux | Tomcat (7.0.72) | Postgres 9.4 | 4.6.1 | 4.7.2-RC1 | 461,568 | 1,671 | 48G |
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 by | Platform | Container (Tomcat/Jetty) | Database Backend | Number of Threads | Number of RDF Resources | Number of Binaries | Success? RC-1 | Notes |
---|---|---|---|---|---|---|---|---|
Mac | Jetty (Standalone) | 2 | 12,800 | 12,799 | ||||
Mac | Jetty (Standalone) | 8 | 12,800 | 12,706 | ||||
Mac | Jetty (Standalone) | 8 | 25,600 | 0 | ||||
Mac | Jetty (Standalone) | 8 | 25,600 | 0 | ||||
Docker | Tomcat7 | Postgres9.4 | 8 | 25,600 | 0 | |||
Docker | Tomcat7 | Postgres9.4 | 4 | 2560 | 2560 |
NB: "Success" is measured by receiving 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 steps | Tested by | Success? RC-1 | Notes |
---|---|---|---|
FEDORA_AUTH=true | |||
FEDORA_AUTH=false |
| ||
FEDORA_AUTH=true | |||
FEDORA_AUTH=false |
Manual Tests
Same as above, plus:
- Verify audit events are in triplestore
- Verify resources are in triplestore
- Verify resources are in Solr
- Verify authorization works for the two auth-enabled configurations
- Verify reindexing to triplestore works
[1] Testing scripts