A set of integration tests that runs against a given version of fcrepo-webapp, Solr, and Fuseki server. You can use this test suite to verify a fresh instance using fcrepo4-vagrant or Fedora 4 Docker.
It is a Java version of Fedora 4 Tests(shell scripts). This program will create, update and delete resources in the repository, so you may not want to use it on a production Fedora server.
Note that there is a time delay for the new Fedora object to be indexed by Solr or Fuseki. Thus you may need to customize the waiting time (Default: 1mins).
Edit the config.properties
file, example below
fedoraBaseURL=http://localhost:8080/fcrepo/rest
fusekiURL=http://127.0.0.1:8080/fuseki/test/query
solrURL=http://localhost:8080/solr/collection1
fedoraadminpassword=secret3
testpassword=password1
adminuserpassword=password2
mvn clean -Dtest=VagrantAuthTestSuite test
mvn clean -Dtest=VagrantTestSuite test
mvn clean -Dtest=VagrantTestSuite -Dwaitingtime=3000 test
mvn clean -Dtest=FusekiTest -Dwaitingtime=3000 test
mvn clean -Dtest=Fcrepo4TestSuite test
- Create a container called cover
- Patch it to a pcdm:Object
- Create a container inside cover called files
- Create a container called my-acls
- Create a container called acl inside my-acls
- Create a container called authorization inside acl
- Patch authorization with a WebAC Authorization.
- Patch cover to add acl as an access control.
- Verify Anonymous can't access cover
- Verify fedoraAdmin can access cover
- Verify testadmin can access cover
- Verify testuser can't access cover
- Create a binary resource
- Get a fixity result for that resource and compare that the SHA-1 hash matches the expected value
- Create a container
- Query that container in the Fuseki server
- Create a pcdm:Object
- Create a pcdm:Collection
- Create an indirect container "members" inside the pcdm:Collection
- Create a proxy object for the pcdm:Object inside the members indirectContainer
- Verify that the pcdm:Collection has the memberRelation property added pointing to the pcdm:Object
- Create a container
- Create a container inside the container from step 1
- Create a binary inside the container from step 2
- Delete the binary
- Delete the container from step 1
- Create a container
- Search that container in the Solr server
- Create a container
- Set the dc:title of the container with a Patch request
- Update the dc:title of the container with a Patch request
- Create a binary
- Set the dc:title of the binary with a Patch request
- Update the dc:title of the binary with a Patch request
- Create a transaction
- Get the status of the transaction
- Create a container in the transaction
- Verify the container is available in the transaction
- Verify the container is not available outside the transaction
- Commit the transaction
- Verify the container is now available outside the transaction
- Create a second transaction
- Create a container in the transaction
- Verify the container is available in the transaction
- Verify the container is not available outside the transaction
- Rollback the transaction
- Verify the container is still not available outside the transaction
- Create a container
- Check for versions of the container
- Create a version of the container (version1)
- Try to create another version with the same label
- Update the container with a PATCH request
- Create another version of the container (version2)
- Try to delete the current version
- Revert to the previous version (version1)
- Delete the newer version (version2)
Current maintainers: