Package org.projectx.zookeeper

Source Code of org.projectx.zookeeper.ZkServerFactoryBeanTest

package org.projectx.zookeeper;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import java.io.IOException;
import java.net.ServerSocket;

import org.I0Itec.zkclient.IDefaultNameSpace;
import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.ZkServer;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

/**
* Test for the {@link ZkServerFactoryBean} class.
*
* @author Erez Mazor (erezmazor@gmail.com)
*/
@RunWith(MockitoJUnitRunner.class)
public class ZkServerFactoryBeanTest {

  private int port;
  private static final String TMPDIR = System.getProperty("java.io.tmpdir");
  ZkServerFactoryBean classUnderTest;
  @Mock
  private IDefaultNameSpace mockNamesapce;

  @Before
  public void before() throws Exception {
    port = getFreePort();
    classUnderTest = new ZkServerFactoryBean();
    classUnderTest.setDefaultNameSpace(mockNamesapce);
    classUnderTest.setDataDirectory(TMPDIR);
    classUnderTest.setLogDirectory(TMPDIR);
    classUnderTest.setMinSessionTimeout(2000);
    classUnderTest.setTickTime(5);
    classUnderTest.setPort(port);
  }

  private int getFreePort() throws IOException {
    final ServerSocket socket = new ServerSocket(0);
    final int localPort = socket.getLocalPort();
    socket.close();
    return localPort;
  }

  @Test
  @Ignore
  public void test_createBasicProperties() {
    assertEquals("Incorrect object type", ZkServer.class, classUnderTest.getObjectType());
    assertEquals("Incorrect singleton value", true, classUnderTest.isSingleton());
  }

  @Test
  @Ignore
  public void test_createServer() throws Exception {
    ZkServer zkServer = null;
    try {
      classUnderTest.afterPropertiesSet();
      zkServer = classUnderTest.getObject();
      assertNotNull("target object is null", zkServer);
      assertNotNull("client is null", zkServer.getZkClient());
      assertEquals("incorrect port", port, zkServer.getPort());
    } finally {
      final ZkClient zkClient = classUnderTest.getObject().getZkClient();
      if (null != zkClient) {
        classUnderTest.destroy();
      }
    }
  }
}
TOP

Related Classes of org.projectx.zookeeper.ZkServerFactoryBeanTest

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.