Issues found during testing

  • RC-1
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.  - not merged into master
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.  - not merged into master
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.  - will not resolve in 4.7.1
  • RC-2
    • ?

External Projects

Hydra

ProjectTested bySuccess? RC-1Success? RC-2Notes
ActiveFedora(error)(tick)I see two test failures when running the ActiveFedora tests with 4.7.1-RC-1 ( error log ). The root cause seems to be that a HEAD request with an invalid namespace returns 400 Bad Request with 4.7.1-RC-1, instead of 404 Not Found (as it does in 4.7.0).
CurationConcerns

(tick)

(tick) 
Plum(tick)(tick) 
Sufia(tick)(tick) 

 

Islandora

 ProjectTested bySuccess? RC-1Success? RC-2Notes
CLAW(tick)(tick) 

Testing Plan

git clone https://github.com/fcrepo4/fcrepo4
cd fcrepo4
git checkout 4.7.1-RC

Sanity Builds

ProjectCommandPlatformTested bySuccess? RC-1Success? RC-2Notes
fcrepo4mvn clean install

linux

(tick)

(tick)

(tick)

Ubuntu

CentOS 7

fcrepo4mvn clean install mac (tick)(tick)OS X Yosemite 10.10.3
fcrepo4mvn clean installwindowsAaron Birkland (tick) (tick)Test failure fix is in FCREPO-2370
fcrepo-module-auth-rbaclmvn clean installlinux(tick)(tick) 
fcrepo-module-auth-rbaclmvn clean install mac(tick)(tick)OS X Yosemite 10.10.3
fcrepo-module-auth-rbaclmvn clean installwindowsAaron Birkland(tick)(tick)Windows 10
fcrepo-module-auth-xacmlmvn clean install linux(tick)(tick) 
fcrepo-module-auth-xacmlmvn clean install mac(tick)(tick)OS X Yosemite 10.10.3
fcrepo-module-auth-xacmlmvn clean installwindowsAaron Birkland(tick)(tick)Windows 10
fcrepo-module-auth-webacmvn clean install linux(tick)(tick) 
fcrepo-module-auth-webacmvn clean install macBethany Seeger(tick)(tick)OS X Yosemite 10.10.3
fcrepo-module-auth-webacmvn clean installwindowsAaron Birkland(tick)(tick)Windows 10
fcrepo-mintmvn clean install linux(tick)(tick) 
fcrepo-mintmvn clean install macBethany Seeger(tick)(tick)OS X Yosemite 10.10.3
fcrepo-mintmvn clean installwindowsAaron Birkland(tick)(tick)Windows 10
fcrepo-auditmvn clean install linux(tick)(tick) 
fcrepo-auditmvn clean install macBethany Seeger(tick)(tick)OS X Yosemite 10.10.3
fcrepo-auditmvn clean installwindowsAaron Birkland(tick)(tick)Windows 10
fcrepo-webapp-plusmvn clean install linux(tick)(tick) 
fcrepo-webapp-plusmvn clean install macBethany Seeger(tick)(tick)OS X Yosemite 10.10.3
fcrepo-webapp-plusmvn clean install windowsAaron Birkland(tick)(tick)Windows 10
fcrepo-webapp-plusmvn clean install -Prbacl linux(tick)

-

(tick)

 

fcrepo-webapp-plusmvn clean install -Prbaclmac(tick)(tick)OS X Yosemite 10.10.3
fcrepo-webapp-plusmvn clean install -Prbaclwindows(tick)(tick)Windows 10
fcrepo-webapp-plusmvn clean install -Pxacmllinux(tick)

-

(tick)

 

fcrepo-webapp-plusmvn clean install -PxacmlmacBethany Seeger(tick)(tick)OS X Yosemite 10.10.3
fcrepo-webapp-plusmvn clean install -PxacmlwindowsAaron Birkland(tick)(tick)Windows 10

One-Click Run

cd fcrepo-webapp; mvn clean install -Pone-click
CommandPlatform Tested bySuccess?  RC-1Success? RC-2Notes
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar Linux(tick)

(tick)

(tick)

 
java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jarMac(tick)(tick) 

java -jar fcrepo-webapp-<version>-SNAPSHOT-jetty-console.jar

WindowsAaron Birkland(tick)(tick) 

Manual Tests

All of the below should take place in the HTML UI and non-vagrant tests should run against fcrepo-webapp-plus.

  1. Create nested containers
  2. Create binary resources
  3. Run fixity on binary
  4. Update Properties:  Perform SPARQL-Update on container
  5. Update Properties:  Perform SPARQL-Update on binary
  6. Delete container
  7. Delete binary
  8. Use transactions
  9. Create versions
  10. View versions
  11. Rollback versions

Database Tests

With Tomcat7 deployment, run above manual tests with alternate backend databases (Configuring JDBC Object Store)

DatabasePlatformTested bySuccess? RC-1Success? RC-2Notes
MySQL

5.6.34 MySQL Community Server (GPL) (rh-mysql56) on RHEL 7.3

Jim Coble (tick)Performed Manual Tests listed above. Also ran script that created 200,000 objects and then versioned them.
PostgreSQLPostgres9.4 on Docker           (tick) 

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 byPlatform

Container

(Tomcat/Jetty)

Database

Backend

From Fedora
Version

To Fedora
Version

Number of

RDF Resources

Number of

Binaries

Size of Backup (du -h .)Success?Notes                  
LinuxTomcat (7.0.72)Postgres (9.4)4.6.14.7.1-RC1461,5681,67148G(tick) 
MacJetty (Standalone) 4.7.1-RC125,6000 (tick) 
MacJetty (Standalone) 4.7.1-RC14.7.1-RC112,80012,80013GB(tick) 
MacJetty (Standalone) 4.7.1-RC14.7.1-RC212,80012,80013GB       (tick) 
DockerTomcat7Postgres 9.44.7.1-RC24.7.1-RC225,60003.8M       (tick) 
DockerTomcat7Postgres 9.44.7.1-RC24.7.1-RC2256025602.7G       (tick) 
LinuxTomcat (7.0.72)Postgres 9.44.6.14.7.1-RC2461,5681,67148G       (tick) 

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 byPlatform

Container

(Tomcat/Jetty)

Database

Backend

Number of

Threads

Number of

RDF Resources

Number of

Binaries

Success? RC-1Success? RC-2Notes                  
MacJetty (Standalone) 212,80012,799(tick) Tried to load 12,800 binary resources, but 1 binary resource resulted in a 4xx error during load.  This was a failed ingest so in the end the successful 201s matched the 200s during verification.
 MacJetty (Standalone) 812,80012,706(tick) Tried to load 12,800 binary resources, but 94 binary resources resulted in 500 errors during load.  These were failed ingests so in the end the successful 201s matched the 200s during verification.
 MacJetty (Standalone) 825,6000(tick)  
MacJetty (Standalone) 825,6000            (tick) 
DockerTomcat7Postgres9.4825,6000            (tick) 
DockerTomcat7Postgres9.4425602560            (tick) 

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 stepsTested bySuccess? RC-1Success? RC-2Notes

FEDORA_AUTH=true
FEDORA_AUDIT=true

(tick)
(tick)
-

-
(tick)
(tick)

 

FEDORA_AUTH=false
FEDORA_AUDIT=true

(tick)
-

-
(tick)

 

FEDORA_AUTH=true
FEDORA_AUDIT=false

(tick)
-

-
(tick)
 

FEDORA_AUTH=false
FEDORA_AUDIT=false

(tick)
-
-
(tick)
(tick)
 

Manual Tests

Same as above, plus:

  1. Verify audit events are in triplestore
  2. Verify resources are in triplestore
  3. Verify resources are in Solr
  4. Verify authorization works for the two auth-enabled configurations
  5. Verify reindexing to triplestore works

[1] Testing scripts

[2] Fedora 4 Release Test Suite

  • No labels

1 Comment

  1. The ActiveFedora test failures above should be fixed (it shouldn't be using undefined namespaces).  But I wanted to note this change in behavior to make sure we don't consider this a breaking change.