From a608d0372f24771ac4f40df9980b35140008cabd Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Thu, 23 Apr 2009 15:04:01 +0000
Subject: [PATCH] - fix regression introduced by the fix for issue 3773 in revision 5243. - fix task scheduler completed tasks cleanup. - fix task scheduler retention time calculation. - fix task scheduler to no longer throw alerts if recurring task is not found when scheduling next iteration and remove related alert messages. - fix recurring task unit test to be less prone to timing issues by scheduling test tasks way ahead.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
index 32452cc..27be97a 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
@@ -479,20 +479,25 @@
   @Test
   public void testRecurringTask() throws Exception
   {
-    String taskID = "testRecurringTask";
-    String taskDN =
-        "ds-recurring-task-id=" + taskID
-            + ",cn=Recurring Tasks,cn=tasks";
-    String taskSchedule = "00 * * * *";
-
     GregorianCalendar calendar = new GregorianCalendar();
     calendar.setFirstDayOfWeek(GregorianCalendar.SUNDAY);
     calendar.setLenient(false);
+    calendar.add(GregorianCalendar.MONTH, 1);
     calendar.add(GregorianCalendar.HOUR_OF_DAY, 1);
     calendar.set(GregorianCalendar.MINUTE, 0);
     calendar.set(GregorianCalendar.SECOND, 0);
 
     Date scheduledDate = calendar.getTime();
+    int scheduledMonth =
+      calendar.get(GregorianCalendar.MONTH) + 1;
+
+    String taskID = "testRecurringTask";
+    String taskDN =
+        "ds-recurring-task-id=" + taskID
+            + ",cn=Recurring Tasks,cn=tasks";
+    String taskSchedule = "00 * * " +
+      Integer.toString(scheduledMonth) + " *";
+
     String scheduledTaskID = taskID + " - " + scheduledDate.toString();
     String scheduledTaskDN =
         "ds-task-id=" + scheduledTaskID
@@ -519,8 +524,9 @@
     assertEquals(resultCode, 0);
     assertFalse(DirectoryServer.entryExists(DN.decode(taskDN)));
 
-    // Make sure scheduled task iteration got canceled and removed.
-    assertFalse(DirectoryServer.entryExists(DN.decode(scheduledTaskDN)));
+    // Make sure recurring task iteration got canceled.
+    scheduledTask = TasksTestCase.getTask(DN.decode(scheduledTaskDN));
+    assertTrue(TaskState.isCancelled(scheduledTask.getTaskState()));
   }
 
 

--
Gitblit v1.10.0