Ejemplo n.º 1
0
        public void testWatchesTriggered()
        {
            HasTriggeredWatcher watcher = new HasTriggeredWatcher();

            zk.getChildren("/", watcher);
            zk.multi(Arrays.asList(Op.create("/t", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT), Op.delete("/t", -1)));
            Assert.assertTrue(watcher.triggered.Wait(CONNECTION_TIMEOUT));
        }
Ejemplo n.º 2
0
        public async Task testWatchesTriggered()
        {
            var zk = await createClient();

            HasTriggeredWatcher watcher = new HasTriggeredWatcher();
            await zk.getChildrenAsync("/", watcher);

            await multiAsync(zk, Arrays.asList(
                                 Op.create("/t", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT),
                                 Op.delete("/t", -1)
                                 ));

            Assert.assertTrue(await watcher.triggered.Task.WithTimeout(CONNECTION_TIMEOUT));
        }
Ejemplo n.º 3
0
        public void testNoWatchesTriggeredForFailedMultiRequest()
        {
            HasTriggeredWatcher watcher = new HasTriggeredWatcher();

            zk.getChildren("/", watcher);
            try
            {
                zk.multi(Arrays.asList(Op.create("/t", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT), Op.delete("/nonexisting", -1)));
                Assert.fail("expected previous multi op to fail!");
            }
            catch (KeeperException.NoNodeException)
            {
                // expected
            }
            SyncCallback cb = new SyncCallback();

            zk.sync("/").ContinueWith(t => cb.processResult(1, null, null));

            // by waiting for the callback we're assured that the event queue is flushed
            cb.done.Wait(CONNECTION_TIMEOUT);
            Assert.assertEquals(false, watcher.triggered.IsSet);
        }
Ejemplo n.º 4
0
        public async Task testNoWatchesTriggeredForFailedMultiRequest()
        {
            var zk = await createClient();

            HasTriggeredWatcher watcher = new HasTriggeredWatcher();
            await zk.getChildrenAsync("/", watcher);

            try
            {
                await multiAsync(zk, Arrays.asList(
                                     Op.create("/t", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT),
                                     Op.delete("/nonexisting", -1)
                                     ));

                Assert.fail("expected previous multi op to fail!");
            }
            catch (KeeperException.NoNodeException)
            {
                // expected
            }

            // by waiting for the callback we're assured that the event queue is flushed
            Assert.assertTrue(await zk.sync("/").WithTimeout(CONNECTION_TIMEOUT));
        }