Project | Tested by | Success? RC-1 | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|---|
valkyrie | Using branch:
|
Project | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|
CLAW | Discovered FCREPO-2961 with regards to authentication |
Project | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|
fcrepo-api-x-integration | ||||
fcrepo-api-x-demo (Docker) |
git clone https://github.com/fcrepo4/fcrepo4 cd fcrepo4 git checkout fcrepo-5.0.0-RC-2 # or pull pre-built resources from https://github.com/fcrepo4/fcrepo4/releases/tag/fcrepo-5.0.0-RC-2 |
https://github.com/awoods/fcrepo-build-scripts
Project | Command | Platform | Tested By | RC 1 | RC 2 | RC 3 | Notes |
---|---|---|---|---|---|---|---|
fcrepo4 | mvn clean install | linux | Build successfully in Ubuntu Server 16.04 LTS (HVM) Build successful on Fedora Linux 27; openjdk version "1.8.0_191"; Maven 3.5.0 (Red Hat 3.5.0-6) | ||||
fcrepo4 | mvn clean install | mac | Build successfully | ||||
fcrepo4 | mvn clean install | windows | Does not compile on Windows 10 https://gist.github.com/robyj/ac6de53305cf8e903cf63268ad736a9b |
Note (18 January 2018): The victims database warnings are due to the victi.ms site currently returning a 503 error. Jared Whiklo has reported this issue upstream: https://github.com/victims/victims-web/issues/155
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/ -pl fcrepo-webapp/ |
Run the 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
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: 5.0.0-RC tomcat: rooturl: http://localhost:8080/fcrepo/rest/ root-controller-user-webid: http://example.com/fedoraAdmin root-controller-user-name: fedoraAdmin root-controller-user-password: secret3 permissionless-user-webid: http://example.com/testuser permissionless-user-name: testuser permissionless-user-password: password1 broker-url: tcp://127.0.0.1:61616 topic-name: fedora queue-name: implementation-name: Fedora implementation-version: 5.0.0-RC |
Platform | Test Suite Version | Tested by | Results RC-2 (#pass,fail,skip) | Results RC-3 (#pass,fail,skip) | Notes |
---|---|---|---|---|---|
Fedora Linux 27 | a40ce88 | Total tests run: 238, Failures: 12, Skips: 23 | |||
Ubuntu | Total tests run: 220, Failures: 13, Skips: 16 | ||||
Mac 10.14 | Total tests run: 238, Failures: 44, Skips: 16 | ||||
Mac OSX 10.13.6 | a40ce88 | Danny Bernstein | Total tests run: 238, Failures: 12, Skips: 23 |
cd fcrepo-webapp; mvn clean install -Pone-click
Command | Platform | Tested By | RC-1 | RC-2 | RC-3 | Notes |
---|---|---|---|---|---|---|
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Linux | Ran one-click and successfully performed manual tests | ||||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Fedora Linux 27 | Randall Floyd | Built and ran one-click, successfully performed manual tests | |||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Mac | Build and start One-Click run successfully | ||||
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar | Windows |
All of the below should take place in the HTML UI and non-vagrant tests should run against fcrepo-webapp. |
Use the following recipes to create WebAC-protected resources
# root container should be read-only by default curl -i -u testuser:testpass -X PUT http://localhost:8080/rest/test-default # expect 403 # create a resource with admin curl -i -u fedoraAdmin:fedoraAdmin -X PUT http://localhost:8080/rest/test-default # expect 201 # resources inheriting the default acl should be read-only curl -i -u testuser:testpass -X GET http://localhost:8080/rest/test-default # expect 200 curl -i -u testuser:testpass -X PUT http://localhost:8080/rest/test-default/child # expect 403 |
Platform | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|
Mac | Danny Bernstein | |||
Fedora Linux 27 | ||||
# create a resources with admin curl -i -u fedoraAdmin:fedoraAdmin -X PUT http://localhost:8080/rest/test-read-only curl -i -u fedoraAdmin:fedoraAdmin -X PUT http://localhost:8080/rest/test-read-only/child # put read-only acl on parent echo " @prefix acl: <http://www.w3.org/ns/auth/acl#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . <#restricted> a acl:Authorization ; acl:agent 'testuser' ; acl:mode acl:Read; acl:default <http://localhost:8080/rest/test-read-only> ; acl:accessTo <http://localhost:8080/rest/test-read-only> . " | curl -i -u fedoraAdmin:fedoraAdmin -d @- -X PUT -H "Content-Type: text/turtle" http://localhost:8080/rest/test-read-only/fcr:acl # Verify expected access privileges on target and child - ie read but not write curl -i -u testuser:testpass -X GET http://localhost:8080/rest/test-read-only/child # expect 200 curl -i -u testuser:testpass -X POST http://localhost:8080/rest/test-read-only/child # expect 403 |
Platform | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|
Mac | Danny Bernstein | |||
Fedora Linux 27 | ||||
# create a resources with admin curl -i -u fedoraAdmin:fedoraAdmin -X PUT http://localhost:8080/rest/test-read-write curl -i -u fedoraAdmin:fedoraAdmin -X PUT http://localhost:8080/rest/test-read-write/child # put read-only acl on parent echo " @prefix acl: <http://www.w3.org/ns/auth/acl#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . <#restricted> a acl:Authorization ; acl:agent 'testuser' ; acl:mode acl:Read, acl:Write; acl:default <http://localhost:8080/rest/test-read-write> ; acl:accessTo <http://localhost:8080/rest/test-read-write> . " | curl -i -u fedoraAdmin:fedoraAdmin -d @- -X PUT -H "Content-Type: text/turtle" http://localhost:8080/rest/test-read-write/fcr:acl # Verify expected access privileges on target and child - ie read and write curl -i -u testuser:testpass -X GET http://localhost:8080/rest/test-read-write/child # expect 200 curl -i -u testuser:testpass -X POST http://localhost:8080/rest/test-read-write/child # expect 201 |
Platform | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|
Mac | ||||
Fedora Linux 27 | ||||
Create and verify all three modes of external content handling: proxy, redirect, copy
Handling (proxy,redirect,copy) | Platform | Tested by | Success? RC-2 | Success? RC-3 | Notes |
---|---|---|---|---|---|
With Tomcat8 deployment, run above manual tests with alternate backend databases (Configuring JDBC Object Store)
Database | Platform | Tested by | Success RC1? | Success RC2 | Success? RC-3 | Notes |
---|---|---|---|---|---|---|
MySQL | macOS | High Sierra 10.13.6, MySQL 8.0.13 | ||||
PostgreSQL | macOS | High Sierra 10.13.6, PostgreSQL 9.6.2 | ||||
PostgreSQL | linux | Ubuntu 16.04, PostgreSQL 9.4.20 | ||||
MySQL5.6 | linux | Yinlin Chen | Ubuntu 16.04, Mysql 5.7.24 | |||
PostgreSQL | windows | Jon Roby | version 11.0-2 | |||
MySQL5.6 | windows | Jon Roby |
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
Tested by | Platform | Container (Tomcat/Jetty) | Database Backend | From Fedora | To Fedora | Number of RDF Resources | Number of Binaries | Size of Backup (du -h .) | Success RC2? | Success? RC-3 | Notes |
---|---|---|---|---|---|---|---|---|---|---|---|
OSX 10.13.6 | Jetty | File-simple | 5.0.0-RC-2 | 5.0.0-RC-2 | 2821 | 0 | 500K | ||||
Danny Bernstein | OSX 10.13.6 | Jetty | File-simple | 5.0.0-RC-2 | 5.0.0-RC-2 | 2564 | 2564 | 2.6 GB | |||
Linux | Tomcat | Postgres | |||||||||
Linux | Tomcat | Postgres | |||||||||
Linux | Tomcat | Postgres | |||||||||
Linux | Tomcat | Mysql | |||||||||
Linux | Tomcat | Mysql 5.6 | |||||||||
Linux | Tomcat | Postgres |
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.
vagrant destroy vagrant up |
Test steps | Tested By | Success RC2? | Success? RC-3 | Notes |
---|---|---|---|---|
FEDORA_AUTH=true |
Same as above, plus:
(for reference: https://docs.google.com/presentation/d/1aU-qRVmU0lB18ywepk2AGYEmRe-HfIwhUaofHgathGQ/edit#slide=id.g11caa1fd99_0_0)
Verify reindexing to triplestore works
vagrant ssh sudo service tomcat7 stop sudo rm -rf /etc/fuseki/databases/test_data/* sudo service tomcat7 start curl -XPOST localhost:9080/reindexing/ -H"Content-Type: application/json" -d '["activemq:queue:triplestore.reindex"]' |
Tested by | Success RC2 | Success? RC-3 | Notes |
---|---|---|---|
[1] Testing scripts
[2] Fedora 4 Release Test Suite