def test_async_getchildren_with_watcher(self): self.ensureCreated("/zk-python-getchildrentest", flags=0) self.ensureCreated("/zk-python-getchildrentest/child") watched = [] def watcher(*args): self.cv.acquire() watched.append(args) self.cv.notify() self.cv.release() def children_callback(*args): self.cv.acquire() self.cv.notify() self.cv.release() zookeeper.aget_children( self.handle, "/zk-python-getchildrentest", watcher, children_callback) self.cv.acquire() self.cv.wait() self.cv.release() self.cv.acquire() self.ensureCreated("/zk-python-getchildrentest/child2") self.cv.wait(15) self.assertTrue(watched)
def test_async_getchildren(self): self.ensureCreated("/zk-python-getchildrentest", flags=0) self.ensureCreated("/zk-python-getchildrentest/child") def gc_callback(handle, rc, children): self.cv.acquire() self.rc = rc self.children = children self.callback_flag = True self.cv.notify() self.cv.release() self.cv.acquire() self.callback_flag = False zookeeper.aget_children(self.handle, "/zk-python-getchildrentest", None, gc_callback) self.cv.wait(15) self.assertEqual(self.callback_flag, True, "aget_children timed out") self.assertEqual(self.rc, zookeeper.OK, "Return code for aget_children was not OK - %s" % zookeeper.zerror(self.rc)) self.assertEqual(len(self.children), 1, "Expected to find 1 child, got " + str(len(self.children)))
def test_dispatch_types(self): """ Test all the various dispatch mechanisms internal to the module. """ def dispatch_callback(*args, **kwargs): self.callback_flag = True self.ensureCreated("/zk-python-dispatch-test") self.callback_harness( lambda: zookeeper.adelete(self.handle, "/zk-python-dispatch-test", -1, self.create_callback(dispatch_callback)), lambda: self.assertEqual(True, self.callback_flag, "Void dispatch not fired")) self.ensureCreated("/zk-python-dispatch-test") self.callback_harness( lambda: zookeeper.aexists(self.handle, "/zk-python-dispatch-test", None, self.create_callback(dispatch_callback)), lambda: self.assertEqual(True, self.callback_flag, "Stat dispatch not fired")) self.callback_harness( lambda: zookeeper.aget(self.handle, "/zk-python-dispatch-test", None, self.create_callback(dispatch_callback)), lambda: self.assertEqual(True, self.callback_flag, "Data dispatch not fired")) self.callback_harness( lambda: zookeeper.aget_children(self.handle, "/", None, self.create_callback( dispatch_callback )), lambda: self.assertEqual(True, self.callback_flag, "Strings dispatch not fired")) self.callback_harness( lambda: zookeeper.async(self.handle, "/", self.create_callback( dispatch_callback )), lambda: self.assertEqual(True, self.callback_flag, "String dispatch not fired")) self.callback_harness( lambda: zookeeper.aget_acl(self.handle, "/", self.create_callback( dispatch_callback )), lambda: self.assertEqual(True, self.callback_flag, "ACL dispatch not fired"))