blob: 366a28738f8a4311fde6644234d8c1192df8e988 [file] [log] [blame]
Qpid Client Interoperability Test Suite
This directory contains the Qpid Proton Client API test suite.
All files in this directory are under the Apache License - see LICENSE for
Source Code
Source code may be obtained from Apache git server
A quickstart guide for building and using this test suite is contained in
QUICKSTART. Detailed documentation for adding tests and using them are
(will be) contained in the docs directory.
Issues are tracked in the Apache JIRA at
Support may be obtained from the qpid-users mailing list
Writing shims for new clients
A detailed description of this process is (will be) contained in the docs
directory. The very short version of this is as follows:
1. Write a pair of client programs using the client API under test.
The first is a sender which reads the following from the command-line:
<broker address> <amqp type> <JSON string: test values> ...
and is responsible for sending messages containing the test values each in a
single message in the appropriate AMQP type format.
The second client program is a receiver, and must read the following from the
<broker address> <amqp type> <JSON string: num messages>
and is responsible for receiving <num messages> messages from the broker and
printing the bodies of the received messages appropriately decoded for type
<amqp type>. The printed output will be a JSON string containing the identical
structure to that sent to the send shim, but containing the received values.
2. Add a subclass for this client in
derived from class Shim and which overrides NAME, ENV (as needed), SHIM_LOC,
SEND and RECEIVE. SEND and RECEIVE must point to the two clients written
in step 1 above.
3. Add an instance of your new shim class to SHIM_MAP keyed against its name.
That's it!