| QUICKSTART GUIDE |
| ================ |
| |
| All these instructions depend on choosing an install mechanism. Two options exist: |
| A: Install to default locations using root privileges (TODO: I have not tested this option!) |
| B: Install to custom local location which don't require privileges (and is safer for testing). In each case, |
| you should select the SAME prefix or install path for each component. |
| The text below assumes you have chosen one of these. Your choice should be consistent for all components. |
| |
| These are the install steps: |
| 1. Install and build packages required for qpid-interop-test |
| a. Qpid Proton (includes C++ Proton API) |
| b. Qpid Python |
| c. Qpid JMS |
| d. Rhea |
| 2. Download and build qpid-interop-test |
| 3. Install or download / build AMQP brokers to test against |
| 4. Run the tests |
| |
| |
| 0. Prerequisites |
| ================ |
| * Necessary packages for building and running qpid-interop-test and its dependencies: |
| TODO: Complete this list |
| ** C++: json-cpp-devel and packages required for qpid-proton |
| ** Python: Nothing special, should be all installed standard on Lunux |
| ** Maven: mvn |
| ** Rhea: node npm |
| |
| 1. Install and build packages required for qpid-interop-test |
| ============================================================ |
| |
| a. Get and build Qpid Proton |
| ---------------------------- |
| git clone https://git-wip-us.apache.org/repos/asf/qpid-proton.git |
| cd qpid-proton |
| |
| # Build and install C++ components: |
| mkdir build |
| cd build |
| |
| # INSTALL OPTION A: (TODO: I have not tested this option!) |
| cmake .. |
| make |
| sudo make install |
| |
| # INSTALL OPTION B: |
| cmake -DCMAKE_INSTALL_PREFIX=/abs/path/to/local/install/dir .. |
| make install |
| cd .. |
| |
| # Build and install Java components: |
| mvn -DskipTests install |
| cd .. |
| |
| |
| b. Get and install Qpid Python |
| ------------------------------ |
| git clone https://git-wip-us.apache.org/repos/asf/qpid-python.git |
| cd qpid-python |
| |
| # INSTALL OPTION A: (TODO: I have not tested this option!) |
| sudo python setup.py install |
| # INSTALL OPTION B: |
| python setup.py install --prefix=/abs/path/to/local/install/dir |
| cd .. |
| |
| |
| c. Get and build Qpid JMS |
| ------------------------- |
| git clone https://git-wip-us.apache.org/repos/asf/qpid-jms.git |
| cd qpid-jms |
| |
| mvn -DskipTests install |
| cd .. |
| |
| |
| d. Get and install Rhea |
| ----------------------- |
| git clone https://github.com/grs/rhea.git |
| cd rhea |
| |
| npm install debug |
| # NOTE: This step requires root privileges, I can't find a way around it (as it needs to install the |
| # link into the folders where node is installed, and I can't get a local link to work): |
| sudo npm link |
| cd .. |
| |
| 2. Download and build qpid-interop-test |
| ======================================= |
| git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git |
| cd qpid-interop-test |
| mkdir build |
| cd build |
| |
| # INSTALL OPTION A: (TODO: I have not tested this option!) |
| cmake .. |
| make |
| sudo make install |
| |
| # INSTALL OPTION B: |
| cmake -DPROTON_INSTALL_DIR=/abs/path/to/local/install/dir -DCMAKE_INSTALL_PREFIX=/abs/path/to/local/install/dir .. |
| make install |
| |
| |
| 3. Install or build AMQP brokers to test against |
| ================================================ |
| The following are possible brokers to install or build for testing against: |
| |
| a. Artemis |
| ---------- |
| TODO: Helpful hints on obtaining/building |
| Make the following changes to the broker.xml file: |
| configuration.core.address-settings.address-setting for match="#": |
| add the following: |
| <auto-create-jms-queues>true</auto-create-jms-queues> |
| |
| b. ActiveMQ |
| ----------- |
| TODO: Helpful hints on obtaining/building |
| Make the following changes to the activemq.xml config file: |
| broker.transportConnectors.transportConnector for name "amqp": add "wireFormat.allowNonSaslConnections=true"; ie: |
| <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=1048576000&wireFormat.allowNonSaslConnections=true"/> |
| |
| c. Qpid C++ |
| ----------- |
| TODO: Helpful hints on obtaining/building |
| When starting the broker, configure or use the following parameters: |
| --load-module amqp : will enable the AMQP 1.0 protocol |
| --queue-pattern jms.queue.qpid-interop: will automatically create queues using this prefix as needed |
| --auth no : will disable authentication (which these tests do not use). |
| |
| d. Qpid Java |
| ------------ |
| TODO: Helpful hints on obtaining/building |
| TODO: Not yet tested |
| |
| e. Qpid Dispatch Router |
| ----------------------- |
| TODO: Helpful hints on obtaining/building |
| * Configure the router to listen on both IP4 and IP6 ports (ie one listener for 127.0.0.1 and one for |
| ::1 respectively). |
| * Set authenticatePeer to no and make sure saslMechanisms: ANONYMOUS is present (even though there is no |
| authentication). |
| |
| |
| |
| 4. Run the tests |
| ================ |
| The following depend on which choice was made for installation above: |
| |
| OPTION A (root install default locations): |
| ------------------------------------------ |
| TODO: Still needs testing |
| |
| OPTION B (local install) |
| ------------------------ |
| # Set environment (use this in a script file) |
| INSTALL_PATH=/abs/path/to/local/install/dir |
| export QPID_INTEROP_TEST_HOME=/abs/path/to/local/qpid-interop-test |
| export PYTHONPATH=${INSTALL_PATH}/lib64/proton/bindings/python:${INSTALL_PATH}/lib/python2.7/site-packages:${QPID_INTEROP_TEST_HOME}/src/python |
| export LD_LIBRARY_PATH=${INSTALL_PATH}/lib64 |
| |
| Start the test broker |
| |
| All of the tests are located in ${QPID_INTEROP_TEST_HOME}/src/python/qpid_interop_test, and can be directly called: |
| ./src/python/qpid_interop_test/amqp_types_test.py |
| ./src/python/qpid_interop_test/jms_messages_test.py |
| etc. |
| |
| |