Source code for cis_interface.drivers.tests.test_RMQOutputDriver
import nose.tools as nt
from cis_interface import runner
import cis_interface.drivers.tests.test_RMQDriver as parent1
[docs]class TestRMQOutputParam(parent1.TestRMQParam):
r"""Test parameters for RMQOutputDriver.
Attributes (in addition to parent class's):
-
"""
def __init__(self, *args, **kwargs):
super(TestRMQOutputParam, self).__init__(*args, **kwargs)
self.driver = 'RMQOutputDriver'
self.args = 'test'
[docs]class TestRMQOutputDriverNoStart(TestRMQOutputParam,
parent1.TestRMQDriverNoStart):
r"""Test runner for RMQOutputDriver without start.
Attributes (in addition to parent class's):
-
"""
pass
[docs]class TestRMQOutputDriver(TestRMQOutputParam,
parent1.TestRMQDriver):
r"""Test runner for RMQOutputDriver.
Attributes (in addition to parent class's):
-
"""
[docs] def setup(self):
r"""Create a driver instance and start the driver."""
super(TestRMQOutputDriver, self).setup()
self.in_rmq = self.create_in_rmq()
self.in_rmq.start()
[docs] def teardown(self):
r"""Remove the instance, stoppping it."""
if hasattr(self, 'in_rmq'):
self.remove_instance(self.in_rmq)
delattr(self, 'in_rmq')
super(TestRMQOutputDriver, self).teardown()
[docs] def create_in_rmq(self):
r"""Create a new RMQInputDriver instance."""
inst = runner.create_driver(
'RMQInputDriver', 'TestRMQInputDriver', self.args,
namespace=self.namespace, workingDir=self.workingDir)
return inst
# Disabled so that test message is not read by mistake
[docs] def test_purge(self):
r"""Test purge of queue."""
pass
[docs] def test_early_close(self):
r"""Test early deletion of message queue."""
self.instance.close_queue()
# self.instance.sleep()
# assert(self.instance._closing)
# elapsed = 0.0
# while self.instance._closing and (elapsed < self.instance.timeout):
# self.instance.sleep()
# elapsed += self.instance.sleeptime
# assert(not self.instance._closing)
[docs] def test_RMQ_send(self):
r"""Send a short message to the AMQP server."""
self.instance.ipc_send(self.msg_short)
msg_recv = self.in_rmq.recv_wait()
nt.assert_equal(msg_recv, self.msg_short)
nt.assert_equal(self.instance.n_rmq_msg, 0)
[docs] def test_RMQ_send_nolimit(self):
r"""Send a long message to the AMQP server."""
self.instance.ipc_send_nolimit(self.msg_long)
msg_recv = self.in_rmq.recv_wait_nolimit()
nt.assert_equal(msg_recv, self.msg_long)