Commit Graph

5 Commits

Author SHA1 Message Date
Mehdi Abaakouk 894db18563 Remove useless additional requirement file
amqp1 requirements doesn't need anymore to be in
a separate file.

Change-Id: If8de5bcac231052ebf93323bf3923ab942a0de17
2015-09-15 11:29:52 +02:00
Victor Stinner 525e3a2b12 Don't install pyngus on Python 3
pyngus is not compatible with Python 3 yet.

Change-Id: I54431c0a40c46d3027116c07e2bac5cc1ef76a3a
Closes-Bug: #1474852
2015-07-15 15:45:35 +02:00
Flavio Percoco f06b19628f Enable amqp's protocol unit tests everywhere
Now that python-qpid-proton has taken an approach similar to zmq's, it's
possible to install it in boxes where the C libraries are not present in
the system. This patch takes advantage of that to enable amqp protocol's
tests everywhere.

Change-Id: Ibce4c791aafadf45fa876d6a4f5373fde94769ff
2015-06-15 20:52:24 +02:00
Mehdi Abaakouk b2f505ee57 amqp1: fix functional tests deps
This change increases the version of python-qpid-proton to works
on fedora21.

It also installs qpid-tools to ensure authentification works before
starting the tests.

Change-Id: Ic8eb3b80ef4af6ca8cecbb6fba71cb69c0af3101
2015-02-11 16:25:04 +00:00
Gordon Sim fbee94170f An initial implementation of an AMQP 1.0 based messaging driver
The key driver interfaces are implemented in the ProtonDriver class in
driver.py.  The logic for interfacing with Pyngus in order to
send/receive messages, manage AMQP connections and links, and handle
protocol events is in controller.py.  eventloop.py is a fairly generic
socket connection and I/O processor which runs in its own thread.
controller.py uses the eventloop.py thread to schedule subscription
and message send requests from the driver, as well as handle all
protocol event callbacks coming from Pyngus.

Included in this patch are a set of functional tests that can be run
under tox (tox -eamqp1).  These tests fully exercise the new driver,
from the driver API down to the 'wire' - nothing in the driver is
mocked out.  The functional tests implement a simple loopback test
broker, which allows the driver to send and receive messages via the
local network.  All RPC call patterns, RPC timeouts, and even broker
failover are verified by the included functional tests.

This driver uses the Pyngus module, which is a pure-python client API
built on the Proton AMQP 1.0 protocol engine library from the Apache
Qpid project.  Pyngus is available via pypi.python.org.

This driver introduces a dependency on the Proton AMQP 1.0 protocol
library, which is a platform-dependent library that must be installed
in order to use this driver and run the functional tests.

Change-Id: I871703e4cdc04cee3e6c214e911c9df464ede2ed
Implements: blueprint amqp10-driver-implementation
2014-09-04 15:12:43 -04:00