@Test(timeout = 20000) public void testTimer_once() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_once", Calendar.SECOND, 2, true, false) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for it while (count.get() == 0) { ThreadTools.sleep(1000); } // Make sure only once ThreadTools.sleep(2000); Assert.assertEquals(1, count.get()); }
ThreadNameStateTool threadNameStateTool = ThreadTools.nameThread() // .appendText(" - txId:") //
@Test(timeout = 20000) public void testTimer_once() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_once", Calendar.SECOND, 2, true, false) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for it while (count.get() == 0) { ThreadTools.sleep(1000); } // Make sure only once ThreadTools.sleep(2000); Assert.assertEquals(1, count.get()); }
@Test(timeout = 20000) public void testTimer_recurrent_at_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_at_start", Calendar.SECOND, 2, false, true) // ); // At start ThreadTools.sleep(500); Assert.assertEquals(1, count.get()); // Wait for at least 4 while (count.get() < 4) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_at_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_at_start", Calendar.SECOND, 2, false, true) // ); // At start ThreadTools.sleep(500); Assert.assertEquals(1, count.get()); // Wait for at least 4 while (count.get() < 4) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_no_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_no_start", Calendar.SECOND, 2) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for at least 3 while (count.get() < 3) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_no_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_no_start", Calendar.SECOND, 2) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for at least 3 while (count.get() < 3) { ThreadTools.sleep(1000); } }
@Test public void testBrokenTimerEvent() { AtomicInteger okCounter = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext(new CrashingTimerEventHandler(), "Crashing", Calendar.MILLISECOND, 500, false, true)); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext( // (services, changes, event) -> okCounter.incrementAndGet(), // "OK", // Calendar.MILLISECOND, // 700, // false, // true)); ThreadTools.sleep(3000); Assert.assertTrue(okCounter.get() >= 2); }
@Test public void testBrokenTimerEvent() { AtomicInteger okCounter = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext(new CrashingTimerEventHandler(), "Crashing", Calendar.MILLISECOND, 500, false, true)); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext( // (services, changes, event) -> okCounter.incrementAndGet(), // "OK", // Calendar.MILLISECOND, // 700, // false, // true)); ThreadTools.sleep(3000); Assert.assertTrue(okCounter.get() >= 2); }
@Override public void challengeComplete(Dns01Challenge challenge) { AssertTools.assertNotNull(account, "You need to log in first"); // Trigger the challenge try { LOGGER.info("Triggering the challenge"); challenge.trigger(); } catch (AcmeException e) { LOGGER.error("Problem triggering the challenge", e); throw new LetsencryptException("Problem triggering the challenge: " + challenge.getError().getDetail(), e); } // Wait until completed while (challenge.getStatus() != Status.VALID) { if (challenge.getStatus() == Status.INVALID) { throw new LetsencryptException("The challenge failed: " + challenge.getError().getDetail()); } ThreadTools.sleep(5 * 1000); // 5 secs try { LOGGER.info("Updating the status"); challenge.update(); } catch (AcmeException e) { LOGGER.error("Problem updating the challenge status", e); throw new LetsencryptException("Problem updating the challenge status: " + challenge.getError().getDetail(), e); } LOGGER.info("Current status: {}", challenge.getStatus()); } }
throw new LetsencryptException("The order failed"); ThreadTools.sleep(10 * 1000); // 10 secs try { LOGGER.info("Updating the status");