From 738bf70d921471e9fce48fe37fcc15d951081253 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 19 Jul 2007 08:55:15 +0000
Subject: [PATCH] Add support for deregistering relations from managed object definitions and use it in unit tests for better cleanup after tests have completed (previously admin framework unit tests were leaving mock relations registered with the root configuration).
---
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java | 68 +++++++++++++++++++++++++++++----
1 files changed, 59 insertions(+), 9 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java
index b4226f9..61587d0 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java
@@ -37,30 +37,23 @@
*/
public final class TestCfg {
- // Prevent instantiation.
- private TestCfg() {
- // No implementation required.
- }
-
/**
* A one-to-many relation between the root and test-parent
* components.
*/
- public static final InstantiableRelationDefinition<TestParentCfgClient, TestParentCfg> RD_TEST_ONE_TO_MANY_PARENT;
+ private static final InstantiableRelationDefinition<TestParentCfgClient, TestParentCfg> RD_TEST_ONE_TO_MANY_PARENT;
/**
* A one-to-zero-or-one relation between the root and a test-parent
* component.
*/
- public static final OptionalRelationDefinition<TestParentCfgClient, TestParentCfg> RD_TEST_ONE_TO_ZERO_OR_ONE_PARENT;
+ private static final OptionalRelationDefinition<TestParentCfgClient, TestParentCfg> RD_TEST_ONE_TO_ZERO_OR_ONE_PARENT;
// Create a one-to-many relation for test-parent components.
static {
RD_TEST_ONE_TO_MANY_PARENT = new InstantiableRelationDefinition<TestParentCfgClient, TestParentCfg>(
RootCfgDefn.getInstance(), "test-one-to-many-parent",
"test-one-to-many-parents", TestParentCfgDefn.getInstance());
- RootCfgDefn.getInstance().registerRelationDefinition(
- RD_TEST_ONE_TO_MANY_PARENT);
}
// Create a one-to-many relation for test-parent components.
@@ -68,8 +61,65 @@
RD_TEST_ONE_TO_ZERO_OR_ONE_PARENT = new OptionalRelationDefinition<TestParentCfgClient, TestParentCfg>(
RootCfgDefn.getInstance(), "test-one-to-zero-or-one-parent",
TestParentCfgDefn.getInstance());
+
+ }
+
+
+
+ /**
+ * Deregisters the test configurations from the administration
+ * framework.
+ */
+ public static void cleanup() {
+ RootCfgDefn.getInstance().deregisterRelationDefinition(
+ RD_TEST_ONE_TO_MANY_PARENT);
+ RootCfgDefn.getInstance().deregisterRelationDefinition(
+ RD_TEST_ONE_TO_MANY_PARENT);
+ }
+
+
+
+ /**
+ * Gets the one-to-many relation between the root and test-parent
+ * components.
+ * <p>
+ * Unit tests which call this method <b>must</b> call
+ * {@link #cleanup()} on completion.
+ *
+ * @return Returns the one-to-many relation between the root and
+ * test-parent components.
+ */
+ public static InstantiableRelationDefinition<TestParentCfgClient, TestParentCfg> getTestOneToManyParentRelationDefinition() {
+ // Ensure that the relation is registered.
+ RootCfgDefn.getInstance().registerRelationDefinition(
+ RD_TEST_ONE_TO_MANY_PARENT);
+ return RD_TEST_ONE_TO_MANY_PARENT;
+ }
+
+
+
+ /**
+ * Gets the one-to-zero-or-one relation between the root and a
+ * test-parent component.
+ * <p>
+ * Unit tests which call this method <b>must</b> call
+ * {@link #cleanup()} on completion.
+ *
+ * @return Returns the one-to-zero-or-one relation between the root
+ * and a test-parent component.
+ */
+ public static OptionalRelationDefinition<TestParentCfgClient, TestParentCfg> getTestOneToZeroOrOneParentRelationDefinition() {
+ // Ensure that the relation is registered.
RootCfgDefn.getInstance().registerRelationDefinition(
RD_TEST_ONE_TO_ZERO_OR_ONE_PARENT);
+ return RD_TEST_ONE_TO_ZERO_OR_ONE_PARENT;
+ }
+
+
+
+ // Prevent instantiation.
+ private TestCfg() {
+ // No implementation required.
}
}
--
Gitblit v1.10.0