From cf473286581aaf4ea97d01872112cf32b0a3d811 Mon Sep 17 00:00:00 2001 From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl> Date: Tue, 10 Jan 2017 04:33:01 +0100 Subject: [PATCH] tests --- coolamqp/clustering/single.py | 6 ++++++ tests/test_clustering/__init__.py | 8 ++++++++ tests/test_clustering/test_a.py | 34 +++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 tests/test_clustering/__init__.py create mode 100644 tests/test_clustering/test_a.py diff --git a/coolamqp/clustering/single.py b/coolamqp/clustering/single.py index a15b5c6..05ed0e9 100644 --- a/coolamqp/clustering/single.py +++ b/coolamqp/clustering/single.py @@ -19,6 +19,8 @@ class SingleNodeReconnector(object): self.attache_group = attache_group self.connection = None + self.terminating = False + def is_connected(self): return self.connection is not None @@ -32,11 +34,15 @@ class SingleNodeReconnector(object): self.connection.add_finalizer(self.on_fail) def on_fail(self): + if self.terminating: + return + self.connection = None self.connect() def shutdown(self): """Close this connection""" + self.terminating = True if self.connection is not None: self.connection.send(None) self.connection = None diff --git a/tests/test_clustering/__init__.py b/tests/test_clustering/__init__.py new file mode 100644 index 0000000..1c762b1 --- /dev/null +++ b/tests/test_clustering/__init__.py @@ -0,0 +1,8 @@ +# coding=UTF-8 +from __future__ import print_function, absolute_import, division +import six +import logging + +logger = logging.getLogger(__name__) + + diff --git a/tests/test_clustering/test_a.py b/tests/test_clustering/test_a.py new file mode 100644 index 0000000..bd1007f --- /dev/null +++ b/tests/test_clustering/test_a.py @@ -0,0 +1,34 @@ +# coding=UTF-8 +""" +Test things +""" +from __future__ import print_function, absolute_import, division +import six +import unittest +import time, logging, threading +from coolamqp.objects import Message, MessageProperties, NodeDefinition, Queue +from coolamqp.clustering import Cluster + +import time + + +NODE = NodeDefinition('127.0.0.1', 'user', 'user', heartbeat=20) +logging.basicConfig(level=logging.DEBUG) + + +class TestA(unittest.TestCase): + def test_link(self): + """Connect and disconnect""" + c = Cluster([NODE]) + c.start() + c.shutdown() + + def test_consume(self): + c = Cluster([NODE]) + c.start() + con, fut = c.consume(Queue(u'hello', exclusive=True)) +# fut.result() + con.cancel() + c.shutdown() + + -- GitLab