package org.jooby.internal.quartz; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.quartz.DisallowConcurrentExecution; import org.quartz.PersistJobDataAfterExecution; public class MethodJobDetailTest { public static class ConcurrentJob { public void doWork() { } } @DisallowConcurrentExecution @PersistJobDataAfterExecution public static class NotConcurrentJob { public void doWork() { } } @Test public void shouldTreatJobAsConcurrent() throws Exception { assertEquals(false, new MethodJobDetail(ConcurrentJob.class.getDeclaredMethod("doWork")) .isConcurrentExectionDisallowed()); } @Test public void shouldTreatJobAsNotPersistent() throws Exception { assertEquals(false, new MethodJobDetail(ConcurrentJob.class.getDeclaredMethod("doWork")) .isPersistJobDataAfterExecution()); } @Test public void shouldNOTTreatJobAsConcurrent() throws Exception { assertEquals(true, new MethodJobDetail(NotConcurrentJob.class.getDeclaredMethod("doWork")) .isConcurrentExectionDisallowed()); } @Test public void shouldTreatJobAsPersistent() throws Exception { assertEquals(true, new MethodJobDetail(NotConcurrentJob.class.getDeclaredMethod("doWork")) .isPersistJobDataAfterExecution()); } }