@Test public void testMulti() throws KeeperException, InterruptedException { Op createTtl = Op.create("/a", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_WITH_TTL, 100); Op createTtlSequential = Op.create("/b", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL_WITH_TTL, 200); Op createNonTtl = Op.create("/c", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); List<OpResult> results = zk.multi(Arrays.asList(createTtl, createTtlSequential, createNonTtl)); String sequentialPath = ((OpResult.CreateResult)results.get(1)).getPath(); final AtomicLong fakeElapsed = new AtomicLong(0); ContainerManager containerManager = newContainerManager(fakeElapsed); containerManager.checkContainers(); Assert.assertNotNull("node should not have been deleted yet", zk.exists("/a", false)); Assert.assertNotNull("node should not have been deleted yet", zk.exists(sequentialPath, false)); Assert.assertNotNull("node should never be deleted", zk.exists("/c", false)); fakeElapsed.set(110); containerManager.checkContainers(); Assert.assertNull("node should have been deleted", zk.exists("/a", false)); Assert.assertNotNull("node should not have been deleted yet", zk.exists(sequentialPath, false)); Assert.assertNotNull("node should never be deleted", zk.exists("/c", false)); fakeElapsed.set(210); containerManager.checkContainers(); Assert.assertNull("node should have been deleted", zk.exists("/a", false)); Assert.assertNull("node should have been deleted", zk.exists(sequentialPath, false)); Assert.assertNotNull("node should never be deleted", zk.exists("/c", false)); }