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/TestBackupAndRestore.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
index fdf02c0..581aa4f 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
@@ -30,11 +30,16 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
+import org.opends.server.api.TestTaskListener;
import org.opends.server.backends.task.TaskState;
+import org.opends.server.core.DirectoryServer;
import org.opends.server.types.*;
import org.opends.server.TestCaseUtils;
+import static org.testng.Assert.*;
+
import java.util.UUID;
import java.io.File;
@@ -46,6 +51,13 @@
@BeforeClass
public final void setUp() throws Exception {
TestCaseUtils.startServer();
+ TestTaskListener.registerListeners();
+ }
+
+
+ @AfterClass
+ public final void cleanUp() throws Exception {
+ TestTaskListener.deregisterListeners();
}
@@ -229,7 +241,37 @@
public void testBackups(Entry taskEntry, TaskState expectedState)
throws Exception
{
+ int backupBeginCount = TestTaskListener.backupBeginCount.get();
+ int backupEndCount = TestTaskListener.backupEndCount.get();
+ int restoreBeginCount = TestTaskListener.restoreBeginCount.get();
+ int restoreEndCount = TestTaskListener.restoreEndCount.get();
+
+ ObjectClass backupClass =
+ DirectoryServer.getObjectClass("ds-task-backup", true);
+
testTask(taskEntry, expectedState);
+ if ((expectedState == TaskState.COMPLETED_SUCCESSFULLY) ||
+ (expectedState == TaskState.COMPLETED_WITH_ERRORS))
+ {
+ if (taskEntry.hasObjectClass(backupClass))
+ {
+ // The backup task can back up multiple backends at the same time, so
+ // we the count may be incremented by more than one in those cases.
+ assertTrue(TestTaskListener.backupBeginCount.get() > backupBeginCount);
+ assertTrue(TestTaskListener.backupEndCount.get() > backupEndCount);
+ assertEquals(TestTaskListener.backupBeginCount.get(),
+ TestTaskListener.backupEndCount.get());
+ }
+ else
+ {
+ assertEquals(TestTaskListener.restoreBeginCount.get(),
+ (restoreBeginCount+1));
+ assertEquals(TestTaskListener.restoreEndCount.get(),
+ (restoreEndCount+1));
+ assertEquals(TestTaskListener.restoreBeginCount.get(),
+ TestTaskListener.restoreEndCount.get());
+ }
+ }
}
}
--
Gitblit v1.10.0