Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 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/


  2. Run the API-Test suite with the following command

    Code Block
    java -jar target/testsuite-1.0-SNAPSHOT-shaded.jar -c config-local.yml


    1. 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



Results RC-3
PlatformTest Suite VersionTested byResults RC-1 (#pass,fail,skip) (#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

...

Success? RC-3
PlatformTested bySuccess? RC-21Notes
MacDanny Bernstein(tick)(tick)


Fedora Linux 27Randall Floyd(tick)








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

...

PlatformTested bySuccess? RC-1Notes
MacDanny Bernstein

Fedora Linux 27






Simple read-write

...

Success? RC-3
PlatformTested bySuccess? RC-21Notes
Mac(tick)(tick)


Fedora Linux 27(tick)







External Content

Create and verify all three modes of external content handling: proxy, redirect, copy

...

Success? RC-3
Handling (proxy,redirect,copy)PlatformTested bySuccess? RC-21Notes
proxy, redirect, copyMacDanny Bernstein(tick)

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

  1. Start 5.0.0 one-click
  2. Load sample datasets via /fcr:restore
  3. Run test scripts on 5.0.0
  4. Stop 5.0.0
  5. Start RC one-click
  6. Run test scripts on RC
  7. ReStart RC
  8. Run test scripts on RC
Notes
Tested bySuccess RC2Success? RC-3












Resources

[1] Testing scripts

[2] Fedora 4 Release Test Suite