Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fedora Commons Repository Service (Current)
Java XSLT HTML JavaScript CSS Shell Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


                    Fedora 3.4.2 - January 2011
This is a full source code release of Fedora.  Before using this
software, you must read and agree to the license, found under
resources/doc/license/license.html.  Documentation can be found for
online browsing or download at

Building Fedora
To build the executable installer, make sure you have maven2
installed and enter the following:

  mvn install -P fedora-installer

This generates fcrepo-installer-VERSION.jar, which can be found in

Running Unit Tests

  mvn install -Dintegration.test.skip=true

Running System Tests
The system tests consist of functional "black box" tests to be
executed against a running Fedora server.  These tests are divided
into top-level suites, where each suite is intended to be run with
the Fedora server configured in a specific way.

    When running this suite, the server should be configured
    with API-A authentication turned OFF, SSL required for API-M,
    XACML enabled, and the Resource Index disabled.

    When running this suite, the server should be configured
    with API-A authentication turned ON, with the
    Resource Index, REST api, and Messaging modules enabled.
    When running this suite, the server should be configured
    with the default options provided by 'quick install'.
    It can be used to verify the successful installation of 'quick install'.
These tests do not depend on external hosts and can therefore be
run without external network access.

Installation properties files are supplied in the resources/properties/scripts
folder (you will need to customise folder locations and DNS names to
suit your own installation).  These files can be supplied as arguments to the
installer jar file to simplify setting up test scenarios.

To execute a test suite, make sure the server has been started[*] and 
that $FEDORA_HOME and $CATALINA_HOME point to the correct folder.

Then enter:

  mvn integration-test -P config[A|B|Q]

By default, each test will run using the demo objects in
FOXML format.  To run the same tests using the demo objects
in METS, Atom, or Atom Zip format, add one of the following to 
the line above:

To run individual tests, supply the name of the test as a parameter, but
note that you will need to be running Maven from within the 
fcrepo-integrationtest folder, eg:
  mvn integration-test -P configA -Dtest=TestRESTAPI

There are some system tests that are not included in the system
test suites due to the time required to execute the test,
the following tests fall into that category:

    This test adds a 5GB datastream through API-M, then 
    retrieves it via API-A and API-A-Lite. When running 
    this test, the server should be configured to allow
    non-SSL access to API-M and API-A. This test has no
    dependencies on external hosts and can therefore be 
    run without external internet access.
  To run this test, make sure the server has been started[*] 
  Then, from within the integrationtest sub-module enter:
    mvn integration-test -P config[A|Q] -Dtest=org.fcrepo.test.integration.TestLargeDatastreams

Running system tests with an alternate host or webapp context
By default, integration tests assume Fedora is running at
http://localhost:8080/fedora/.  A different server port may be
chosen with no consequence.

However, if the fedora server uses an alternate app
server context (i.e. not /fedora), you must set the environment
variable WEBAPP_NAME to the alternate context name.  This variable
is used by command-line utilities.  System tests involving these 
utilities may fail if WEBAPP_NAME is not set properly.

Additionally, if your test instance of Fedora is not on the same 
host from which you are running the tests, you must manually 
edit or remove the deny-apim-if-not-localhost.xml policy before
Something went wrong with that request. Please try again.