@Test public void directCheckUpgradeSessionTest() throws IOException, InterruptedException, KeeperException { final ZooKeeper zk = createClient(); String path = "/directcheckupgradesession"; zk.create(path, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); QuorumZooKeeperServer server = getConnectedServer(zk.getSessionId()); Assert.assertNotNull("unable to find server interlocutor", server); Request readRequest = makeGetDataRequest(path, zk.getSessionId()); Request createRequest = makeCreateRequest(path + "/e", zk.getSessionId()); Assert.assertNull("tried to upgrade on a read", server.checkUpgradeSession(readRequest)); Assert.assertNotNull("failed to upgrade on a create", server.checkUpgradeSession(createRequest)); Assert.assertNull("tried to upgrade after successful promotion", server.checkUpgradeSession(createRequest)); }