From 9e9b942291d9cc024bc693118838d9d4c73cf4db Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 09 Oct 2014 11:33:51 +0000
Subject: [PATCH] Chasing random test.
---
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java | 142 +++++++++++++++++------------------------------
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TasksTestCase.java | 15 ++--
2 files changed, 60 insertions(+), 97 deletions(-)
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TasksTestCase.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TasksTestCase.java
index ea21c42..35b1775 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TasksTestCase.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TasksTestCase.java
@@ -28,7 +28,6 @@
import java.util.Set;
-import org.assertj.core.api.SoftAssertions;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.DirectoryServerTestCase;
@@ -92,7 +91,8 @@
}
while (completionTime == null && timedOut);
- assertNotNull(completionTime, "The task had not completed after " + timeout + " seconds.");
+ assertNotNull(completionTime, "The task had not completed after " + timeout + " seconds.\n"
+ + "resultEntry=[" + resultEntry + "]");
// Check that the task state is as expected.
String stateString = parseAttribute(resultEntry, ATTR_TASK_STATE).asString();
@@ -102,11 +102,12 @@
// Check that the task contains some log messages.
Set<String> logMessages = parseAttribute(resultEntry, ATTR_TASK_LOG_MESSAGES).asSetOfString();
- final String msg = "No log messages were written to the task entry on a failed task";
- SoftAssertions softly = new SoftAssertions();
- softly.assertThat(taskState).as(msg).isNotEqualTo(TaskState.COMPLETED_SUCCESSFULLY);
- softly.assertThat(logMessages).as(msg).isNotEmpty();
- softly.assertAll();
+ if (taskState != TaskState.COMPLETED_SUCCESSFULLY && logMessages.size() == 0)
+ {
+ fail("No log messages were written to the task entry on a failed task.\n"
+ + "taskState=" + taskState
+ + "logMessages size=" + logMessages.size() + " and content=[" + logMessages + "]");
+ }
}
private AttributeParser parseAttribute(Entry resultEntry, String attrName)
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
index bd534c7..bc67726 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
@@ -27,6 +27,8 @@
package org.opends.server.tasks;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.UUID;
import org.opends.server.TestCaseUtils;
@@ -72,149 +74,109 @@
return new Object[][] {
{
// A valid backup task.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
- "ds-task-backup-all: TRUE"
- ),
+ TestCaseUtils.makeEntry(backupTask(
+ "ds-task-backup-all: TRUE")),
TaskState.COMPLETED_SUCCESSFULLY
},
{
// Incompatible settings of backup-directory-path and
// incremental-base-id.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
- "ds-task-backup-incremental: TRUE",
- "ds-task-backup-incremental-base-id: monday",
- "ds-task-backup-all: TRUE"),
+ TestCaseUtils.makeEntry(backupTask(
+ "ds-task-backup-all: TRUE",
+ "ds-task-backup-incremental: TRUE",
+ "ds-task-backup-incremental-base-id: monday")),
TaskState.STOPPED_BY_ERROR
},
{
// Incompatible settings for backend-id and backup-all.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
- "ds-task-backup-backend-id: example",
- "ds-task-backup-all: TRUE"),
+ TestCaseUtils.makeEntry(backupTask(
+ "ds-task-backup-all: TRUE",
+ "ds-task-backup-backend-id: example")),
TaskState.STOPPED_BY_ERROR
},
{
// Neither of backend-id or backup-all specified.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak"),
+ TestCaseUtils.makeEntry(backupTask()),
TaskState.STOPPED_BY_ERROR
},
{
// Incompatible settings for incremental and incremental-base-id.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
+ TestCaseUtils.makeEntry(backupTask(
"ds-task-backup-all: TRUE",
- "ds-task-backup-incremental-base-id: monday",
- "ds-task-backup-incremental: FALSE"),
+ "ds-task-backup-incremental: FALSE",
+ "ds-task-backup-incremental-base-id: monday")),
TaskState.STOPPED_BY_ERROR
},
{
// Incompatible settings for hash and sign-hash.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
+ TestCaseUtils.makeEntry(backupTask(
"ds-task-backup-all: TRUE",
"ds-task-backup-hash: FALSE",
- "ds-task-backup-sign-hash: TRUE"
- ),
+ "ds-task-backup-sign-hash: TRUE")),
TaskState.STOPPED_BY_ERROR
},
{
// Specified backend does not support backup.
- TestCaseUtils.makeEntry(
- "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
- "objectclass: top",
- "objectclass: ds-task",
- "objectclass: ds-task-backup",
- "ds-task-class-name: org.opends.server.tasks.BackupTask",
- "ds-backup-directory-path: bak",
- "ds-task-backup-backend-id: monitor"),
+ TestCaseUtils.makeEntry(backupTask(
+ "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"
- ),
+ TestCaseUtils.makeEntry(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",
+ TestCaseUtils.makeEntry(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",
+ TestCaseUtils.makeEntry(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",
+ TestCaseUtils.makeEntry(restoreTask(
"ds-backup-directory-path: bak" + File.separator + "userRoot",
"ds-backup-id: monday"
- ),
+ )),
TaskState.STOPPED_BY_ERROR
},
};
}
+ private String[] backupTask(String... additionalLdif)
+ {
+ final ArrayList<String> l = new ArrayList<String>(Arrays.asList(
+ "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
+ "objectclass: top",
+ "objectclass: ds-task",
+ "objectclass: ds-task-backup",
+ "ds-task-class-name: org.opends.server.tasks.BackupTask",
+ "ds-backup-directory-path: bak"));
+ l.addAll(Arrays.asList(additionalLdif));
+ return l.toArray(new String[0]);
+ }
+
+ private String[] restoreTask(String... additionalLdif)
+ {
+ final ArrayList<String> l = new ArrayList<String>(Arrays.asList(
+ "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"));
+ l.addAll(Arrays.asList(additionalLdif));
+ return l.toArray(new String[0]);
+ }
+
/**
* Test that various backup and restore task definitions complete with the
* expected state.
--
Gitblit v1.10.0