@Test
 public void assertDeregisterNotExisted() {
   when(configService.load("transient_test_job"))
       .thenReturn(Optional.<CloudJobConfiguration>absent());
   producerManager.deregister("transient_test_job");
   verify(configService, times(0)).remove("transient_test_job");
 }
 @Test
 public void assertRegisterTransientJob() {
   when(configService.load("transient_test_job"))
       .thenReturn(Optional.<CloudJobConfiguration>absent());
   producerManager.register(transientJobConfig);
   verify(configService).add(transientJobConfig);
   verify(transientProducerScheduler).register(transientJobConfig);
 }
 @Test
 public void assertStartup() {
   when(configService.loadAll()).thenReturn(Arrays.asList(transientJobConfig, daemonJobConfig));
   producerManager.startup();
   verify(configService).loadAll();
   verify(transientProducerScheduler).register(transientJobConfig);
   verify(readyService).addDaemon("daemon_test_job");
 }
 @Test
 public void assertRegisterDaemonJob() {
   when(configService.load("daemon_test_job"))
       .thenReturn(Optional.<CloudJobConfiguration>absent());
   producerManager.register(daemonJobConfig);
   verify(configService).add(daemonJobConfig);
   verify(readyService).addDaemon("daemon_test_job");
 }
 @Test
 public void assertDeregisterExisted() {
   when(configService.load("transient_test_job")).thenReturn(Optional.of(transientJobConfig));
   when(runningService.getRunningTasks("transient_test_job"))
       .thenReturn(
           Arrays.asList(
               TaskContext.from("transient_test_job@-@0@-@READY@-@SLAVE-S0@-@UUID"),
               TaskContext.from("transient_test_job@-@1@-@READY@-@SLAVE-S0@-@UUID")));
   producerManager.deregister("transient_test_job");
   verify(configService).remove("transient_test_job");
   verify(lifecycleService).killJob("transient_test_job");
   verify(runningService).remove("transient_test_job");
   verify(readyService).remove(Lists.newArrayList("transient_test_job"));
 }
 @Test(expected = JobConfigurationException.class)
 public void assertRegisterExisted() {
   when(configService.load("transient_test_job")).thenReturn(Optional.of(transientJobConfig));
   producerManager.register(transientJobConfig);
 }
 @Test
 public void assertShutdown() {
   producerManager.shutdown();
   verify(transientProducerScheduler).shutdown();
 }
 @Test(expected = JobConfigurationException.class)
 public void assertUpdateNotExisted() {
   when(configService.load("transient_test_job"))
       .thenReturn(Optional.<CloudJobConfiguration>absent());
   producerManager.update(transientJobConfig);
 }