From 1032fdc0a1870f78940161ca289975ed10ab00fb Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Thu, 15 Mar 2007 20:48:25 +0000
Subject: [PATCH] Add new interfaces that can be used to notify Directory Server components when an import, export, backup, or restore task is about to begin or has ended.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestImportAndExport.java |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestImportAndExport.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestImportAndExport.java
index c3510d0..6ab0859 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestImportAndExport.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestImportAndExport.java
@@ -33,9 +33,13 @@
 import org.testng.annotations.DataProvider;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.TestCaseUtils;
+import org.opends.server.api.TestTaskListener;
 import org.opends.server.types.Entry;
+import org.opends.server.types.ObjectClass;
 import org.opends.server.backends.task.TaskState;
 
+import static org.testng.Assert.*;
+
 import java.io.File;
 import java.util.UUID;
 
@@ -110,6 +114,8 @@
 
     // Create a temporary rejects file.
     rejectFile = File.createTempFile("import-test-rejects", ".ldif");
+
+    TestTaskListener.registerListeners();
   }
 
   @AfterClass
@@ -117,6 +123,7 @@
   {
     ldifFile.delete();
     rejectFile.delete();
+    TestTaskListener.deregisterListeners();
   }
 
   /**
@@ -291,7 +298,35 @@
   public void testImportExport(Entry taskEntry, TaskState expectedState)
        throws Exception
   {
+    int exportBeginCount = TestTaskListener.exportBeginCount.get();
+    int exportEndCount   = TestTaskListener.exportEndCount.get();
+    int importBeginCount = TestTaskListener.importBeginCount.get();
+    int importEndCount   = TestTaskListener.importEndCount.get();
+
+    ObjectClass exportClass =
+         DirectoryServer.getObjectClass("ds-task-export", true);
+
     testTask(taskEntry, expectedState, 60);
-  }
+     if ((expectedState == TaskState.COMPLETED_SUCCESSFULLY) ||
+        (expectedState == TaskState.COMPLETED_WITH_ERRORS))
+    {
+      if (taskEntry.hasObjectClass(exportClass))
+      {
+        assertEquals(TestTaskListener.exportBeginCount.get(),
+                     (exportBeginCount+1));
+        assertEquals(TestTaskListener.exportEndCount.get(), (exportEndCount+1));
+        assertEquals(TestTaskListener.exportBeginCount.get(),
+                     TestTaskListener.exportEndCount.get());
+      }
+      else
+      {
+        assertEquals(TestTaskListener.importBeginCount.get(),
+                     (importBeginCount+1));
+        assertEquals(TestTaskListener.importEndCount.get(), (importEndCount+1));
+        assertEquals(TestTaskListener.importBeginCount.get(),
+                     TestTaskListener.importEndCount.get());
+      }
+    }
+ }
 
 }

--
Gitblit v1.10.0