diff options
author | Kenneth Anthony Giusti <kgiusti@apache.org> | 2010-04-19 17:02:43 +0000 |
---|---|---|
committer | Kenneth Anthony Giusti <kgiusti@apache.org> | 2010-04-19 17:02:43 +0000 |
commit | f6f984c7108c2741a853e2437f00d8838f831783 (patch) | |
tree | 80a7e9c7d2612e1caf163aa8ab983617155a7e8b /qpid/cpp/src/tests/federation.py | |
parent | 2ed9600279e9b84584f6013f63ff3aa58a6225e0 (diff) | |
download | qpid-python-f6f984c7108c2741a853e2437f00d8838f831783.tar.gz |
QPID-2487: add wait for new exchange to appear in qmf
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@935669 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/federation.py')
-rwxr-xr-x | qpid/cpp/src/tests/federation.py | 70 |
1 files changed, 48 insertions, 22 deletions
diff --git a/qpid/cpp/src/tests/federation.py b/qpid/cpp/src/tests/federation.py index 0addcf029a..dce7965a63 100755 --- a/qpid/cpp/src/tests/federation.py +++ b/qpid/cpp/src/tests/federation.py @@ -878,16 +878,24 @@ class FederationTests(TestBase010): exchanges=[] for _b in self._brokers: _b.client_session.exchange_declare(exchange="fedX.direct", type="direct") - + self.assertEqual(_b.client_session.exchange_query(name="fedX.direct").type, + "direct", "exchange_declare failed!") # pull the exchange out of qmf... + retries = 0 my_exchange = None - objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") - for ooo in objs: - if ooo.name == "fedX.direct": - my_exchange = ooo - break - self.assertTrue(my_exchange is not None) + while my_exchange is None: + objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") + for ooo in objs: + if ooo.name == "fedX.direct": + my_exchange = ooo + break + if my_exchange is None: + retries += 1 + self.failIfEqual(retries, 10, + "QMF failed to find new exchange!") + sleep(1) exchanges.append(my_exchange) + self.assertEqual(len(exchanges), len(self._brokers), "Exchange creation failed!") # connect B0 --> B1 @@ -945,7 +953,7 @@ class FederationTests(TestBase010): binding_counts = [1, 2, 1, 1] self.assertEqual(len(binding_counts), len(exchanges), "Update Test!") - for i in range(len(exchanges)): + for i in reversed(range(len(exchanges))): retries = 0 exchanges[i].update() while exchanges[i].bindingCount < binding_counts[i]: @@ -1110,15 +1118,24 @@ class FederationTests(TestBase010): exchanges=[] for _b in self._brokers: _b.client_session.exchange_declare(exchange="fedX.topic", type="topic") + self.assertEqual(_b.client_session.exchange_query(name="fedX.topic").type, + "topic", "exchange_declare failed!") # pull the exchange out of qmf... + retries = 0 my_exchange = None - objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") - for ooo in objs: - if ooo.name == "fedX.topic": - my_exchange = ooo - break - self.assertTrue(my_exchange is not None) + while my_exchange is None: + objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") + for ooo in objs: + if ooo.name == "fedX.topic": + my_exchange = ooo + break + if my_exchange is None: + retries += 1 + self.failIfEqual(retries, 10, + "QMF failed to find new exchange!") + sleep(1) exchanges.append(my_exchange) + self.assertEqual(len(exchanges), len(self._brokers), "Exchange creation failed!") # connect B0 --> B1 @@ -1176,7 +1193,7 @@ class FederationTests(TestBase010): binding_counts = [1, 2, 1, 1] self.assertEqual(len(binding_counts), len(exchanges), "Update Test!") - for i in range(len(exchanges)): + for i in reversed(range(len(exchanges))): retries = 0 exchanges[i].update() while exchanges[i].bindingCount < binding_counts[i]: @@ -1341,15 +1358,24 @@ class FederationTests(TestBase010): exchanges=[] for _b in self._brokers: _b.client_session.exchange_declare(exchange="fedX.fanout", type="fanout") + self.assertEqual(_b.client_session.exchange_query(name="fedX.fanout").type, + "fanout", "exchange_declare failed!") # pull the exchange out of qmf... + retries = 0 my_exchange = None - objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") - for ooo in objs: - if ooo.name == "fedX.fanout": - my_exchange = ooo - break - self.assertTrue(my_exchange is not None) + while my_exchange is None: + objs = qmf.getObjects(_broker=_b.qmf_broker, _class="exchange") + for ooo in objs: + if ooo.name == "fedX.fanout": + my_exchange = ooo + break + if my_exchange is None: + retries += 1 + self.failIfEqual(retries, 10, + "QMF failed to find new exchange!") + sleep(1) exchanges.append(my_exchange) + self.assertEqual(len(exchanges), len(self._brokers), "Exchange creation failed!") # connect B0 --> B1 @@ -1407,7 +1433,7 @@ class FederationTests(TestBase010): binding_counts = [1, 2, 1, 1] self.assertEqual(len(binding_counts), len(exchanges), "Update Test!") - for i in range(len(exchanges)): + for i in reversed(range(len(exchanges))): retries = 0 exchanges[i].update() while exchanges[i].bindingCount < binding_counts[i]: |