Package com.linkedin.helix

Source Code of com.linkedin.helix.AppTest

/**
* Copyright (C) 2012 LinkedIn Inc <opensource@linkedin.com>
*
* Licensed 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 com.linkedin.helix;

import org.testng.annotations.Test;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.I0Itec.zkclient.IDefaultNameSpace;
import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.IZkStateListener;
import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.serialize.BytesPushThroughSerializer;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher.Event.KeeperState;

/**
* Unit test for simple App.
*/
public class AppTest
{
  /**
   * Create the test case
   *
   * @param testName
   *          name of the test case
   */
  public AppTest(String testName)
  {
  }

  @Test(enabled = false)
  private static void testChrootWithZkClient() throws Exception
  {
    ZkClient client = new ZkClient("localhost:2181/foo");
    IZkStateListener stateChangeListener = new IZkStateListener()
    {

      @Override
      public void handleStateChanged(KeeperState state) throws Exception
      {
        System.out
            .println("AppTest.main(...).new IZkStateListener() {...}.handleStateChanged()"
                + state);
      }

      @Override
      public void handleNewSession() throws Exception
      {
        System.out
            .println("AppTest.main(...).new IZkStateListener() {...}.handleNewSession()");
      }
    };
    client.subscribeStateChanges(stateChangeListener);
    boolean waitUntilConnected = client.waitUntilConnected(10000,
        TimeUnit.MILLISECONDS);
    System.out.println("Connected " + waitUntilConnected);
    client.waitForKeeperState(KeeperState.Disconnected, 20000,
        TimeUnit.MILLISECONDS);
    // server.start();
    client.waitUntilConnected();
    Thread.currentThread().join();
  }

  @Test(enabled = false)
  private static void testChroot() throws Exception
  {
    Watcher watcher = new Watcher()
    {
      @Override
      public void process(WatchedEvent event)
      {
        System.out.println("Event:" + event);
      }
    };
    ZooKeeper zk = new ZooKeeper("localhost:2181/foo", 6000, watcher);
    // uncommenting this line will not cause infinite connect/disconnect
    // zk.create("/", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);

    zk.exists("/", true);
    System.out
        .println("Stop the server and restart it when you see this message");
    Thread.currentThread().join();
  }

  @Test(enabled = false)
  private static void testZKClient() throws InterruptedException
  {
    IDefaultNameSpace defaultNameSpace = new IDefaultNameSpace()
    {
      @Override
      public void createDefaultNameSpace(ZkClient zkClient)
      {
      }
    };
    String dataDir = "/tmp/dataDir";
    String logDir = "/tmp/logDir";
    // ZkServer server = new ZkServer(dataDir, logDir, defaultNameSpace, 2181);
    // server.start();

    ZkClient client = new ZkClient("localhost:2181/foo");
    IZkStateListener stateChangeListener = new IZkStateListener()
    {

      @Override
      public void handleStateChanged(KeeperState state) throws Exception
      {
        System.out
            .println("AppTest.main(...).new IZkStateListener() {...}.handleStateChanged()"
                + state);
      }

      @Override
      public void handleNewSession() throws Exception
      {
        System.out
            .println("AppTest.main(...).new IZkStateListener() {...}.handleNewSession()");
      }
    };
    client.subscribeStateChanges(stateChangeListener);
    boolean waitUntilConnected = client.waitUntilConnected(10000,
        TimeUnit.MILLISECONDS);
    System.out.println("Connected " + waitUntilConnected);
    IZkChildListener listener1 = new IZkChildListener()
    {

      @Override
      public void handleChildChange(String parentPath,
          List<String> currentChilds) throws Exception
      {
        System.out.println("listener 1 Change at path:" + parentPath);
      }
    };
    IZkChildListener listener2 = new IZkChildListener()
    {
      @Override
      public void handleChildChange(String parentPath,
          List<String> currentChilds) throws Exception
      {
        System.out.println("listener2 Change at path:" + parentPath);
      }
    };

    client.subscribeChildChanges("/", listener1);
    client.subscribeChildChanges("/foo", listener2);

    // server.shutdown();
    client.waitForKeeperState(KeeperState.Disconnected, 20000,
        TimeUnit.MILLISECONDS);
    // server.start();
    client.waitUntilConnected();

    Thread.sleep(1000);
    client.setZkSerializer(new BytesPushThroughSerializer());
    client.create("/test", new byte[0], CreateMode.EPHEMERAL);
    Thread.sleep(1000);
  }

  public static void main(String[] args) throws Exception
  {
    //testChroot();
    // testZKClient();
    // testChrootWithZkClient();

  }
}
TOP

Related Classes of com.linkedin.helix.AppTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.