/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.zookeeper.test; import java.util.concurrent.CountDownLatch; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.test.AsyncOps.ACLCB; import org.apache.zookeeper.test.AsyncOps.Children2CB; import org.apache.zookeeper.test.AsyncOps.ChildrenCB; import org.apache.zookeeper.test.AsyncOps.DataCB; import org.apache.zookeeper.test.AsyncOps.StatCB; import org.apache.zookeeper.test.AsyncOps.StringCB; import org.apache.zookeeper.test.AsyncOps.VoidCB; import org.junit.After; import org.junit.Before; import org.junit.Test; public class AsyncOpsTest extends ClientBase { private static final Logger LOG = LoggerFactory.getLogger(AsyncOpsTest.class); private ZooKeeper zk; @Before @Override public void setUp() throws Exception { super.setUp(); LOG.info("Creating client " + getTestName()); zk = createClient(); zk.addAuthInfo("digest", "ben:passwd".getBytes()); } @After @Override public void tearDown() throws Exception { zk.close(); super.tearDown(); LOG.info("Test clients shutting down"); } @Test public void testAsyncCreate() { new StringCB(zk).verifyCreate(); } @Test public void testAsyncCreateThree() { CountDownLatch latch = new CountDownLatch(3); StringCB op1 = new StringCB(zk, latch); op1.setPath("/op1"); StringCB op2 = new StringCB(zk, latch); op2.setPath("/op2"); StringCB op3 = new StringCB(zk, latch); op3.setPath("/op3"); op1.create(); op2.create(); op3.create(); op1.verify(); op2.verify(); op3.verify(); } @Test public void testAsyncCreateFailure_NodeExists() { new StringCB(zk).verifyCreateFailure_NodeExists(); } @Test public void testAsyncDelete() { new VoidCB(zk).verifyDelete(); } @Test public void testAsyncDeleteFailure_NoNode() { new VoidCB(zk).verifyDeleteFailure_NoNode(); } @Test public void testAsyncSync() { new VoidCB(zk).verifySync(); } @Test public void testAsyncSetACL() { new StatCB(zk).verifySetACL(); } @Test public void testAsyncSetACLFailure_NoNode() { new StatCB(zk).verifySetACLFailure_NoNode(); } @Test public void testAsyncSetData() { new StatCB(zk).verifySetData(); } @Test public void testAsyncSetDataFailure_NoNode() { new StatCB(zk).verifySetDataFailure_NoNode(); } @Test public void testAsyncExists() { new StatCB(zk).verifyExists(); } @Test public void testAsyncExistsFailure_NoNode() { new StatCB(zk).verifyExistsFailure_NoNode(); } @Test public void testAsyncGetACL() { new ACLCB(zk).verifyGetACL(); } @Test public void testAsyncGetChildrenEmpty() { new ChildrenCB(zk).verifyGetChildrenEmpty(); } @Test public void testAsyncGetChildrenSingle() { new ChildrenCB(zk).verifyGetChildrenSingle(); } @Test public void testAsyncGetChildrenTwo() { new ChildrenCB(zk).verifyGetChildrenTwo(); } @Test public void testAsyncGetChildrenFailure_NoNode() { new ChildrenCB(zk).verifyGetChildrenFailure_NoNode(); } @Test public void testAsyncGetChildren2Empty() { new ChildrenCB(zk).verifyGetChildrenEmpty(); } @Test public void testAsyncGetChildren2Single() { new Children2CB(zk).verifyGetChildrenSingle(); } @Test public void testAsyncGetChildren2Two() { new Children2CB(zk).verifyGetChildrenTwo(); } @Test public void testAsyncGetChildren2Failure_NoNode() { new Children2CB(zk).verifyGetChildrenFailure_NoNode(); } @Test public void testAsyncGetData() { new DataCB(zk).verifyGetData(); } @Test public void testAsyncGetDataFailure_NoNode() { new DataCB(zk).verifyGetDataFailure_NoNode(); } }