Class OnlineTestSupport


  • public abstract class OnlineTestSupport
    extends Object
    JUnit 4 test support for test cases that require an "online" resource, such as an external server or database.

    See OnlineTestCase for details of behaviour and test fixture configuration.

    Subclass names should end with "OnlineTest" to allow Maven to treat them specially.

    This class contains an adapter to OnlineTestCase that allows its use with JUnit 4. Delegation is used to recycle the behaviour of OnlineTestCase without extending TestCase. This is necessary because TestRunners appear to give priority to JUnit 3 behaviour, ignoring JUnit 4 annotations in suites that extend TestCase.

    Author:
    Ben Caradoc-Davies, CSIRO Earth Science and Resource Engineering
    See Also:
    OnlineTestCase
    • Constructor Detail

      • OnlineTestSupport

        public OnlineTestSupport()
    • Method Detail

      • getFixtureId

        protected abstract String getFixtureId()
        Subclasses must override this method to return a fixture id.
        Returns:
        fixture id
        See Also:
        OnlineTestCase.getFixtureId()
      • connect

        protected void connect()
                        throws Exception
        Override this method to connect to an online resource. Throw an exception on failure.

        Subclasses do not have to override this method, but doing so allows builders to choose to have this test disable itself when the online resource is not available.

        Throws:
        Exception
        See Also:
        OnlineTestCase.connect()
      • isOnline

        protected boolean isOnline()
                            throws Exception
        Override this method to return false if you can detect that an online resource required for this test is not available,
        Returns:
        false if a required resource is not online
        Throws:
        Exception
        See Also:
        OnlineTestCase.isOnline()
      • createOfflineFixture

        protected Properties createOfflineFixture()
        Allows tests to create an offline fixture in cases where the user has not specified an explicit fixture for the test.

        Note, that this should method should on be implemented if the test case is created of creating a fixture which relies solely on embedded or offline resources. It should not reference any external or online resources as it prevents the user from running offline.

        See Also:
        OnlineTestCase.createOfflineFixture()
      • createExampleFixture

        protected Properties createExampleFixture()
        Allows test to create a sample fixture for users.

        If this method returns a value the first time a fixture is looked up and not found this method will be called to create a fixture file with the same id, but suffixed with .template.

        See Also:
        OnlineTestCase.createExampleFixture()
      • getFixture

        protected Properties getFixture()
        Return properties configured in the fixture.

        This method allows subclasses in other packages to access fixture properties.

        Returns:
        properties configured in the fixture.