From 0ad01f70125260ad28915f99dd73a75c017a8eec Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 08 Jul 2026 16:14:25 +0000
Subject: [PATCH] Revive the quicksetup test suite (#694)
---
opendj-server-legacy/pom.xml | 2
opendj-server-legacy/src/test/java/org/opends/quicksetup/TestUtilities.java | 7 ++
opendj-server-legacy/src/test/java/org/opends/quicksetup/ConfigurationTest.java | 21 +++---
opendj-server-legacy/src/test/java/org/opends/quicksetup/util/FileManagerTest.java | 29 +++++----
opendj-server-legacy/src/test/java/org/opends/quicksetup/util/ServerControllerTest.java | 7 +-
opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java | 10 ++-
opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java | 77 +++++++++++++------------
7 files changed, 82 insertions(+), 71 deletions(-)
diff --git a/opendj-server-legacy/pom.xml b/opendj-server-legacy/pom.xml
index 53024af..1f24168 100644
--- a/opendj-server-legacy/pom.xml
+++ b/opendj-server-legacy/pom.xml
@@ -1262,8 +1262,6 @@
<forkedProcessExitTimeoutInSeconds>120</forkedProcessExitTimeoutInSeconds>
<excludes>
<exclude>org/opends/server/snmp/**</exclude>
- <exclude>org/opends/quicksetup/**</exclude>
- <exclude>org/opends/quicksetup/**</exclude>
</excludes>
<includes>
<include>**/Test*.java</include>
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
index d69e6c3..dbf983f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC
*/
package org.opends.quicksetup;
@@ -81,7 +82,6 @@
/** The relative path to the current Configuration LDIF file. */
private static final String CURRENT_CONFIG_FILE_NAME = "config.ldif";
/** The relative path to the current Configuration LDIF file. */
- private static final String BASE_CONFIG_FILE_PREFIX = "config.ldif.";
/** The relative path to the instance.loc file. */
public static final String INSTANCE_LOCATION_PATH_RELATIVE = "instance.loc";
/** The path to the instance.loc file. */
@@ -514,7 +514,9 @@
*/
public File getBaseConfigurationFile() throws ApplicationException
{
- return new File(getConfigurationUpgradeDirectory(), BASE_CONFIG_FILE_PREFIX + getInstanceVCSRevision());
+ // Modern packages no longer ship a config.ldif.<revision> snapshot in
+ // config/upgrade: the pristine configuration lives in template/config.
+ return new File(new File(getTemplateDirectory(), CONFIG_PATH_RELATIVE), CURRENT_CONFIG_FILE_NAME);
}
/**
@@ -772,7 +774,9 @@
*/
public File getOpenDSJarFile()
{
- return new File(getLibrariesDirectory(), "OpenDJ.jar");
+ // The assembly packages the server jar as lowercase "opendj.jar"; the
+ // mixed-case name only appeared to work on case-insensitive file systems.
+ return new File(getLibrariesDirectory(), "opendj.jar");
}
/**
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/ConfigurationTest.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/ConfigurationTest.java
index 602da64..1664082 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/ConfigurationTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/ConfigurationTest.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2008 Sun Microsystems, Inc.
* Portions Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC
*/
package org.opends.quicksetup;
@@ -26,7 +27,7 @@
* Configuration Tester.
*/
@SuppressWarnings("javadoc")
-@Test(groups = {"slow"})
+@Test(sequential=true)
public class ConfigurationTest extends QuickSetupTestCase {
private Configuration config;
@@ -36,51 +37,51 @@
config = TestUtilities.getInstallation().getCurrentConfiguration();
}
- @Test(enabled = false)
+ @Test
public void testGetDirectoryManagerDns() throws IOException {
Set<String> dns = config.getDirectoryManagerDns();
assertFalse(dns.isEmpty());
}
- @Test(enabled = false)
+ @Test
public void testGetPort() throws IOException {
assertEquals(TestUtilities.ldapPort, (Integer) config.getPort());
}
- @Test(enabled = false)
+ @Test
public void testGetLogPaths() throws IOException {
// TODO: something more useful
config.getLogPaths();
}
- @Test(enabled = false)
+ @Test
public void testHasBeenModified() throws IOException {
assertTrue(config.hasBeenModified());
}
- @Test(enabled = false)
+ @Test
public void testGetOutsideLogs() throws IOException {
// TODO: something more useful
config.getOutsideLogs();
}
- @Test(enabled = false)
+ @Test
public void testGetOutsideDbs() throws IOException {
// TODO: something more useful
config.getOutsideDbs();
}
- @Test(enabled = false)
+ @Test
public void testGetContents() throws IOException {
assertNotNull(config.getContents());
}
- @Test(enabled = false)
+ @Test
public void testGetDatabasePaths() throws IOException {
assertFalse(config.getDatabasePaths().isEmpty());
}
- @Test(enabled = false)
+ @Test
public void testLoad() {
//TODO: need way to verify reload
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
index 59b9500..6b78b63 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
@@ -13,6 +13,7 @@
*
* Copyright 2008 Sun Microsystems, Inc.
* Portions Copyright 2015 Forgerock AS
+ * Portions Copyright 2026 3A Systems, LLC
*/
package org.opends.quicksetup;
@@ -26,7 +27,7 @@
/**
* Installation Tester.
*/
-@Test(groups = {"slow"}, sequential=true)
+@Test(sequential=true)
public class InstallationTest extends QuickSetupTestCase {
Installation installation;
@@ -39,7 +40,7 @@
/**
* Tests to make sure installation is valid.
*/
- @Test(enabled = false)
+ @Test
public void testValidateRootDirectory() {
Installation.validateRootDirectory(TestUtilities.getQuickSetupTestServerRootDir());
}
@@ -47,7 +48,7 @@
/**
* Tests that installation root directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetRootDirectory() {
assertNotNull(installation.getRootDirectory());
}
@@ -55,7 +56,7 @@
/**
* Tests that the installation root directory can be set.
*/
- @Test(enabled = false)
+ @Test
public void testSetRootDirectory() {
File root = installation.getRootDirectory();
installation.setRootDirectory(root);
@@ -64,7 +65,7 @@
/**
* Tests that the installation root is valid.
*/
- @Test(enabled = false)
+ @Test
public void testIsValid() {
assertTrue(installation.isValid(installation.getRootDirectory()));
assertTrue(installation.isValid(installation.getInstanceDirectory()));
@@ -74,7 +75,7 @@
* Tests that an installation directory missing required directories
* is considered invalid.
*/
- @Test(enabled = false)
+ @Test
public void testIsValid2() {
assertTrue(installation.isValid(installation.getRootDirectory()));
assertTrue(installation.isValid(installation.getInstanceDirectory()));
@@ -95,7 +96,7 @@
/**
* Tests the configuration is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetCurrentConfiguration() {
assertNotNull(installation.getCurrentConfiguration());
}
@@ -103,7 +104,7 @@
/**
* Tests the base configuration is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetBaseConfiguration() throws ApplicationException {
assertNotNull(installation.getBaseConfiguration());
}
@@ -111,7 +112,7 @@
/**
* Tests the status is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetStatus() {
assertNotNull(installation.getStatus());
}
@@ -119,7 +120,7 @@
/**
* Tests the lib directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetLibrariesDirectory() {
assertExistentFile(installation.getLibrariesDirectory());
}
@@ -127,7 +128,7 @@
/**
* Tests the schema concat file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetSchemaConcatFile() {
assertNonexistentFile(installation.getSchemaConcatFile());
}
@@ -135,7 +136,7 @@
/**
* Tests the base schema file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetBaseSchemaFile() throws ApplicationException {
assertExistentFile(installation.getBaseSchemaFile());
}
@@ -143,7 +144,7 @@
/**
* Tests the base config file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetBaseConfigurationFile() throws ApplicationException {
assertExistentFile(installation.getBaseConfigurationFile());
}
@@ -151,7 +152,7 @@
/**
* Tests the SVN rev number is discernable.
*/
- @Test(enabled = false)
+ @Test
public void testGetSvnRev() throws ApplicationException {
assertNotNull(installation.getVCSRevision());
}
@@ -159,7 +160,7 @@
/**
* Tests the config file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetCurrentConfigurationFile() {
assertExistentFile(installation.getCurrentConfigurationFile());
}
@@ -167,7 +168,7 @@
/**
* Tests the bin/bat directory is available and platform appropriate.
*/
- @Test(enabled = false)
+ @Test
public void testGetBinariesDirectory() {
File binariesDir;
assertExistentFile(binariesDir = installation.getBinariesDirectory());
@@ -183,7 +184,7 @@
/**
* Tests the db directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetDatabasesDirectory() {
assertExistentFile(installation.getDatabasesDirectory());
}
@@ -191,7 +192,7 @@
/**
* Tests the backup directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetBackupDirectory() {
assertExistentFile(installation.getBackupDirectory());
}
@@ -199,7 +200,7 @@
/**
* Tests the config directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetConfigurationDirectory() {
assertExistentFile(installation.getConfigurationDirectory());
}
@@ -207,7 +208,7 @@
/**
* Tests the logs directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetLogsDirectory() {
assertExistentFile(installation.getLogsDirectory());
}
@@ -215,7 +216,7 @@
/**
* Tests the locks directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetLocksDirectory() {
assertExistentFile(installation.getLocksDirectory());
}
@@ -223,7 +224,7 @@
/**
* Tests the tmp directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetTemporaryDirectory() {
assertNonexistentFile(installation.getTemporaryDirectory());
}
@@ -231,7 +232,7 @@
/**
* Tests the history directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetHistoryDirectory() {
assertNonexistentFile(installation.getHistoryDirectory());
}
@@ -239,7 +240,7 @@
/**
* Tests a historical backup directory can be created.
*/
- @Test(enabled = false)
+ @Test
public void testCreateHistoryBackupDirectory() throws IOException {
assertExistentFile(installation.createHistoryBackupDirectory());
assertExistentFile(installation.getHistoryDirectory());
@@ -249,7 +250,7 @@
/**
* Tests the history log file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetHistoryLogFile() {
assertNonexistentFile(installation.getHistoryLogFile());
}
@@ -257,7 +258,7 @@
/**
* Tests the config upgrade directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetConfigurationUpgradeDirectory() {
assertExistentFile(installation.getConfigurationUpgradeDirectory());
}
@@ -265,7 +266,7 @@
/**
* Tests the tmp/upgrade directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetTemporaryUpgradeDirectory() {
assertNonexistentFile(installation.getTemporaryUpgradeDirectory());
}
@@ -273,7 +274,7 @@
/**
* Tests getting a command file works.
*/
- @Test(enabled = false)
+ @Test
public void testGetCommandFile() {
assertExistentFile(installation.getCommandFile(
Installation.UNIX_START_FILE_NAME));
@@ -282,7 +283,7 @@
/**
* Tests the start server command is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetServerStartCommandFile() {
assertExistentFile(installation.getServerStartCommandFile());
}
@@ -290,7 +291,7 @@
/**
* Tests the stop server command is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetServerStopCommandFile() {
assertExistentFile(installation.getServerStopCommandFile());
}
@@ -298,7 +299,7 @@
/**
* Tests the ldif directory is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetLdifDirectory() {
assertExistentFile(installation.getLdifDirectory());
}
@@ -306,7 +307,7 @@
/**
* Tests the quicksetup jar is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetQuicksetupJarFile() {
assertExistentFile(installation.getQuicksetupJarFile());
}
@@ -314,7 +315,7 @@
/**
* Tests the OpenDS jar is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetOpenDSJarFile() {
assertExistentFile(installation.getOpenDSJarFile());
}
@@ -322,7 +323,7 @@
/**
* Tests the uninstall file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetUninstallBatFile() {
assertExistentFile(installation.getUninstallBatFile());
}
@@ -330,7 +331,7 @@
/**
* Tests the status panel command file is available.
*/
- @Test(enabled = false)
+ @Test
public void testGetStatusPanelCommandFile() {
assertExistentFile(installation.getControlPanelCommandFile());
}
@@ -338,7 +339,7 @@
/**
* Tests the build information is discernable.
*/
- @Test(enabled = false)
+ @Test
public void testGetBuildInformation() throws ApplicationException {
assertNotNull(installation.getBuildInformation());
}
@@ -346,7 +347,7 @@
/**
* Tests the build information is discernable.
*/
- @Test(enabled = false)
+ @Test
public void testGetBuildInformation1() throws ApplicationException {
assertNotNull(installation.getBuildInformation(true));
assertNotNull(installation.getBuildInformation(false));
@@ -355,7 +356,7 @@
/**
* Test string representation is possible.
*/
- @Test(enabled = false)
+ @Test
public void testToString() {
assertNotNull(installation.toString());
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/TestUtilities.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/TestUtilities.java
index acd7903..71b7077 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/TestUtilities.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/TestUtilities.java
@@ -13,6 +13,7 @@
*
* Copyright 2009 Sun Microsystems, Inc.
* Portions Copyright 2013-2015 ForgeRock AS.
+ * Portions Copyright 2018-2026 3A Systems, LLC
*/
package org.opends.quicksetup;
@@ -81,6 +82,9 @@
args.add(Integer.toString(jmxPort));
args.add("-w");
args.add(DIRECTORY_MANAGER_PASSWORD);
+ // Create a backend so that configuration tests see database paths.
+ args.add("-b");
+ args.add("dc=example,dc=com");
args.add("-O");
ProcessBuilder pb = new ProcessBuilder(args);
@@ -116,7 +120,8 @@
String[] files = packageDir.list();
if (files != null) {
for (String fileName : files) {
- if (fileName.endsWith(".zip")) {
+ // Skip the slim package: tests exercise the full server layout.
+ if (fileName.endsWith(".zip") && !fileName.endsWith("-slim.zip")) {
installPackageFile = new File(packageDir, fileName);
break;
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/FileManagerTest.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/FileManagerTest.java
index 653d7ac..99e6d23 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/FileManagerTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/FileManagerTest.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2008 Sun Microsystems, Inc.
* Portions Copyright 2014-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC
*/
package org.opends.quicksetup.util;
@@ -42,7 +43,7 @@
* FileManager Tester.
*/
@SuppressWarnings("javadoc")
-@Test(groups = {"slow"}, sequential=true)
+@Test(sequential=true)
public class FileManagerTest extends QuickSetupTestCase {
private File fmWorkspace;
@@ -75,7 +76,7 @@
* Tests synchronized.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testSynchronize() throws Exception {
File s = new File(fmWorkspace, "s");
File t = new File(fmWorkspace, "t");
@@ -149,7 +150,7 @@
*
* @throws Exception If the test failed unexpectedly.
*/
- @Test(enabled = false)
+ @Test
public void testRenameFileExistentTarget() throws Exception {
File src = File.createTempFile("src", null);
File target = File.createTempFile("target", null);
@@ -189,7 +190,7 @@
* Tests basic move.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testMove() throws Exception {
File fromDir = new File(fmWorkspace, "from");
@@ -210,7 +211,7 @@
* Tests basic move with filtering.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testMove2() throws Exception {
File fromDir = new File(fmWorkspace, "from");
fromDir.mkdir();
@@ -237,7 +238,7 @@
* Tests basic delete.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testDelete() throws Exception {
File dir = new File(fmWorkspace, "dir");
dir.mkdir();
@@ -256,7 +257,7 @@
* Tests basic delete with filtering.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testDelete2() throws Exception {
// Create a filter that should reject the operation
@@ -284,7 +285,7 @@
* Test recursive delete.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testDeleteRecursively() throws Exception {
File dir = new File(fmWorkspace, "dir");
createSourceFiles(dir, "abc");
@@ -297,7 +298,7 @@
* Test recursive delete with filtering.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testDeleteRecursively1() throws Exception {
File dir = new File(fmWorkspace, "dir");
createSourceFiles(dir, "abc");
@@ -340,7 +341,7 @@
* Test basic copy.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testCopy() throws Exception {
File file = new File(fmWorkspace, "file");
writeContents(file, "abc");
@@ -369,7 +370,7 @@
* Make sure things fail if target is a file and not a directory.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testCopy2() throws Exception {
File file = new File(fmWorkspace, "file");
String NEW_CHILD_CONTENT = "new";
@@ -393,7 +394,7 @@
* Test copy recursively.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testCopyRecursively() throws Exception {
File source = new File(fmWorkspace, "source");
createSourceFiles(source, "abc");
@@ -411,7 +412,7 @@
* Tests copy recursively with filtering.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testCopyRecursively1() throws Exception {
// Test that a filter can stop a delete altogether
FileFilter rejectOpFilter = new FileFilter() {
@@ -459,7 +460,7 @@
* Tests copy recursively with filtering and overwrite.
* @throws Exception if something unexpected
*/
- @Test(enabled = false)
+ @Test
public void testCopyRecursively2() throws Exception {
File source = new File(fmWorkspace, "source");
String FILES_TO_COPY = "to copy";
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/ServerControllerTest.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/ServerControllerTest.java
index 3ec55f2..60ea777 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/ServerControllerTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/util/ServerControllerTest.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2008 Sun Microsystems, Inc.
* Portions Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC
*/
package org.opends.quicksetup.util;
@@ -30,7 +31,7 @@
* ServerController Tester.
*/
@SuppressWarnings("javadoc")
-@Test(groups = {"slow"})
+@Test(sequential=true)
public class ServerControllerTest extends QuickSetupTestCase {
private ServerController controller;
@@ -47,7 +48,7 @@
* Tests ability to stop the server.
* @throws ApplicationException
*/
- @Test(enabled = false)
+ @Test
public void testStopServer() throws ApplicationException {
if (!status.isServerRunning()) {
controller.startServer();
@@ -61,7 +62,7 @@
* Tests ability to start the server.
* @throws ApplicationException
*/
- @Test(enabled = false)
+ @Test
public void testStartServer() throws ApplicationException {
if (status.isServerRunning()) {
controller.stopServer();
--
Gitblit v1.10.0