Please note that instances of <version> on this testing page should be replaced with <release number>-RC-<release candidate number>, where release number is the semantic version at the top of this page and release candidate number is the release candidate you are testing.
i.e. 6.3.1-RC-2, 6.4.0-RC-1, etc
Issues Discovered:
Testing Tickets
External Projects
Samvera (instructions)
Project | Tested by | Success? RC-1 | Success? RC-2 | Notes | |
---|---|---|---|---|---|
valkyrie |
Islandora (testing ticket)
Project | Tested by | Success? RC-1 | Success? RC-2 | Notes | |
---|---|---|---|---|---|
Islandora |
Testing Plan
git clone https://github.com/fcrepo/fcrepo cd fcrepo git checkout fcrepo-<version> # or pull pre-built resources from https://github.com/fcrepo/fcrepo/releases/tag/fcrepo-<version> mvn install # to build everything so Fedora is ready to run during API testing
API-Test Suite
Start Fedora with the following command
mvn jetty:run -Dfcrepo.external.content.allowed=fcrepo-http-api/src/test/resources/allowed_external_paths.txt -Dfcrepo.auth.webac.userAgent.baseUri=http://example.com/ -Dfcrepo.cache.webac.acl.timeout.minutes=0 -pl fcrepo-webapp/
Run the API-Test suite (which you can clone/build from https://github.com/fcrepo/Fedora-API-Test-Suite) with the following command
java -jar target/testsuite-1.0-SNAPSHOT-shaded.jar -c config-local.yml
Where "config-local.yml" is something like the following (for use with the mvn jetty:run command)
default: rooturl: http://localhost:8080/rest/ root-controller-user-webid: http://example.com/fedoraAdmin root-controller-user-name: fedoraAdmin root-controller-user-password: fedoraAdmin permissionless-user-webid: http://example.com/testuser permissionless-user-name: testuser permissionless-user-password: testpass broker-url: tcp://127.0.0.1:61616 topic-name: fedora queue-name: implementation-name: Fedora implementation-version: <version>
Platform | Test Suite Version | Tested by | Results RC-1 (#pass,fail,skip) | Results RC-2 (pass,fail,skip) | Notes |
---|---|---|---|---|---|
Linux | 5eca0de3 | Demian Katz | Total tests run: 241, Failures: 1, Skips: 28 | I used Ubuntu 20.04 LTS for my testing. | |
Linux | 5eca0de3 | Thomas Bernhart | Total tests run: 241, Failures: 1, Skips: 28 | Fedora 37, OpenJDK 11.0.12 (Maven: 3.8.2) | |
OSX | 5eca0de3 | Jared Whiklo | Total tests run: 241, Failures: 1, Skips: 28 | ||
OSX M1 or M2 | 5eca0de3 | Total tests run: 241, Failures: 1, Skips: 28 | On M1 with macOS 12.6.3 |
One-Click Run
cd fcrepo-webapp; mvn clean install -Pone-click
Command | Platform | Tested By | RC-1 | RC-2 | Notes |
---|---|---|---|---|---|
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Linux | ||||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Mac | ||||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Mac M1 | ||||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Windows |
Docker
docker run -p8080:8080 -v /path/to/fedora_home:/fedora_home -v /path/to/fcrepo.properties:/fcrepo.properties -e CATALINA_OPTS="-Dfcrepo.config.file=/fcrepo.properties" --name=fcrepo-test fcrepo/fcrepo:<version>
Platform | Tested By | RC-1 | RC-2 | Notes |
---|---|---|---|---|
Linux | Results of the API test suite: Total tests run: 241, Failures: 74, Skips: 27 | |||
Mac | ||||
Windows |
Performance and Scalability Tests
Ensure that the UI is performant with 2 million resources
Database | Tested By | RC-1 | RC-2 |
---|---|---|---|
postgresql | |||
mariadb | |||
mysql |
Manual Tests
All of the below should take place in the HTML UI.
- 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
- Create versions
- View versions
- View Stats Endpoint
Platform | Tested by | Success? RC-1 | Success? RC-2 | Notes |
---|---|---|---|---|
Mac | ||||
Mac M1 | ||||
Linux | ||||
Windows |
External Content
Create and verify all three modes of external content handling: proxy, redirect, copy
#Proxy curl -i -H"Link: <file:///local/file/storage/photo.png>; rel=\"http://fedora.info/definitions/fcrepo#ExternalContent\"; handling=\"proxy\"; type=\"image/png\"" -XPUT -ufedoraAdmin:fedoraAdmin http://localhost:8080/rest/test_proxy_local_file #verify that the binary is returned. curl -i -u fedoraAdmin:fedoraAdmin -XGET -ufedoraAdmin:fedoraAdmin http://localhost:8080/rest/test_proxy_local_file #remove the file one disk, repeat the previous command and verify that an error code is returned.
#Redirect curl -i -H"Link: <https://duraspace.org/wp-content/themes/duraspace/assets/images/fedora/fedora-logo-black.png>; rel=\"http://fedora.info/definitions/fcrepo#ExternalContent\"; handling=\"redirect\"; type=\"image/png\"" -XPUT -ufedoraAdmin:fedoraAdmin http://localhost:8080/rest/test_redirect_remote_file #Get the file and verify a 307 is returned curl -i -ufedoraAdmin:fedoraAdmin http://localhost:8080/rest/test_redirect_remote_file
Handling (proxy,redirect,copy) | Platform | Tested by | Success? RC-1 | Success? RC-2 | Notes |
---|---|---|---|---|---|
proxy, redirect | Mac | ||||
Resources
[1] Testing scripts