[go: up one dir, main page]

Menu

Tree [r8100] / fedora / trunk /
 History

HTTPS access


File Date Author Commit
 client 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 common 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 democontent 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 generate 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 integrationtest 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 lib 2009-04-30 cwilper [r8028] akubra 0.1 is released; using official jars
 license 2009-04-29 cwilper [r8015] updated to latest akubra libs and changed HashP...
 localservices 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 resources 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 server 2009-06-26 bbranan [r8094] Resolves FCREPO-510 (Ingest modifies repository...
 .cvsignore 2006-11-30 eddie [r5260] added another eclipse-generated directory
 build.xml 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 pom.xml 2009-06-23 aawoods [r8092] This update merges down to trunk from branch fc...
 readme.txt 2009-05-08 birkland [r8059] Change readme text to reflect need for WEBAPP_N...

Read Me

-------------------------------------------------------------------
             Fedora Release 3.2 - Spring 2009
-------------------------------------------------------------------
This is a full source code release of Fedora.  Before using this
software, you must read and agree to the license, found under
license/license.html.  Documentation can be found for online
browsing or download at http://fedora-commons.org/go/fcr30

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

  ant installer

Running Offline Tests
=====================
The offline tests consist of unit and integration tests,
and require no prior setup.  To execute the entire set of
offline tests, enter the following:

  ant junit

To execute only the unit tests:

  ant junit -Dtest=fedora.test.AllUnitTests

To execute only the integration tests:

  ant junit -Dtest=fedora.test.AllIntegrationTests

You can also execute all unit or integration tests on
a per-package level by running the "AllUnit/IntegrationTests"
suite residing in the package of interest.  For example, 
to run all unit tests in the fedora.server.journal package:

  ant junit -Dtest=fedora.server.journal.AllUnitTests

There are some offline tests that are not included in the 
offline test suites due to the time required to execute 
the test. These tests can be run by entering the following:

  ant junit -Dtest=fedora.client.messaging.TestMessagingClient

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.

  [fedora.test.AllSystemTestsConfigA]
    When running this suite, the server should be configured
    with API-A authentication turned OFF.

  [fedora.test.AllSystemTestsConfigB]
    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.
    
  [fedora.test.AllSystemTestsConfigQ]
    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.

To execute a test suite, make sure the server has been started[*] and 
that $FEDORA_HOME points to the correct directory. Then enter:

  ant junit -Dtest=fedora.test.AllSystemTestsConfigB

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:

  -Ddemo.format=mets
  -Ddemo.format=atom
  -Ddemo.format=atom-zip

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:

  [fedora.test.integration.TestLargeDatastreams]
    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 enter:
    
    ant junit -Dtest=fedora.test.integration.TestLargeDatastreams 

Running Performance Tests
=========================
The performance tests provide information about the time required to
perform a variety of repository functions. This information can be used 
to determine the performance impact of various configuration choices.
To run these tests, make sure the server has been started[*]
Then enter: 

    ant performance-tests -Dhost=[HOST] -Dport=[PORT] 
                          -Dusername=[USERNAME] -Dpassword=[PASSWORD] 
                          -Diterations=[NUM-ITERATIONS] -Dthreads=[NUM-THREADS] 
                          -Dfile=[OUTPUT-FILE] -Dname=[TEST-NAME]  
    where

    [HOST] = Host on which the Fedora server is running
    [PORT] = Port on which the Fedora server APIs can be accessed
    [USERNAME] = A fedora user with administrative privileges
    [PASSWORD] = The fedora user's password
    [NUM-ITERATIONS] = The number of times to perform each operation
    [NUM-THREADS] = The number of threads to use in the thread pool
    [OUTPUT-FILE] = The full path to the file where test results will be written
    [TEST-NAME] = A name for this test run

[*] Normally, no additional setup is required when testing a
    Fedora server instance 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 
    utiliteis may fail if WEBAPP_NAME is not set properly.
    Additionally, your test host is on a public IP and (not localhost), 
    you *may* need to manually edit the deny-apim-if-not-localhost.xml 
    policy before testing.