...
Start Fedora with the following command
Code Block 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
Code Block java -jar target/testsuite-1.0-SNAPSHOT-shaded.jar -c config-local.yml
Where "config-local.yml" is something like the following
No Format 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: 56.0.0-RC-1 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: 56.0.0-RC-1
Platform | Test Suite Version | Tested by | Results RC-1 (#pass,fail,skip) | Results RC-3(#pass,fail,skip) | Notes |
---|---|---|---|---|---|
Fedora Linux 27Randall Floyd | |||||
Ubuntu | |||||
Mac 10.14Yinlin Chen | |||||
Mac OSX 10.13.6Danny Bernstein |
One-Click Run
cd fcrepo-webapp; mvn clean install -Pone-click
...
Platform | Tested by | Success? RC-2 | Success? RC-31 | Notes | ||
---|---|---|---|---|---|---|
Mac | Danny Bernstein | |||||
Fedora Linux 27Randall Floyd | ||||||
Simple read-only
Code Block |
---|
# 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-1 | Notes |
---|---|---|---|
Mac | Danny Bernstein | ||
Fedora Linux 27 | |||
Simple read-write
...
Platform | Tested by | Success? RC-2 | Success? RC-31 | Notes | ||
---|---|---|---|---|---|---|
Mac | ||||||
Fedora Linux 27 | ||||||
External Content
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-31 | Notes |
---|---|---|---|---|---|
proxy, redirect, copy | Mac | Danny Bernstein |
Database Tests
With Tomcat8 deployment, run above manual tests with alternate backend databases (Configuring JDBC Object Store)
...
...
...
...
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
Version
...
To Fedora
Version
...
Number of
RDF Resources
...
Number of
Binaries
...
Size of Backup (du -h .)
...
Notes
...
...
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 Tests
Code Block |
---|
vagrant destroy
vagrant up |
...
FEDORA_AUTH=true
Manual Tests
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
Code Block |
---|
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"]' |
Backwards Compatibility Tests
- Start 5.0.0 one-click
- Load sample datasets via /fcr:restore
- Run test scripts on 5.0.0
- Stop 5.0.0
- Start RC one-click
- Run test scripts on RC
- ReStart RC
- Run test scripts on RC
Tested by | Success RC2 | Success? RC-3 | Notes||||
---|---|---|---|---|---|---|
Resources
[1] Testing scripts