From bbb17d25fbd11aa9829ab590f985be7a98c7cd11 Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Thu, 21 Sep 2006 16:21:15 +0000
Subject: [PATCH] Shorten the backup and restore runTask() methods and eliminate some of the repeated code for error handling.  Add unit tests for the restore task.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupTaskArguments.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
similarity index 71%
rename from opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupTaskArguments.java
rename to opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
index 7219074..0dba412 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupTaskArguments.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
@@ -36,11 +36,12 @@
 import org.opends.server.TestCaseUtils;
 
 import java.util.UUID;
+import java.io.File;
 
 /**
- * Tests various valid and invalid combinations of arguments to the backup task.
+ * Tests the backup and restore tasks.
  */
-public class TestBackupTaskArguments extends TasksTestCase
+public class TestBackupAndRestore extends TasksTestCase
 {
   @BeforeClass
   public final void setUp() throws Exception {
@@ -49,7 +50,7 @@
 
 
   /**
-   * Backup tasks test data provider.
+   * Backup and restore tasks test data provider.
    *
    * @return The array of tasks test data.  The first column is a task entry
    *  and the second column is the expected completed task state.
@@ -158,13 +159,69 @@
                    "ds-task-backup-backend-id: monitor"),
               TaskState.STOPPED_BY_ERROR
          },
+         {
+              // A valid restore task.
+              TestCaseUtils.makeEntry(
+                   "dn: ds-task-id=" + UUID.randomUUID() +
+                        ",cn=Scheduled Tasks,cn=Tasks",
+                   "objectclass: top",
+                   "objectclass: ds-task",
+                   "objectclass: ds-task-restore",
+                   "ds-task-class-name: org.opends.server.tasks.RestoreTask",
+                   "ds-backup-directory-path: bak" + File.separator +
+                        "userRoot"
+              ),
+              TaskState.COMPLETED_SUCCESSFULLY
+         },
+         {
+              // Non-existent restore directory-path.
+              TestCaseUtils.makeEntry(
+                   "dn: ds-task-id=" + UUID.randomUUID() +
+                        ",cn=Scheduled Tasks,cn=Tasks",
+                   "objectclass: top",
+                   "objectclass: ds-task",
+                   "objectclass: ds-task-restore",
+                   "ds-task-class-name: org.opends.server.tasks.RestoreTask",
+                   "ds-backup-directory-path: missing"
+              ),
+              TaskState.STOPPED_BY_ERROR
+         },
+         {
+              // Invalid restore directory-path.
+              TestCaseUtils.makeEntry(
+                   "dn: ds-task-id=" + UUID.randomUUID() +
+                        ",cn=Scheduled Tasks,cn=Tasks",
+                   "objectclass: top",
+                   "objectclass: ds-task",
+                   "objectclass: ds-task-restore",
+                   "ds-task-class-name: org.opends.server.tasks.RestoreTask",
+                   "ds-backup-directory-path: bak"
+              ),
+              TaskState.STOPPED_BY_ERROR
+         },
+         {
+              // Invalid restore backup-id.
+              TestCaseUtils.makeEntry(
+                   "dn: ds-task-id=" + UUID.randomUUID() +
+                        ",cn=Scheduled Tasks,cn=Tasks",
+                   "objectclass: top",
+                   "objectclass: ds-task",
+                   "objectclass: ds-task-restore",
+                   "ds-task-class-name: org.opends.server.tasks.RestoreTask",
+                   "ds-backup-directory-path: bak" + File.separator +
+                        "userRoot",
+                   "ds-backup-id: monday"
+              ),
+              TaskState.STOPPED_BY_ERROR
+         },
     };
   }
 
 
 
   /**
-   * Test that various backup task definitions complete with the expected state.
+   * Test that various backup and restore task definitions complete with the
+   * expected state.
    * @param taskEntry The task entry.
    * @param expectedState The expected completion state of the task.
    */

--
Gitblit v1.10.0