@Test
 public void assertGetRegistryCenterTime() {
   when(coordinatorRegistryCenter.getRegistryCenterTime("/testJob/systemTime/current"))
       .thenReturn(0L);
   assertThat(jobNodeStorage.getRegistryCenterTime(), is(0L));
   verify(coordinatorRegistryCenter).getRegistryCenterTime("/testJob/systemTime/current");
 }
 @Test
 public void assertFillJobNodeIfNull() {
   when(coordinatorRegistryCenter.isExisted("/testJob/config/cron")).thenReturn(false);
   jobNodeStorage.fillJobNodeIfNullOrOverwrite("config/cron", "0/2 * * * * ?");
   verify(coordinatorRegistryCenter).isExisted("/testJob/config/cron");
   verify(coordinatorRegistryCenter).persist("/testJob/config/cron", "0/2 * * * * ?");
 }
  @Test(expected = RuntimeException.class)
  public void assertExecuteInTransactionFailure() throws Exception {
    CuratorFramework client = mock(CuratorFramework.class);
    CuratorTransaction curatorTransaction = mock(CuratorTransaction.class);
    TransactionCheckBuilder transactionCheckBuilder = mock(TransactionCheckBuilder.class);
    CuratorTransactionBridge curatorTransactionBridge = mock(CuratorTransactionBridge.class);
    CuratorTransactionFinal curatorTransactionFinal = mock(CuratorTransactionFinal.class);
    when(coordinatorRegistryCenter.getRawClient()).thenReturn(client);
    when(client.inTransaction()).thenReturn(curatorTransaction);
    when(curatorTransaction.check()).thenReturn(transactionCheckBuilder);
    when(transactionCheckBuilder.forPath("/")).thenReturn(curatorTransactionBridge);
    when(curatorTransactionBridge.and()).thenReturn(curatorTransactionFinal);
    TransactionCreateBuilder transactionCreateBuilder = mock(TransactionCreateBuilder.class);
    when(curatorTransactionFinal.create()).thenReturn(transactionCreateBuilder);
    when(transactionCreateBuilder.forPath("/test_transaction"))
        .thenReturn(curatorTransactionBridge);
    when(curatorTransactionBridge.and()).thenThrow(new RuntimeException());
    jobNodeStorage.executeInTransaction(
        new TransactionExecutionCallback() {

          @Override
          public void execute(final CuratorTransactionFinal curatorTransactionFinal)
              throws Exception {
            curatorTransactionFinal.create().forPath("/test_transaction").and();
          }
        });
    verify(coordinatorRegistryCenter).getRawClient();
    verify(client).inTransaction();
    verify(curatorTransaction).check();
    verify(transactionCheckBuilder).forPath("/");
    verify(curatorTransactionBridge, times(2)).and();
    verify(curatorTransactionFinal).create();
    verify(transactionCreateBuilder).forPath("/test_transaction");
    verify(curatorTransactionFinal, times(0)).commit();
  }
 @Test
 public void assertFillJobNodeIfNotNullAndOverwriteDisabled() {
   when(coordinatorRegistryCenter.isExisted("/testJob/config/cron")).thenReturn(true);
   jobNodeStorage.fillJobNodeIfNullOrOverwrite("config/cron", "0/1 * * * * ?");
   verify(coordinatorRegistryCenter).isExisted("/testJob/config/cron");
   verify(coordinatorRegistryCenter, times(0)).persist("/testJob/config/cron", "0/1 * * * * ?");
 }
 @Test
 public void assertRemoveJobNodeIfNotNeeded() {
   when(coordinatorRegistryCenter.isExisted("/testJob/config")).thenReturn(false);
   jobNodeStorage.removeJobNodeIfExisted("config");
   verify(coordinatorRegistryCenter).isExisted("/testJob/config");
   verify(coordinatorRegistryCenter, times(0)).remove("/testJob/config");
 }
 @Test
 public void assertGetJobNodeChildrenKeys() {
   when(coordinatorRegistryCenter.getChildrenKeys("/testJob/servers"))
       .thenReturn(Arrays.asList("host0", "host1"));
   assertThat(
       jobNodeStorage.getJobNodeChildrenKeys("servers"), is(Arrays.asList("host0", "host1")));
   verify(coordinatorRegistryCenter).getChildrenKeys("/testJob/servers");
 }
 @Test
 public void assertCreateJobNodeIfNotNeeded() {
   when(coordinatorRegistryCenter.isExisted("/testJob")).thenReturn(true);
   when(coordinatorRegistryCenter.isExisted("/testJob/config")).thenReturn(true);
   jobNodeStorage.createJobNodeIfNeeded("config");
   verify(coordinatorRegistryCenter).isExisted("/testJob");
   verify(coordinatorRegistryCenter).isExisted("/testJob/config");
   verify(coordinatorRegistryCenter, times(0)).persist("/testJob/config", "");
 }
 @Test
 public void assertAddDataListener() {
   TreeCache treeCache = mock(TreeCache.class);
   @SuppressWarnings("unchecked")
   Listenable<TreeCacheListener> listeners = mock(Listenable.class);
   TreeCacheListener listener = mock(TreeCacheListener.class);
   when(treeCache.getListenable()).thenReturn(listeners);
   when(coordinatorRegistryCenter.getRawCache("/testJob")).thenReturn(treeCache);
   jobNodeStorage.addDataListener(listener);
   verify(listeners).addListener(listener);
 }
 @Test
 public void assertAddConnectionStateListener() {
   CuratorFramework client = mock(CuratorFramework.class);
   @SuppressWarnings("unchecked")
   Listenable<ConnectionStateListener> listeners = mock(Listenable.class);
   ConnectionStateListener listener = mock(ConnectionStateListener.class);
   when(client.getConnectionStateListenable()).thenReturn(listeners);
   when(coordinatorRegistryCenter.getRawClient()).thenReturn(client);
   jobNodeStorage.addConnectionStateListener(listener);
   verify(listeners).addListener(listener);
 }
Пример #10
0
 @Test
 public void assertFillJobNodeIfNotNullAndOverwriteEnabledAndValueDifferent()
     throws NoSuchFieldException {
   when(coordinatorRegistryCenter.isExisted("/testJob/config/cron")).thenReturn(true);
   when(coordinatorRegistryCenter.getDirectly("/testJob/config/cron")).thenReturn("0/1 * * * * ?");
   JobConfigurationFieldUtil.setSuperFieldValue(jobConfig, "overwrite", true);
   jobNodeStorage.fillJobNodeIfNullOrOverwrite("config/cron", "0/2 * * * * ?");
   verify(coordinatorRegistryCenter).isExisted("/testJob/config/cron");
   verify(coordinatorRegistryCenter).getDirectly("/testJob/config/cron");
   verify(coordinatorRegistryCenter).persist("/testJob/config/cron", "0/2 * * * * ?");
 }
Пример #11
0
 @Test
 public void assertGetJobNodeDataDirectly() {
   when(coordinatorRegistryCenter.getDirectly("/testJob/config/cron")).thenReturn("0/1 * * * * ?");
   assertThat(jobNodeStorage.getJobNodeDataDirectly("config/cron"), is("0/1 * * * * ?"));
   verify(coordinatorRegistryCenter).getDirectly("/testJob/config/cron");
 }
Пример #12
0
 @Test
 public void assertIsJobNodeExisted() {
   when(coordinatorRegistryCenter.isExisted("/testJob/config")).thenReturn(true);
   assertTrue(jobNodeStorage.isJobNodeExisted("config"));
   verify(coordinatorRegistryCenter).isExisted("/testJob/config");
 }
Пример #13
0
 @Test
 public void assertGetJobConfiguration() {
   assertThat(jobNodeStorage.getJobConfiguration(), is((JobConfiguration) jobConfig));
 }
Пример #14
0
 @Test
 public void assertReplaceJobNode() {
   jobNodeStorage.replaceJobNode("config/cron", "0/1 * * * * ?");
   verify(coordinatorRegistryCenter).persist("/testJob/config/cron", "0/1 * * * * ?");
 }
Пример #15
0
 @Test
 public void assertUpdateJobNode() {
   jobNodeStorage.updateJobNode("config/cron", "0/1 * * * * ?");
   verify(coordinatorRegistryCenter).update("/testJob/config/cron", "0/1 * * * * ?");
 }
Пример #16
0
 @Test
 public void assertFillEphemeralJobNode() {
   jobNodeStorage.fillEphemeralJobNode("config/cron", "0/1 * * * * ?");
   verify(coordinatorRegistryCenter).persistEphemeral("/testJob/config/cron", "0/1 * * * * ?");
 }