Java 类org.apache.curator.framework.api.CreateBuilder 实例源码

项目:incubator-atlas    文件:SetupStepsTest.java   
@Test
public void shouldCreateSetupInProgressNode() throws Exception {
    Set<SetupStep> steps = new LinkedHashSet<>();
    SetupStep setupStep1 = mock(SetupStep.class);
    steps.add(setupStep1);

    when(configuration.
            getString(HAConfiguration.ATLAS_SERVER_HA_ZK_ROOT_KEY, HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT)).
            thenReturn(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT);
    when(configuration.getString(HAConfiguration.HA_ZOOKEEPER_ACL)).thenReturn("digest:user:pwd");

    List<ACL> aclList = Arrays.asList(new ACL(ZooDefs.Perms.ALL, new Id("digest", "user:pwd")));
    setupServerIdSelectionMocks();
    CreateBuilder createBuilder = setupSetupInProgressPathMocks(aclList).getLeft();

    InterProcessMutex lock = mock(InterProcessMutex.class);
    when(curatorFactory.lockInstance(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT)).
            thenReturn(lock);
    SetupSteps setupSteps = new SetupSteps(steps, curatorFactory, configuration);
    setupSteps.runSetup();

    verify(createBuilder).withACL(aclList);
    verify(createBuilder).forPath(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT+SetupSteps.SETUP_IN_PROGRESS_NODE,
            "id2".getBytes(Charsets.UTF_8));
}
项目:disco-java    文件:DiscoServiceTest.java   
@SuppressWarnings("unchecked")
@Test
public void testStart() throws Exception {
    CuratorFramework framework = mockFramework();
    ExistsBuilder ceBuilder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);
    when(framework.checkExists()).thenReturn(ceBuilder);
    when(ceBuilder.forPath("/services/myservice/nodes")).thenReturn(mock(Stat.class));
    when(framework.create()).thenReturn(createBuilder);
    when(framework.getState()).thenReturn(CuratorFrameworkState.STARTED);
    ACLBackgroundPathAndBytesable<String> os = mock(ACLBackgroundPathAndBytesable.class);
    when(createBuilder.withMode(CreateMode.EPHEMERAL)).thenReturn(os);
    DiscoService service = new DiscoService(framework, "myservice");
    byte[] payload = "foo bar baz bingo".getBytes();
    service.start("foo", 4321, true, payload);
    verify(os).forPath(eq("/services/myservice/nodes/foo:4321"), eq(payload));
}
项目:disco-java    文件:DiscoServiceTest.java   
@SuppressWarnings("unchecked")
@Test
public void testDeletesEphemeralNode() throws Exception {
    CuratorFramework framework = mockFramework();
    ExistsBuilder ceBuilder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);
    when(framework.checkExists()).thenReturn(ceBuilder);
    when(ceBuilder.forPath("/services/myservice/nodes")).thenReturn(mock(Stat.class));
    when(ceBuilder.forPath("/services/myservice/nodes/foo:4321")).thenReturn(mock(Stat.class));
    when(framework.create()).thenReturn(createBuilder);
    when(framework.getState()).thenReturn(CuratorFrameworkState.STARTED);
    DeleteBuilder deleteBuilder = mock(DeleteBuilder.class);
    when(framework.delete()).thenReturn(deleteBuilder);
    ACLBackgroundPathAndBytesable<String> os = mock(ACLBackgroundPathAndBytesable.class);
    when(createBuilder.withMode(CreateMode.EPHEMERAL)).thenReturn(os);
    DiscoService service = new DiscoService(framework, "myservice");
    byte[] payload = "foo bar baz bingo".getBytes();
    service.start("foo", 4321, true, payload);
    verify(deleteBuilder).forPath("/services/myservice/nodes/foo:4321");
    verify(os).forPath(eq("/services/myservice/nodes/foo:4321"), eq(payload));
}
项目:ibole-microservice    文件:DistributedLockServiceCuratorImplTest.java   
public void createNonExisting() throws Exception {
    CuratorFramework client = mock(CuratorFramework.class);
    ExistsBuilder builder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);


    //ProtectACLCreateModeStatPathAndBytesable<String> protector = mock(ProtectACLCreateModeStatPathAndBytesable.class);
    when(builder.forPath(anyString())).thenReturn(null);
    when(client.checkExists()).thenReturn(builder);
    when(client.create()).thenReturn(createBuilder);
    //when(createBuilder.creatingParentContainersIfNeeded()).thenReturn((ProtectACLCreateModeStatPathAndBytesable<String>)protector);
    new DistributedLockServiceCuratorImpl(client, "/", 0);
    //verify(protector).forPath(anyString(), anyObject());
}
项目:ibole-microservice    文件:DistributedLockServiceCuratorImplTest.java   
public void createNonExisting2() throws Exception {
    CuratorFramework client = mock(CuratorFramework.class);
    ExistsBuilder builder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);

    //ProtectACLCreateModeStatPathAndBytesable<String> protector = mock(ProtectACLCreateModeStatPathAndBytesable.class);
    when(builder.forPath(anyString())).thenReturn(new Stat());
    when(client.checkExists()).thenReturn(builder);
    when(client.create()).thenReturn(createBuilder);
    //when(createBuilder.creatingParentContainersIfNeeded()).thenReturn(protector);
    new DistributedLockServiceCuratorImpl(client, "/", 0);
    //verify(protector, times(0)).forPath(anyString(), anyObject());
}
项目:jstorm-0.9.6.3-    文件:ZkState.java   
public void writeBytes(String path, byte[] bytes) {
    try {
        if (_curator.checkExists().forPath(path) == null) {
            CreateBuilder builder = _curator.create();
            ProtectACLCreateModePathAndBytesable<String> createAble = (ProtectACLCreateModePathAndBytesable<String>) builder
                    .creatingParentsIfNeeded();
            createAble.withMode(CreateMode.PERSISTENT).forPath(path, bytes);
        } else {
            _curator.setData().forPath(path, bytes);
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
项目:micro-server    文件:DistributedLockServiceCuratorImplTest.java   
@Test
public void createNonExisting() throws Exception {
    CuratorFramework client = mock(CuratorFramework.class);
    ExistsBuilder builder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);


    ProtectACLCreateModeStatPathAndBytesable<String> protector = mock(ProtectACLCreateModeStatPathAndBytesable.class);
    when(builder.forPath(anyString())).thenReturn(null);
    when(client.checkExists()).thenReturn(builder);
    when(client.create()).thenReturn(createBuilder);
    when(createBuilder.creatingParentContainersIfNeeded()).thenReturn((ProtectACLCreateModeStatPathAndBytesable<String>)protector);
    new DistributedLockServiceCuratorImpl(client, "/", 0);
    verify(protector).forPath(anyString(), anyObject());
}
项目:micro-server    文件:DistributedLockServiceCuratorImplTest.java   
@Test
public void createNonExisting2() throws Exception {
    CuratorFramework client = mock(CuratorFramework.class);
    ExistsBuilder builder = mock(ExistsBuilder.class);
    CreateBuilder createBuilder = mock(CreateBuilder.class);

    ProtectACLCreateModeStatPathAndBytesable<String> protector = mock(ProtectACLCreateModeStatPathAndBytesable.class);
    when(builder.forPath(anyString())).thenReturn(new Stat());
    when(client.checkExists()).thenReturn(builder);
    when(client.create()).thenReturn(createBuilder);
    when(createBuilder.creatingParentContainersIfNeeded()).thenReturn(protector);
    new DistributedLockServiceCuratorImpl(client, "/", 0);
    verify(protector, times(0)).forPath(anyString(), anyObject());
}
项目:learn_jstorm    文件:ZkState.java   
public void writeBytes(String path, byte[] bytes) {
    try {
        if (_curator.checkExists().forPath(path) == null) {
            CreateBuilder builder = _curator.create();
            ProtectACLCreateModePathAndBytesable<String> createAble = (ProtectACLCreateModePathAndBytesable<String>) builder
                    .creatingParentsIfNeeded();
            createAble.withMode(CreateMode.PERSISTENT).forPath(path, bytes);
        } else {
            _curator.setData().forPath(path, bytes);
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
项目:incubator-atlas    文件:SetupStepsTest.java   
private Pair<CreateBuilder, DeleteBuilder> setupSetupInProgressPathMocks(List<ACL> acls, Stat stat) throws Exception {
    when(curatorFactory.clientInstance()).thenReturn(client);
    CreateBuilder createBuilder = mock(CreateBuilder.class);
    when(createBuilder.withACL(acls)).thenReturn(createBuilder);
    when(client.create()).thenReturn(createBuilder);
    DeleteBuilder deleteBuilder = mock(DeleteBuilder.class);
    when(client.delete()).thenReturn(deleteBuilder);
    Pair<CreateBuilder, DeleteBuilder> pair = Pair.of(createBuilder, deleteBuilder);
    ExistsBuilder existsBuilder = mock(ExistsBuilder.class);
    when(client.checkExists()).thenReturn(existsBuilder);
    when(existsBuilder.forPath(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT+SetupSteps.SETUP_IN_PROGRESS_NODE)).
            thenReturn(stat);
    return pair;
}
项目:incubator-atlas    文件:ActiveInstanceStateTest.java   
@Test
public void testSharedPathIsCreatedIfNotExists() throws Exception {

    when(configuration.getString(HAConfiguration.ATLAS_SERVER_ADDRESS_PREFIX +"id1")).thenReturn(HOST_PORT);
    when(configuration.getString(
            HAConfiguration.ATLAS_SERVER_HA_ZK_ROOT_KEY, HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT)).
            thenReturn(HAConfiguration.ATLAS_SERVER_ZK_ROOT_DEFAULT);

    when(curatorFactory.clientInstance()).thenReturn(curatorFramework);

    ExistsBuilder existsBuilder = mock(ExistsBuilder.class);
    when(curatorFramework.checkExists()).thenReturn(existsBuilder);
    when(existsBuilder.forPath(getPath())).thenReturn(null);

    CreateBuilder createBuilder = mock(CreateBuilder.class);
    when(curatorFramework.create()).thenReturn(createBuilder);
    when(createBuilder.withMode(CreateMode.EPHEMERAL)).thenReturn(createBuilder);
    when(createBuilder.withACL(ZooDefs.Ids.OPEN_ACL_UNSAFE)).thenReturn(createBuilder);

    SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
    when(curatorFramework.setData()).thenReturn(setDataBuilder);

    ActiveInstanceState activeInstanceState = new ActiveInstanceState(configuration, curatorFactory);
    activeInstanceState.update("id1");

    verify(createBuilder).forPath(getPath());
}
项目:jstrom    文件:ZkState.java   
public void writeBytes(String path, byte[] bytes) {
    try {
        if (_curator.checkExists().forPath(path) == null) {
            CreateBuilder builder = _curator.create();
            ProtectACLCreateModePathAndBytesable<String> createAble = (ProtectACLCreateModePathAndBytesable<String>) builder
                    .creatingParentsIfNeeded();
            createAble.withMode(CreateMode.PERSISTENT).forPath(path, bytes);
        } else {
            _curator.setData().forPath(path, bytes);
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
项目:heron    文件:CuratorStateManagerTest.java   
/**
 * test createNode method
 * @throws Exception
 */
@Test
public void testCreateNode() throws Exception {
  CuratorStateManager spyStateManager = spy(new CuratorStateManager());
  CuratorFramework mockClient = mock(CuratorFramework.class);
  CreateBuilder mockCreateBuilder = mock(CreateBuilder.class);
  // Mockito doesn't support mock type-parametrized class, thus suppress the warning
  @SuppressWarnings("rawtypes")
  ACLBackgroundPathAndBytesable mockPath = spy(ACLBackgroundPathAndBytesable.class);

  final byte[] data = new byte[10];

  doReturn(mockClient)
      .when(spyStateManager).getCuratorClient();
  doReturn(true)
      .when(mockClient).blockUntilConnected(anyInt(), any(TimeUnit.class));
  doReturn(mockCreateBuilder)
      .when(mockClient).create();
  doReturn(mockPath)
      .when(mockCreateBuilder).withMode(any(CreateMode.class));

  spyStateManager.initialize(config);

  // Verify the node is created successfully
  ListenableFuture<Boolean> result = spyStateManager.createNode(PATH, data, false);
  verify(mockCreateBuilder).withMode(any(CreateMode.class));
  verify(mockPath).forPath(PATH, data);
  assertTrue(result.get());
}
项目:jstorm    文件:ZkState.java   
public void writeBytes(String path, byte[] bytes) {
    try {
        if (_curator.checkExists().forPath(path) == null) {
            CreateBuilder builder = _curator.create();
            ProtectACLCreateModePathAndBytesable<String> createAble = (ProtectACLCreateModePathAndBytesable<String>) builder
                    .creatingParentsIfNeeded();
            createAble.withMode(CreateMode.PERSISTENT).forPath(path, bytes);
        } else {
            _curator.setData().forPath(path, bytes);
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
项目:vespa    文件:MockCurator.java   
@Override
public CreateBuilder create() {
    return new MockCreateBuilder();
}
项目:flink    文件:ZooKeeperLeaderElectionTest.java   
/**
 *  Test that errors in the {@link LeaderElectionService} are correctly forwarded to the
 *  {@link LeaderContender}.
 */
@Test
public void testExceptionForwarding() throws Exception {
    ZooKeeperLeaderElectionService leaderElectionService = null;
    ZooKeeperLeaderRetrievalService leaderRetrievalService = null;
    TestingListener listener = new TestingListener();
    TestingContender testingContender;

    CuratorFramework client;
    final CreateBuilder mockCreateBuilder = mock(CreateBuilder.class, Mockito.RETURNS_DEEP_STUBS);
    final Exception testException = new Exception("Test exception");

    try {
        client = spy(ZooKeeperUtils.startCuratorFramework(configuration));

        Answer<CreateBuilder> answer = new Answer<CreateBuilder>() {
            private int counter = 0;

            @Override
            public CreateBuilder answer(InvocationOnMock invocation) throws Throwable {
                counter++;

                // at first we have to create the leader latch, there it mustn't fail yet
                if (counter < 2) {
                    return (CreateBuilder) invocation.callRealMethod();
                } else {
                    return mockCreateBuilder;
                }
            }
        };

        doAnswer(answer).when(client).create();

        when(
            mockCreateBuilder
            .creatingParentsIfNeeded()
            .withMode(Matchers.any(CreateMode.class))
            .forPath(anyString(), any(byte[].class))).thenThrow(testException);

        leaderElectionService = new ZooKeeperLeaderElectionService(client, "/latch", "/leader");
        leaderRetrievalService = ZooKeeperUtils.createLeaderRetrievalService(client, configuration);

        testingContender = new TestingContender(TEST_URL, leaderElectionService);

        leaderElectionService.start(testingContender);
        leaderRetrievalService.start(listener);

        testingContender.waitForError(timeout.toMillis());

        assertNotNull(testingContender.getError());
        assertEquals(testException, testingContender.getError().getCause());
    } finally {
        if (leaderElectionService != null) {
            leaderElectionService.stop();
        }

        if (leaderRetrievalService != null) {
            leaderRetrievalService.stop();
        }
    }
}
项目:incubator-atlas    文件:SetupStepsTest.java   
private Pair<CreateBuilder, DeleteBuilder> setupSetupInProgressPathMocks(List<ACL> acls) throws Exception {
    return setupSetupInProgressPathMocks(acls, null);
}
项目:cultivar    文件:NamespacedCuratorFramework.java   
@Override
public CreateBuilder create() {
    return namespaceDelegate().create();
}