From d710c5f04c40abee7b9d79284f79a2295a96c214 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jn.rouvignac@gmail.com>
Date: Mon, 31 Aug 2015 12:20:33 +0000
Subject: [PATCH] TasksTestCase.java: Extracted method waitTaskCompletedSuccessfully() from test classes.
---
opendj-server-legacy/src/test/java/org/opends/server/backends/task/TaskBackendTestCase.java | 31 ++-----
opendj-server-legacy/src/test/java/org/opends/server/tasks/DisconnectClientTaskTestCase.java | 37 ++------
opendj-server-legacy/src/test/java/org/opends/server/tasks/TasksTestCase.java | 15 ++-
opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java | 17 +---
opendj-server-legacy/src/test/java/org/opends/server/tasks/LockdownModeTaskTestCase.java | 21 +----
opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java | 69 ++++++-----------
opendj-server-legacy/src/test/java/org/opends/server/tasks/AllowedTaskTestCase.java | 10 --
7 files changed, 64 insertions(+), 136 deletions(-)
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java
index a8e49cd..22579ce 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java
@@ -39,8 +39,6 @@
import org.opends.server.TestCaseUtils;
import org.opends.server.api.Backend;
import org.opends.server.api.Backend.BackendOperation;
-import org.opends.server.backends.task.Task;
-import org.opends.server.backends.task.TaskState;
import org.opends.server.core.AddOperation;
import org.opends.server.core.CompareOperation;
import org.opends.server.core.DeleteOperation;
@@ -103,8 +101,8 @@
"config" + File.separator + "MakeLDIF";
LdifFileWriter.makeLdif(ldifFile.getPath(), resourcePath, templateFilePath);
- String taskDN = "ds-task-id=" + UUID.randomUUID() +
- ",cn=Scheduled Tasks,cn=Tasks";
+ DN taskDN = DN.valueOf("ds-task-id=" + UUID.randomUUID() +
+ ",cn=Scheduled Tasks,cn=Tasks");
TestCaseUtils.addEntry(
"dn: " + taskDN,
@@ -115,9 +113,7 @@
"ds-task-import-backend-id: ldifRoot",
"ds-task-import-ldif-file: " + ldifFile.getAbsolutePath());
- Task t = TasksTestCase.getCompletedTask(DN.valueOf(taskDN));
- assertNotNull(t);
- assertEquals(t.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ TasksTestCase.waitTaskCompletedSuccessfully(taskDN);
}
@@ -129,8 +125,7 @@
* @throws Exception If an unexpected problem occurs.
*/
@Test
- public void testAddAndDelete()
- throws Exception
+ public void testAddAndDelete() throws Exception
{
// Add a number of entries to the server.
int resultCode = TestCaseUtils.applyModifications(false,
@@ -700,9 +695,7 @@
"ds-task-export-backend-id: ldifRoot",
"ds-task-export-ldif-file: " + tempFilePath);
- Task t = TasksTestCase.getCompletedTask(DN.valueOf(taskDN));
- assertNotNull(t);
- assertEquals(t.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ TasksTestCase.waitTaskCompletedSuccessfully(DN.valueOf(taskDN));
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/backends/task/TaskBackendTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/backends/task/TaskBackendTestCase.java
index 9a353a0..3f06a85 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/backends/task/TaskBackendTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/backends/task/TaskBackendTestCase.java
@@ -47,9 +47,7 @@
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
-/**
- * A set of test cases that can be used to test the task backend.
- */
+/** A set of test cases that can be used to test the task backend. */
public class TaskBackendTestCase
extends BackendTestCase
{
@@ -186,11 +184,9 @@
* @throws Exception If an unexpected problem occurs.
*/
@Test
- public void testDeleteCompletedTask()
- throws Exception
+ public void testDeleteCompletedTask() throws Exception
{
- // Schedule a task to start immediately that will simply sleep for 30
- // seconds.
+ // Schedule a task to start immediately that will simply sleep for 30s
String taskID = "testDeleteCompltedTask";
String taskDN = "ds-task-id=" + taskID + ",cn=Scheduled Tasks,cn=tasks";
@@ -203,10 +199,8 @@
"ds-task-class-name: org.opends.server.tasks.DummyTask");
- // Wait until the task has completed.
- Task task = TasksTestCase.getCompletedTask(DN.valueOf(taskDN));
- assertTrue(TaskState.isDone(task.getTaskState()));
-
+ // Wait until the task is done.
+ TasksTestCase.getDoneTask(DN.valueOf(taskDN));
// Perform a modification to delete that task.
int resultCode = TestCaseUtils.applyModifications(true,
@@ -288,8 +282,7 @@
public void testModifyRunningTask()
throws Exception
{
- // Schedule a task to start immediately that will simply sleep for 5
- // minutes.
+ // Schedule a task to start immediately that will simply sleep for 5 minutes
String taskID = "testModifyRunningTask";
String taskDN = "ds-task-id=" + taskID + ",cn=Scheduled Tasks,cn=tasks";
@@ -337,9 +330,8 @@
// We may have to wait for the task to register as done, but it should
// definitely be done before it would have stopped normally.
- task = TasksTestCase.getCompletedTask(DN.valueOf(taskDN));
+ task = TasksTestCase.getDoneTask(DN.valueOf(taskDN));
assertTrue(System.currentTimeMillis() - startTime < 300000L);
- assertTrue(TaskState.isDone(task.getTaskState()));
// Perform a modification to delete that task unless
@@ -358,8 +350,7 @@
* @throws Exception If an unexpected problem occurs.
*/
@Test
- public void testModifyCompletedTask()
- throws Exception
+ public void testModifyCompletedTask() throws Exception
{
// Schedule a task to start and complete immediately.
String taskID = "testModifyCompltedTask";
@@ -373,10 +364,8 @@
"ds-task-id: " + taskID,
"ds-task-class-name: org.opends.server.tasks.DummyTask");
- // Wait until the task has completed.
- Task task = TasksTestCase.getCompletedTask(DN.valueOf(taskDN));
- assertTrue(TaskState.isDone(task.getTaskState()));
-
+ // Wait until the task is done
+ TasksTestCase.getDoneTask(DN.valueOf(taskDN));
// Perform a modification to update a non-state attribute.
int resultCode = TestCaseUtils.applyModifications(true,
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
index 63ad8a0..9c26801 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
@@ -26,30 +26,25 @@
*/
package org.opends.server.tasks;
-
-
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
+import java.io.IOException;
-import org.testng.annotations.Test;
-import org.testng.annotations.BeforeClass;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.opends.server.TestCaseUtils;
import org.opends.server.backends.SchemaTestMatchingRuleImpl;
-import org.opends.server.backends.task.Task;
-import org.opends.server.backends.task.TaskState;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.SchemaConfigManager;
import org.opends.server.schema.SchemaConstants;
import org.opends.server.types.DN;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import static org.testng.Assert.*;
-
-
/**
* Tests invocation of the import and export tasks, but does not aim to
* thoroughly test the underlying backend implementations.
@@ -63,8 +58,7 @@
* @throws Exception If an unexpected problem occurs.
*/
@BeforeClass
- public void startServer()
- throws Exception
+ public void startServer() throws Exception
{
TestCaseUtils.startServer();
}
@@ -130,13 +124,7 @@
};
File validFile = new File(schemaDirectory, "05-single-valid.ldif");
- BufferedWriter writer = new BufferedWriter(new FileWriter(validFile));
- for (String line : fileLines)
- {
- writer.write(line);
- writer.newLine();
- }
- writer.close();
+ writeLines(validFile, fileLines);
String taskDNStr =
"ds-task-id=add-single-valid-file,cn=Scheduled Tasks,cn=Tasks";
@@ -151,8 +139,7 @@
"ds-task-schema-file-name: 05-single-valid.ldif");
assertEquals(resultCode, 0);
- Task task = getCompletedTask(DN.valueOf(taskDNStr));
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(DN.valueOf(taskDNStr));
assertFalse(DirectoryServer.getSchema().getYoungestModificationTime() ==
beforeModifyTimestamp);
}
@@ -211,13 +198,7 @@
};
File validFile1 = new File(schemaDirectory, "05-multiple-valid-1.ldif");
- BufferedWriter writer1 = new BufferedWriter(new FileWriter(validFile1));
- for (String line : fileLines1)
- {
- writer1.write(line);
- writer1.newLine();
- }
- writer1.close();
+ writeLines(validFile1, fileLines1);
MatchingRule matchingRule2 =
@@ -250,13 +231,7 @@
};
File validFile2 = new File(schemaDirectory, "05-multiple-valid-2.ldif");
- BufferedWriter writer2 = new BufferedWriter(new FileWriter(validFile2));
- for (String line : fileLines2)
- {
- writer2.write(line);
- writer2.newLine();
- }
- writer2.close();
+ writeLines(validFile2, fileLines2);
String taskDNStr =
@@ -273,13 +248,22 @@
"ds-task-schema-file-name: 05-multiple-valid-2.ldif");
assertEquals(resultCode, 0);
- Task task = getCompletedTask(DN.valueOf(taskDNStr));
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(DN.valueOf(taskDNStr));
assertFalse(DirectoryServer.getSchema().getYoungestModificationTime() ==
beforeModifyTimestamp);
}
-
+ private void writeLines(File file, String[] lines) throws IOException
+ {
+ try (BufferedWriter writer = new BufferedWriter(new FileWriter(file)))
+ {
+ for (String line : lines)
+ {
+ writer.write(line);
+ writer.newLine();
+ }
+ }
+ }
/**
* Attempts to add a new file to the server schema in which the task entry
@@ -367,14 +351,11 @@
"ds-task-schema-file-name: 05-empty.ldif");
assertEquals(resultCode, 0);
- Task task = getCompletedTask(DN.valueOf(taskDNStr));
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(DN.valueOf(taskDNStr));
assertFalse(DirectoryServer.getSchema().getYoungestModificationTime() ==
beforeModifyTimestamp);
}
-
-
/**
* Attempts to add a new file to the server schema in which the file exists
* but does not contain a valid schema definition.
@@ -388,9 +369,10 @@
String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
File invalidFile = new File(schemaDirectory, "05-invalid.ldif");
- BufferedWriter writer = new BufferedWriter(new FileWriter(invalidFile));
- writer.write("invalid");
- writer.close();
+ try (BufferedWriter writer = new BufferedWriter(new FileWriter(invalidFile)))
+ {
+ writer.write("invalid");
+ }
String taskDNStr =
"ds-task-id=add-invalid-file,cn=Scheduled Tasks,cn=Tasks";
@@ -407,4 +389,3 @@
invalidFile.delete();
}
}
-
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AllowedTaskTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AllowedTaskTestCase.java
index a8ca8bb..4d4f9a7 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AllowedTaskTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AllowedTaskTestCase.java
@@ -26,22 +26,16 @@
*/
package org.opends.server.tasks;
-
-
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.opends.server.TestCaseUtils;
-import org.opends.server.backends.task.Task;
-import org.opends.server.backends.task.TaskState;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.tools.LDAPModify;
import org.opends.server.types.DN;
import static org.testng.Assert.*;
-
-
/**
* Tests the ability of the server to control the set of tasks that are allowed
* to be executed.
@@ -124,10 +118,8 @@
assertEquals(LDAPModify.mainModify(args, false, System.out, System.err),
LDAPResultCode.SUCCESS);
- Task task = getCompletedTask(DN.valueOf(
+ waitTaskCompletedSuccessfully(DN.valueOf(
"ds-task-id=testAllowedTask 2,cn=Scheduled Tasks,cn=Tasks"));
- assertNotNull(task);
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
// Remove the task class from the set of allowed tasks and verify that we
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/DisconnectClientTaskTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/DisconnectClientTaskTestCase.java
index 33ce461..5b6973e 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/DisconnectClientTaskTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/DisconnectClientTaskTestCase.java
@@ -26,32 +26,22 @@
*/
package org.opends.server.tasks;
-
-
import java.net.Socket;
-import org.testng.annotations.Test;
-import org.testng.annotations.BeforeClass;
-
-import org.opends.server.TestCaseUtils;
import org.forgerock.i18n.LocalizableMessage;
-import org.opends.server.backends.task.Task;
-import org.opends.server.backends.task.TaskState;
+import org.forgerock.opendj.ldap.ByteString;
+import org.opends.server.TestCaseUtils;
import org.opends.server.extensions.GetConnectionIDExtendedOperation;
import org.opends.server.protocols.ldap.*;
import org.opends.server.types.DN;
import org.opends.server.util.StaticUtils;
-import org.forgerock.opendj.ldap.ByteString;
-
-import static org.testng.Assert.*;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import static org.opends.server.util.ServerConstants.*;
+import static org.testng.Assert.*;
-
-
-/**
- * Tests the disconnect client task.
- */
+/** Tests the disconnect client task. */
public class DisconnectClientTaskTestCase
extends TasksTestCase
{
@@ -127,13 +117,10 @@
"ds-task-disconnect-notify-client: true",
"ds-task-disconnect-message: " + disconnectMessage);
- Task task = getCompletedTask(taskDN);
- assertNotNull(task);
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(taskDN);
- // Make sure that we get a notice of disconnection on the initial
- // connection.
+ // Make sure that we get a notice of disconnection on the initial connection.
message = r.readMessage();
extendedResponse = message.getExtendedResponseProtocolOp();
assertEquals(extendedResponse.getOID(),
@@ -201,16 +188,12 @@
"ds-task-disconnect-connection-id: " + connectionID,
"ds-task-disconnect-notify-client: false");
- Task task = getCompletedTask(taskDN);
- assertNotNull(task);
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(taskDN);
- // Make sure that the client connection has been closed with no notice of
- // disconnection.
+ // Make sure that the client connection has been closed with no notice of disconnection.
assertNull(r.readMessage());
StaticUtils.close(s);
}
}
-
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/LockdownModeTaskTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/LockdownModeTaskTestCase.java
index 319dc58..e27dab8 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/LockdownModeTaskTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/LockdownModeTaskTestCase.java
@@ -26,8 +26,6 @@
*/
package org.opends.server.tasks;
-
-
import java.net.InetAddress;
import org.testng.annotations.Test;
@@ -35,8 +33,6 @@
import org.testng.annotations.BeforeClass;
import org.opends.server.TestCaseUtils;
-import org.opends.server.backends.task.Task;
-import org.opends.server.backends.task.TaskState;
import org.opends.server.core.DirectoryServer;
import org.opends.server.tools.LDAPSearch;
import org.opends.server.tools.LDAPModify;
@@ -44,11 +40,7 @@
import static org.testng.Assert.*;
-
-
-/**
- * Tests the enter and leave lockdown mode tasks.
- */
+/** Tests the enter and leave lockdown mode tasks. */
public class LockdownModeTaskTestCase
extends TasksTestCase
{
@@ -58,8 +50,7 @@
* @throws Exception If an unexpected problem occurs.
*/
@BeforeClass
- public void startServer()
- throws Exception
+ public void startServer() throws Exception
{
TestCaseUtils.startServer();
}
@@ -179,9 +170,7 @@
"-f", taskFile
};
assertEquals(LDAPModify.mainModify(args, false, null, System.err), 0);
- Task task = getCompletedTask(taskDN);
- assertNotNull(task);
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(taskDN);
assertTrue(DirectoryServer.lockdownMode());
@@ -276,9 +265,7 @@
"-f", taskFile
};
assertEquals(LDAPModify.mainModify(args, false, null, System.err), 0);
- task = getCompletedTask(taskDN);
- assertNotNull(task);
- assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ waitTaskCompletedSuccessfully(taskDN);
assertFalse(DirectoryServer.lockdownMode());
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/TasksTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/TasksTestCase.java
index 0ac5418..6d1a72e 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/TasksTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/TasksTestCase.java
@@ -52,9 +52,7 @@
import static org.opends.server.protocols.internal.Requests.*;
import static org.testng.Assert.*;
-/**
- * A base class for all tasks test cases.
- */
+/** A base class for all tasks test cases. */
@Test(groups = { "precommit", "tasks" }, sequential = true)
public class TasksTestCase extends DirectoryServerTestCase {
@@ -144,8 +142,6 @@
});
}
-
-
/**
* Retrieves the specified task from the server, waiting for it to finish all
* the running its going to do before returning.
@@ -157,7 +153,7 @@
* @throws Exception If an unexpected problem occurs.
*/
@Test(enabled=false) // This isn't a test method, but TestNG thinks it is.
- public static Task getCompletedTask(final DN taskEntryDN) throws Exception
+ public static Task getDoneTask(final DN taskEntryDN) throws Exception
{
final Task task = getTask(taskEntryDN);
@@ -176,4 +172,11 @@
}
});
}
+
+ public static void waitTaskCompletedSuccessfully(DN taskDN) throws Exception
+ {
+ Task task = getDoneTask(taskDN);
+ assertNotNull(task);
+ assertEquals(task.getTaskState(), TaskState.COMPLETED_SUCCESSFULLY);
+ }
}
--
Gitblit v1.10.0