summaryrefslogtreecommitdiffstats
path: root/tests/unit/rpc/test_matchmaker.py
diff options
context:
space:
mode:
authorEric Windisch <eric@cloudscaling.com>2013-01-24 16:28:43 -0500
committerEric Windisch <eric@cloudscaling.com>2013-03-01 10:54:05 -0500
commitcb26af207dbcea5fc88ad5f66da80fba5d76cb04 (patch)
tree9da183e01a2da3f99bb904cbd2b9c15863f2c7b8 /tests/unit/rpc/test_matchmaker.py
parent2b418be864a5aa5ba135f7651e83051cf3bf9ce6 (diff)
downloadoslo-cb26af207dbcea5fc88ad5f66da80fba5d76cb04.tar.gz
oslo-cb26af207dbcea5fc88ad5f66da80fba5d76cb04.tar.xz
oslo-cb26af207dbcea5fc88ad5f66da80fba5d76cb04.zip
Redis-based matchmaker
Introduces a reference implementation of a matchmaker (based on redis) that supports dynamic host/topic registrations, host expiration, and hooks for consuming applications to acknowledge or neg-acknowledge topic.host service availability. Implements blueprint advanced-matchmaking Change-Id: I8608d2089fca118b0e369f2eb5c6aedacf6821fe
Diffstat (limited to 'tests/unit/rpc/test_matchmaker.py')
-rw-r--r--tests/unit/rpc/test_matchmaker.py36
1 files changed, 5 insertions, 31 deletions
diff --git a/tests/unit/rpc/test_matchmaker.py b/tests/unit/rpc/test_matchmaker.py
index 08c2387..bcc7ef8 100644
--- a/tests/unit/rpc/test_matchmaker.py
+++ b/tests/unit/rpc/test_matchmaker.py
@@ -17,41 +17,14 @@
import logging
from openstack.common.rpc import matchmaker
+from tests.unit.rpc import matchmaker_common as common
from tests import utils
LOG = logging.getLogger(__name__)
-class _MatchMakerDirectedTopicTestCase(object):
- """Mix-in to test directed topics."""
- def test_firstval_is_directed_topic(self):
- matches = self.driver.queues(self.topic)
- topics = map(lambda x: x[0], matches)
-
- for topic in topics:
- self.assertTrue('.' in topic)
-
-
-class _MatchMakerTestCase(_MatchMakerDirectedTopicTestCase):
- def test_valid_host_matches(self):
- queues = self.driver.queues(self.topic)
- matched_hosts = map(lambda x: x[1], queues)
-
- for host in matched_hosts:
- self.assertTrue(host in self.hosts)
-
- def test_fanout_host_matches(self):
- """For known hosts, see if they're in fanout."""
- queues = self.driver.queues("fanout~" + self.topic)
- matched_hosts = map(lambda x: x[1], queues)
-
- LOG.info("Received result from matchmaker: %s", queues)
- for host in self.hosts:
- self.assertTrue(host in matched_hosts)
-
-
-class MatchMakerFileTestCase(utils.BaseTestCase, _MatchMakerTestCase):
+class MatchMakerFileTestCase(utils.BaseTestCase, common._MatchMakerTestCase):
def setUp(self):
super(MatchMakerFileTestCase, self).setUp()
self.topic = "test"
@@ -62,7 +35,8 @@ class MatchMakerFileTestCase(utils.BaseTestCase, _MatchMakerTestCase):
self.driver = matchmaker.MatchMakerRing(ring)
-class MatchMakerLocalhostTestCase(utils.BaseTestCase, _MatchMakerTestCase):
+class MatchMakerLocalhostTestCase(utils.BaseTestCase,
+ common._MatchMakerTestCase):
def setUp(self):
super(MatchMakerLocalhostTestCase, self).setUp()
self.driver = matchmaker.MatchMakerLocalhost()
@@ -70,7 +44,7 @@ class MatchMakerLocalhostTestCase(utils.BaseTestCase, _MatchMakerTestCase):
self.hosts = ['localhost']
-class MatchMakerDirectExchangeTestCase(utils.BaseTestCase,
+class MatchMakerDirectExchangeTestCase(utils.BaseTestCase, common.
_MatchMakerDirectedTopicTestCase):
"""Test lookups against a directed topic."""
def setUp(self):