summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/federation.py
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2010-04-19 17:02:43 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2010-04-19 17:02:43 +0000
commitf6f984c7108c2741a853e2437f00d8838f831783 (patch)
tree80a7e9c7d2612e1caf163aa8ab983617155a7e8b /qpid/cpp/src/tests/federation.py
parent2ed9600279e9b84584f6013f63ff3aa58a6225e0 (diff)
downloadqpid-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-xqpid/cpp/src/tests/federation.py70
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]: