Package org.apache.qpid.test.framework

A framework for testing Qpid, built around a standard 'test circuit' design.

See:
          Description

Interface Summary
AMQPPublisher An AMQPPublisher represents the status of the publishing side of a test circuit that exposes AMQP specific features.
Assertion Assertion models an assertion on a test Circuit.
BrokerLifecycleAware BrokerLifecycleAware is an awareness interface implemented by test cases that can run control the life-cycle of the brokers on which they run.
CauseFailure CauseFailure provides a method to cause a failure in a messaging broker, usually used in conjunction with fail-over or other failure mode testing.
Circuit A Circuit is the basic test unit against which test cases are to be written.
CircuitEnd A CircuitEnd is a pair consisting of one message producer and one message consumer, that represents one end of a test circuit.
DropInTest A DropIn test is a test case that can accept late joining test clients into a running test.
FrameworkTestContext A FrameworkTestContext provides context information to test code about the current test case being run; its name, its parameters.
Publisher A Publisher represents the status of the publishing side of a test circuit.
Receiver A Receiver is a CircuitEnd that represents the status of the receiving side of a test circuit.
 

Class Summary
AssertionBase AssertionBase is a base class for implenmenting assertions.
CauseFailureUserPrompt Causes a message broker failure by interactively prompting the user to cause it.
CircuitEndBase A CircuitEndBase is a pair consisting of one message producer and one message consumer, that represents one end of a test circuit.
ExceptionMonitor An exception monitor, listens for JMS exception on a connection or consumer.
FrameworkBaseCase FrameworkBaseCase provides a starting point for writing test cases against the test framework.
FrameworkClientBaseCase

Responsibilities Collaborations
CRC Card
LocalAMQPCircuitFactory LocalAMQPCircuitFactory is a test sequencer that creates test circuits with publishing and receiving ends rooted on the same JVM, allowing AMQP/Qpid specific options to be applied to the circuit.
LocalCircuitFactory LocalCircuitFactory is a circuit factory that creates test circuits with publishing and receiving ends rooted on the same JVM.
MessageIdentityVector MessageIdentityVector provides a message identification scheme, that matches individual messages with test cases.
MessageMonitor MessageMonitor is used to record information about messages received.
MessagingTestConfigProperties MessagingTestConfigProperties defines a set of property names and default values for specifying a messaging topology, and test parameters for running a messaging test over that topology.
NotApplicableAssertion NotApplicableAssertion is a messaging assertion that can be used when an assertion requested by a test-case is not applicable to the testing scenario.
TestCaseVector

Responsibilities Collaborations
CRC Card
TestClientDetails TestClientDetails is used to encapsulate information about an interop test client.
TestUtils TestUtils provides static helper methods that are usefull for writing tests against QPid.
 

Package org.apache.qpid.test.framework Description

A framework for testing Qpid, built around a standard 'test circuit' design. The idea behind this framework is the use of a test circuit which is configured by a set of test parameters, that may be projected onto a topology of test nodes, with tests scripted to run over test circuits, making as few assumptions as possible about the underlying topology. The standardization of the design, whilst limiting in some respectes, allows a large variety of test scenarios to be written with minimal amounts of coding.

The standard consruction block for a test, is a test circuit. This consists of a publisher, and a receiver. The publisher and receiver may reside on the same machine, or may be distributed. Will use a standard set of properties to define the desired circuit topology.

Tests are always to be controlled from the publishing side only. The receiving end of the circuit is to be exposed to the test code through an interface, that abstracts as much as possible the receiving end of the test. The interface exposes a set of 'assertions' that may be applied to the receiving end of the test circuit.

In the case where the receiving end of the circuit resides on the same JVM, the assertions will call the receivers code locally. Where the receiving end is distributed accross one or more machines, the assertions will be applied to a test report gethered from all of the receivers. Test code will be written to the assertions making as few assumptions as possible about the exact test topology.



Licensed to the Apache Software Foundation