From ccb861842382592ce4824dab64883810cded57bc Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 21 Sep 2016 15:15:44 +0000
Subject: [PATCH] OPENDJ-2413 Use EmbeddedDirectoryServer class in TestCaseUtils for starting the server
---
opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java | 564 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 301 insertions(+), 263 deletions(-)
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java b/opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java
index f3868fb..856309c 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java
@@ -17,11 +17,19 @@
*/
package org.opends.server;
+import static org.opends.server.util.embedded.ConfigParameters.Builder.configParams;
+import static org.opends.server.loggers.TextAccessLogPublisher.getStartupTextAccessPublisher;
+import static org.opends.server.loggers.TextErrorLogPublisher.getToolStartupTextErrorPublisher;
+import static org.opends.server.loggers.TextHTTPAccessLogPublisher.getStartupTextHTTPAccessPublisher;
+import static org.opends.server.util.ServerConstants.PROPERTY_RUNNING_UNIT_TESTS;
+import static org.testng.Assert.assertTrue;
+
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
@@ -57,7 +65,6 @@
import java.util.logging.Logger;
import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.opendj.config.ConfigurationFramework;
import org.forgerock.opendj.config.dsconfig.DSConfig;
import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.io.ASN1;
@@ -90,7 +97,6 @@
import org.opends.server.protocols.ldap.LDAPReader;
import org.opends.server.tools.LDAPModify;
import org.opends.server.types.Attribute;
-import org.opends.server.types.DirectoryEnvironmentConfig;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.FilePermission;
@@ -100,15 +106,14 @@
import org.opends.server.util.BuildVersion;
import org.opends.server.util.EmbeddedUtils;
import org.opends.server.util.LDIFReader;
+import org.opends.server.util.embedded.EmbeddedDirectoryServer;
import org.testng.Assert;
import com.forgerock.opendj.util.OperatingSystem;
import static org.mockito.Mockito.*;
-import static org.opends.server.loggers.TextAccessLogPublisher.*;
-import static org.opends.server.loggers.TextErrorLogPublisher.*;
-import static org.opends.server.loggers.TextHTTPAccessLogPublisher.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
+import static org.opends.server.util.embedded.ConnectionParameters.Builder.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import static org.testng.Assert.*;
@@ -210,20 +215,20 @@
*/
private static Schema schemaBeforeStartingFakeServer;
- /** The LDAP port the server is bound to on start. */
- private static int serverLdapPort;
- /** The Administration port the server is bound to on start. */
- private static int serverAdminPort;
- /** The JMX port the server is bound to on start. */
- private static int serverJmxPort;
- /** The LDAPS port the server is bound to on start. */
- private static int serverLdapsPort;
-
/** Incremented by one each time the server has restarted. */
private static int serverRestarts;
- /** The config directory in the test environment. */
- private static File testConfigDir;
+ /** The paths to directories and files used in the tests. */
+ private static TestPaths paths;
+
+ /** The ports used in the tests. */
+ private static TestPorts ports;
+
+ /** The embedded server used in the tests. */
+ private static EmbeddedDirectoryServer server;
+
+ /** The host name of the server used in the tests. */
+ private static String hostname;
/**
* Setup in-memory versions of everything needed to run unit tests with the
@@ -241,14 +246,59 @@
DirectoryServer.getInstance().getServerContext().getSchemaHandler().updateSchema(Schema.getDefaultSchema());
}
- /**
- * Starts the Directory Server so that it will be available for use while
- * running the unit tests. This will only actually start the server once, so
- * subsequent attempts to start it will be ignored because it will already be
- * available.
- *
- * @throws Exception If an unexpected problem occurs.
- */
+ static class TestPaths
+ {
+ final String buildRoot;
+ final File buildDir;
+ final File unitRoot;
+ final String installedRoot;
+ final File testInstallRoot;
+ final File testInstanceRoot;
+ final File testConfigDir;
+ final File configFile;
+ final File testSrcRoot;
+
+ TestPaths()
+ {
+ installedRoot = System.getProperty(PROPERTY_INSTALLED_ROOT);
+ buildRoot = System.getProperty(PROPERTY_BUILD_ROOT);
+ String buildDirStr = System.getProperty(PROPERTY_BUILD_DIR, buildRoot + File.separator + "target");
+ buildDir = new File(buildDirStr);
+ unitRoot = new File(buildDir, "unit-tests");
+ if (installedRoot == null) {
+ testInstallRoot = new File(unitRoot, "package-install");
+ testInstanceRoot = new File(unitRoot, "package-instance");
+ } else {
+ testInstallRoot = new File(unitRoot, "package");
+ testInstanceRoot = testInstallRoot;
+ }
+ testConfigDir = new File(testInstanceRoot, "config");
+ configFile = new File(testConfigDir, "config.ldif");
+ testSrcRoot = new File(buildRoot + File.separator + "tests" + File.separator + "unit-tests-testng");
+ }
+ }
+
+ static class TestPorts
+ {
+ /** The LDAP port the server is bound to on start. */
+ final int serverLdapPort;
+ /** The Administration port the server is bound to on start. */
+ final int serverAdminPort;
+ /** The JMX port the server is bound to on start. */
+ final int serverJmxPort;
+ /** The LDAPS port the server is bound to on start. */
+ final int serverLdapsPort;
+
+ TestPorts() throws IOException
+ {
+ final int[] ports = findFreePorts(4);
+ serverLdapPort = getFreePort(PROPERTY_LDAP_PORT, ports[0]);
+ serverAdminPort = getFreePort(PROPERTY_ADMIN_PORT, ports[1]);
+ serverJmxPort = ports[2];
+ serverLdapsPort = ports[3];
+ }
+ }
+
public static void startServer() throws Exception
{
System.setProperty(PROPERTY_RUNNING_UNIT_TESTS, "true");
@@ -257,233 +307,17 @@
{
return;
}
-
InvocationCounterPlugin.resetStartupCalled();
- // Retrieves the location of a typical installation directory to use as a
- // source to build our test instance.
- String installedRoot = System.getProperty(PROPERTY_INSTALLED_ROOT);
+ initializePathsPortsAndServer();
- // Get the build root and use it to create a test package directory.
- String buildRoot = System.getProperty(PROPERTY_BUILD_ROOT);
- String buildDirStr = System.getProperty(PROPERTY_BUILD_DIR,
- buildRoot + File.separator + "target");
- File buildDir = new File(buildDirStr);
- File unitRoot = new File(buildDir, "unit-tests");
- File testInstallRoot;
- File testInstanceRoot;
- if (installedRoot == null) {
- testInstallRoot = new File(unitRoot, "package-install");
- testInstanceRoot = new File(unitRoot, "package-instance");
- } else {
- testInstallRoot = new File(unitRoot, "package");
- testInstanceRoot = testInstallRoot;
- }
- System.out.println("unitRoot=" + unitRoot);
- System.out.println("testInstallRoot=" + testInstallRoot);
- System.out.println("testInstanceRoot=" + testInstanceRoot);
+ deployDirectoryDirsAndFiles();
- File testSrcRoot = new File(buildRoot + File.separator + "tests" +
- File.separator + "unit-tests-testng");
- System.out.println("testSrcRoot=" + testSrcRoot);
+ setupLoggers();
- String cleanupRequiredString = System.getProperty(PROPERTY_CLEANUP_REQUIRED, "true");
- boolean cleanupRequired = !"false".equalsIgnoreCase(cleanupRequiredString);
+ writeBuildInfoFile();
- if (cleanupRequired) {
- deleteDirectory(testInstallRoot);
- deleteDirectory(testInstanceRoot);
- testInstallRoot.mkdirs();
- testInstanceRoot.mkdirs();
- }
-
- File testInstanceSchema =
- new File (testInstanceRoot, "config" + File.separator + "schema");
- testInstanceSchema.mkdirs();
-
- //db_verify is second jeb backend used by the jeb verify test cases
- //db_rebuild is the third jeb backend used by the jeb rebuild test cases
- //db_unindexed is the forth backend used by the unindexed search privilege
- //test cases
- String[] installSubDirectories = { "bin", "lib", "bat", "config"};
- String[] instanceSubDirectories = { "bak", "changelogDb", "classes",
- "config", "db", "import-tmp", "db_verify",
- "ldif", "locks", "logs", "db_rebuild",
- "db_unindexed", "db_index_test",
- "db_import_test"};
- for (String s : installSubDirectories)
- {
- new File(testInstallRoot, s).mkdir();
- }
- for (String s : instanceSubDirectories)
- {
- new File(testInstanceRoot, s).mkdir();
- }
-
- // Copy the configuration, schema, and MakeLDIF resources into the
- // appropriate place under the test package.
- File serverClassesDir = new File(buildDir, "classes");
- File unitClassesDir = new File(unitRoot, "classes");
- File libDir = new File(buildDirStr + "/package/opendj/lib");
- File upgradeDir = new File(buildDirStr + "/package/opendj/template/config/upgrade");
- System.out.println("libDir=" + libDir);
- File resourceDir = new File(buildRoot, "resource");
- File testResourceDir = new File(testSrcRoot, "resource");
- // Set the class variable
- testConfigDir = new File(testInstanceRoot, "config");
- File testSchemaDir = new File(testInstanceRoot, "config");
- File testClassesDir = new File(testInstanceRoot, "classes");
- File testLibDir = new File(testInstallRoot, "lib");
- File testBinDir = new File(testInstallRoot, "bin");
-
- // Snmp resource
- String opendmkJarFileLocation =
- System.getProperty(PROPERTY_OPENDMK_LOCATION);
-
- File opendmkJar = new File(opendmkJarFileLocation, "jdmkrt.jar");
-
- File snmpResourceDir = new File(buildRoot + File.separator + "src" +
- File.separator + "snmp" + File.separator +
- "resource");
- File snmpConfigDir = new File(snmpResourceDir, "config");
- File testSnmpResourceDir = new File (testConfigDir + File.separator + "snmp");
-
- if (Boolean.getBoolean(PROPERTY_COPY_CLASSES_TO_TEST_PKG))
- {
- copyDirectory(serverClassesDir, testClassesDir);
- copyDirectory(unitClassesDir, testClassesDir);
- }
-
- if (installedRoot != null)
- {
- copyDirectory(new File(installedRoot), testInstallRoot);
-
- // Get the instance location
- }
- else
- {
- copyDirectory(libDir, testLibDir);
- copyDirectory(new File(resourceDir, "bin"), testBinDir);
- copyDirectory(new File(resourceDir, "config"), testConfigDir );
- // copy upgrade directory
- copyDirectory(upgradeDir, new File(testConfigDir, "upgrade"));
- copyDirectory(new File(resourceDir, "schema"),
- new File(testSchemaDir, "schema"));
- copyDirectory(new File(resourceDir, "MakeLDIF"),
- new File(testConfigDir, "MakeLDIF"));
- copyDirectory(new File(snmpResourceDir, "security"),
- new File(testSnmpResourceDir, "security"));
- copyFileFromTo("server.keystore", testResourceDir, testConfigDir);
- copyFileFromTo("server.truststore", testResourceDir, testConfigDir);
- copyFileFromTo("client.keystore", testResourceDir, testConfigDir);
- copyFileFromTo("client-emailAddress.keystore", testResourceDir, testConfigDir);
- copyFileFromTo("client.truststore", testResourceDir, testConfigDir);
- copyFileFromTo("server-cert.p12", testResourceDir, testConfigDir);
- copyFileFromTo("client-cert.p12", testResourceDir, testConfigDir);
-
- // Update the install.loc file
- File installLoc = new File(testInstallRoot + File.separator + "instance.loc");
- installLoc.deleteOnExit();
- try (FileWriter w = new FileWriter(installLoc))
- {
- w.write(testInstanceRoot.getAbsolutePath());
- }
-
- if (opendmkJar.exists())
- {
- appendFile(new File(snmpConfigDir, "config.snmp.ldif"),
- new File(testConfigDir, "config.ldif"));
- }
-
- for (File f : testBinDir.listFiles())
- {
- try
- {
- FilePermission.setPermissions(f, FilePermission.decodeUNIXMode("755"));
- } catch (Exception e) {}
- }
-
- // Make the shell scripts in the bin directory executable, if possible.
- if (OperatingSystem.isUnixBased())
- {
- try
- {
- FilePermission perm = FilePermission.decodeUNIXMode("755");
- for (File f : testBinDir.listFiles())
- {
- if (f.getName().endsWith(".sh"))
- {
- FilePermission.setPermissions(f, perm);
- }
- }
- } catch (Exception e) {}
- }
- }
-
- // Find some free ports for the listeners and write them to the
- // config-chamges.ldif file.
- final int[] ports = findFreePorts(4);
- serverLdapPort = getFreePort(PROPERTY_LDAP_PORT, ports[0]);
- serverAdminPort = getFreePort(PROPERTY_ADMIN_PORT, ports[1]);
- serverJmxPort = ports[2];
- serverLdapsPort = ports[3];
-
- String defaultConfigChangeFile = testResourceDir + File.separator
- + "config-changes.ldif";
- String configChangeFile = System.getProperty(
- PROPERTY_CONFIG_CHANGE_FILE, defaultConfigChangeFile);
-
- try (BufferedReader reader = new BufferedReader(new FileReader(new File(configChangeFile)));
- FileOutputStream outFile = new FileOutputStream(new File(testConfigDir, "config-changes.ldif"));
- PrintStream writer = new PrintStream(outFile))
- {
- String line;
- while ((line = reader.readLine()) != null)
- {
- line = line
- .replaceAll("#ldapport#", String.valueOf(serverLdapPort))
- .replaceAll("#adminport#", String.valueOf(serverAdminPort))
- .replaceAll("#jmxport#", String.valueOf(serverJmxPort))
- .replaceAll("#ldapsport#", String.valueOf(serverLdapsPort));
-
- writer.println(line);
- }
- }
-
- // Create a configuration for the server.
- DirectoryEnvironmentConfig config = new DirectoryEnvironmentConfig();
- config.setServerRoot(testInstallRoot);
- config.setInstanceRoot(testInstanceRoot);
-
- config.setForceDaemonThreads(true);
- config.setConfigFile(new File(testConfigDir, "config.ldif"));
-
- ConfigurationFramework configurationFramework = ConfigurationFramework.getInstance();
- if (!configurationFramework.isInitialized())
- {
- configurationFramework.initialize(testInstallRoot.getAbsolutePath(), testInstanceRoot.getAbsolutePath());
- }
- configurationFramework.setIsClient(false);
-
- AccessLogger.getInstance().addLogPublisher(
- (AccessLogPublisher) getStartupTextAccessPublisher(ACCESS_TEXT_WRITER, false));
-
- HTTPAccessLogger.getInstance().addLogPublisher(
- (HTTPAccessLogPublisher) getStartupTextHTTPAccessPublisher(HTTP_ACCESS_TEXT_WRITER));
-
- // Enable more verbose error logger.
- ErrorLogger.getInstance().addLogPublisher(
- (ErrorLogPublisher) getToolStartupTextErrorPublisher(ERROR_TEXT_WRITER));
-
- DebugLogger.getInstance().addPublisherIfRequired(DEBUG_TEXT_WRITER);
-
- // Writing the buildinfo with the current version.
- try (final FileWriter buildInfoWriter = new FileWriter(new File(testConfigDir, "buildinfo")))
- {
- buildInfoWriter.write(BuildVersion.binaryVersion().toString());
- }
-
- EmbeddedUtils.startServer(config);
+ server.start();
assertTrue(InvocationCounterPlugin.startupCalled());
@@ -493,12 +327,223 @@
SERVER_STARTED = true;
initializeTestBackend(true);
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace(originalSystemErr);
throw e;
}
}
+ private static void initializePathsPortsAndServer() throws Exception
+ {
+ paths = new TestPaths();
+ ports = new TestPorts();
+ hostname = InetAddress.getLocalHost().getHostName();
+ server = EmbeddedDirectoryServer.defineServer(
+ configParams()
+ .serverRootDirectory(paths.testInstallRoot.getPath())
+ .serverInstanceDirectory(paths.testInstanceRoot.getPath())
+ .configurationFile(paths.configFile.getPath())
+ .toParams(),
+ connectionParams()
+ .bindDn("cn=Directory Manager")
+ .bindPassword("password")
+ .hostname(hostname)
+ .ldapPort(ports.serverLdapPort)
+ .adminPort(ports.serverAdminPort)
+ .toParams(),
+ System.out,
+ System.err);
+ }
+
+ /**
+ * Setup the directory server in separate install root directory and instance root directory.
+ * After this method the directory server should be ready to be started.
+ */
+ private static void deployDirectoryDirsAndFiles() throws IOException
+ {
+ // cleanup directories if necessary
+ String cleanupRequiredString = System.getProperty(PROPERTY_CLEANUP_REQUIRED, "true");
+ boolean cleanupRequired = !"false".equalsIgnoreCase(cleanupRequiredString);
+
+ if (cleanupRequired) {
+ deleteDirectory(paths.testInstallRoot);
+ deleteDirectory(paths.testInstanceRoot);
+ paths.testInstallRoot.mkdirs();
+ paths.testInstanceRoot.mkdirs();
+ }
+
+ // deploy the server to separate install directory and instance directory
+
+ File testInstanceSchema = new File(paths.testInstanceRoot, "config" + File.separator + "schema");
+ testInstanceSchema.mkdirs();
+
+ // db_verify is second jeb backend used by the jeb verify test cases
+ // db_rebuild is the third jeb backend used by the jeb rebuild test cases
+ // db_unindexed is the forth backend used by the unindexed search privilege
+ // test cases
+ String[] installSubDirectories = { "bin", "lib", "bat", "config" };
+ String[] instanceSubDirectories =
+ { "bak", "changelogDb", "classes", "config", "db", "import-tmp", "db_verify", "ldif", "locks", "logs",
+ "db_rebuild", "db_unindexed", "db_index_test", "db_import_test" };
+ for (String s : installSubDirectories)
+ {
+ new File(paths.testInstallRoot, s).mkdir();
+ }
+ for (String s : instanceSubDirectories)
+ {
+ new File(paths.testInstanceRoot, s).mkdir();
+ }
+
+ // Copy the configuration, schema, and MakeLDIF resources into the
+ // appropriate place under the test package.
+ File serverClassesDir = new File(paths.buildDir, "classes");
+ File unitClassesDir = new File(paths.unitRoot, "classes");
+ File libDir = new File(paths.buildDir.getPath() + "/package/opendj/lib");
+ File upgradeDir = new File(paths.buildDir.getPath() + "/package/opendj/template/config/upgrade");
+ System.out.println("libDir=" + libDir);
+ File resourceDir = new File(paths.buildRoot, "resource");
+ File testResourceDir = new File(paths.testSrcRoot, "resource");
+ // Set the class variable
+ File testSchemaDir = new File(paths.testInstanceRoot, "config");
+ File testClassesDir = new File(paths.testInstanceRoot, "classes");
+ File testLibDir = new File(paths.testInstallRoot, "lib");
+ File testBinDir = new File(paths.testInstallRoot, "bin");
+
+ // Snmp resource
+ String opendmkJarFileLocation = System.getProperty(PROPERTY_OPENDMK_LOCATION);
+
+ File opendmkJar = new File(opendmkJarFileLocation, "jdmkrt.jar");
+
+ File snmpResourceDir =
+ new File(paths.buildRoot + File.separator + "src" + File.separator + "snmp" + File.separator + "resource");
+ File snmpConfigDir = new File(snmpResourceDir, "config");
+ File testSnmpResourceDir = new File(paths.testConfigDir + File.separator + "snmp");
+
+ if (Boolean.getBoolean(PROPERTY_COPY_CLASSES_TO_TEST_PKG))
+ {
+ copyDirectory(serverClassesDir, testClassesDir);
+ copyDirectory(unitClassesDir, testClassesDir);
+ }
+
+ if (paths.installedRoot != null)
+ {
+ copyDirectory(new File(paths.installedRoot), paths.testInstallRoot);
+
+ // Get the instance location
+ }
+ else
+ {
+ copyDirectory(libDir, testLibDir);
+ copyDirectory(new File(resourceDir, "bin"), testBinDir);
+ copyDirectory(new File(resourceDir, "config"), paths.testConfigDir);
+ // copy upgrade directory
+ copyDirectory(upgradeDir, new File(paths.testConfigDir, "upgrade"));
+ copyDirectory(new File(resourceDir, "schema"), new File(testSchemaDir, "schema"));
+ copyDirectory(new File(resourceDir, "MakeLDIF"), new File(paths.testConfigDir, "MakeLDIF"));
+ copyDirectory(new File(snmpResourceDir, "security"), new File(testSnmpResourceDir, "security"));
+ copyFileFromTo("server.keystore", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("server.truststore", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("client.keystore", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("client-emailAddress.keystore", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("client.truststore", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("server-cert.p12", testResourceDir, paths.testConfigDir);
+ copyFileFromTo("client-cert.p12", testResourceDir, paths.testConfigDir);
+
+ // Update the install.loc file
+ File installLoc = new File(paths.testInstallRoot + File.separator + "instance.loc");
+ installLoc.deleteOnExit();
+ try (FileWriter w = new FileWriter(installLoc))
+ {
+ w.write(paths.testInstanceRoot.getAbsolutePath());
+ }
+
+ if (opendmkJar.exists())
+ {
+ appendFile(new File(snmpConfigDir, "config.snmp.ldif"), new File(paths.testConfigDir, "config.ldif"));
+ }
+
+ for (File f : testBinDir.listFiles())
+ {
+ try
+ {
+ FilePermission.setPermissions(f, FilePermission.decodeUNIXMode("755"));
+ }
+ catch (Exception e)
+ {
+ }
+ }
+
+ // Make the shell scripts in the bin directory executable, if possible.
+ if (OperatingSystem.isUnixBased())
+ {
+ try
+ {
+ FilePermission perm = FilePermission.decodeUNIXMode("755");
+ for (File f : testBinDir.listFiles())
+ {
+ if (f.getName().endsWith(".sh"))
+ {
+ FilePermission.setPermissions(f, perm);
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ }
+ }
+ }
+ copyTestConfigChangesFile();
+ }
+
+ private static void copyTestConfigChangesFile() throws FileNotFoundException, IOException
+ {
+ File testResourceDir = new File(paths.testSrcRoot, "resource");
+ String defaultConfigChangeFile = testResourceDir + File.separator + "config-changes.ldif";
+ String configChangeFile = System.getProperty(PROPERTY_CONFIG_CHANGE_FILE, defaultConfigChangeFile);
+
+ try (BufferedReader reader = new BufferedReader(new FileReader(new File(configChangeFile)));
+ FileOutputStream outFile = new FileOutputStream(new File(paths.testConfigDir, "config-changes.ldif"));
+ PrintStream writer = new PrintStream(outFile))
+ {
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ line = line
+ .replaceAll("#ldapport#", String.valueOf(ports.serverLdapPort))
+ .replaceAll("#adminport#", String.valueOf(ports.serverAdminPort))
+ .replaceAll("#jmxport#", String.valueOf(ports.serverJmxPort))
+ .replaceAll("#ldapsport#", String.valueOf(ports.serverLdapsPort));
+
+ writer.println(line);
+ }
+ }
+ }
+
+ private static void setupLoggers()
+ {
+ AccessLogger.getInstance().addLogPublisher(
+ (AccessLogPublisher) getStartupTextAccessPublisher(ACCESS_TEXT_WRITER, false));
+
+ HTTPAccessLogger.getInstance().addLogPublisher(
+ (HTTPAccessLogPublisher) getStartupTextHTTPAccessPublisher(HTTP_ACCESS_TEXT_WRITER));
+
+ // Enable more verbose error logger.
+ ErrorLogger.getInstance().addLogPublisher(
+ (ErrorLogPublisher) getToolStartupTextErrorPublisher(ERROR_TEXT_WRITER));
+
+ DebugLogger.getInstance().addPublisherIfRequired(DEBUG_TEXT_WRITER);
+ }
+
+ private static void writeBuildInfoFile() throws IOException
+ {
+ try (final FileWriter buildInfoWriter = new FileWriter(new File(paths.testConfigDir, "buildinfo")))
+ {
+ buildInfoWriter.write(BuildVersion.binaryVersion().toString());
+ }
+ }
+
private static int getFreePort(String portPropertyName, int defaultPort) throws IOException
{
String port = System.getProperty(portPropertyName);
@@ -588,10 +633,10 @@
private static File getTestConfigDir()
{
- if (testConfigDir == null) {
+ if (paths.testConfigDir == null) {
throw new RuntimeException("The testConfigDir variable is not set yet!");
}
- return testConfigDir;
+ return paths.testConfigDir;
}
public static File getBuildRoot()
@@ -1020,7 +1065,7 @@
*/
public static int getServerLdapPort()
{
- return serverLdapPort;
+ return ports.serverLdapPort;
}
/**
@@ -1031,7 +1076,7 @@
*/
public static int getServerAdminPort()
{
- return serverAdminPort;
+ return ports.serverAdminPort;
}
/**
@@ -1042,7 +1087,7 @@
*/
public static int getServerJmxPort()
{
- return serverJmxPort;
+ return ports.serverJmxPort;
}
/**
@@ -1053,7 +1098,7 @@
*/
public static int getServerLdapsPort()
{
- return serverLdapsPort;
+ return ports.serverLdapsPort;
}
/**
@@ -1401,7 +1446,7 @@
{
"--noPropertiesFile",
"-h", "127.0.0.1",
- "-p", String.valueOf(serverLdapPort),
+ "-p", String.valueOf(ports.serverLdapPort),
"-D", "cn=Directory Manager",
"-w", "password",
"-a",
@@ -1411,7 +1456,7 @@
{
"--noPropertiesFile",
"-h", "127.0.0.1",
- "-p", String.valueOf(serverAdminPort),
+ "-p", String.valueOf(ports.serverAdminPort),
"-Z", "-X",
"-D", "cn=Directory Manager",
"-w", "password",
@@ -1707,18 +1752,11 @@
*/
public static void dsconfig(String... args)
{
- String hostName;
- try {
- hostName = InetAddress.getLocalHost().getHostName();
- } catch (Exception e) {
- hostName = "Unknown (" + e + ")";
- }
-
String[] fullArgs = new String[args.length + 11];
fullArgs[0] = "-h";
- fullArgs[1] = hostName;
+ fullArgs[1] = hostname;
fullArgs[2] = "-p";
- fullArgs[3] = String.valueOf(serverAdminPort);
+ fullArgs[3] = String.valueOf(ports.serverAdminPort);
fullArgs[4] = "-D";
fullArgs[5] = "cn=Directory Manager";
fullArgs[6] = "-w";
--
Gitblit v1.10.0