| 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 |
| details. |
| |
| Source Code |
| ----------- |
| Source code may be obtained from Apache git server |
| https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git |
| |
| Documentation |
| ------------- |
| 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 |
| ------ |
| Issues are tracked in the Apache JIRA at |
| https://issues.apache.org/jira/browse/QPIDIT |
| |
| Support |
| ------- |
| Support may be obtained from the qpid-users mailing list |
| users@qpid.apache.org |
| |
| 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 |
| command-line |
| |
| <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 |
| src/py/qpid-interop-test/types/simple_type_test.py |
| 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! |
| |