InstallationTest.java revision d25372dc8e65a9ed019a88fdf659ca61313f1b31
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* trunk/opends/resource/legal-notices/OpenDS.LICENSE
* or https://OpenDS.dev.java.net/OpenDS.LICENSE.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Copyright 2008 Sun Microsystems, Inc.
*/
package org.opends.quicksetup;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import java.io.File;
import java.io.IOException;
/**
* Installation Tester.
*/
@Test(groups = {"slow"}, sequential=true)
public class InstallationTest extends QuickSetupTestCase {
Installation installation;
@BeforeClass
public void setUp() throws Exception {
installation = TestUtilities.getInstallation();
}
/**
* Tests to make sure installation is valid.
*/
@Test(enabled = false)
public void testValidateRootDirectory() {
Installation.validateRootDirectory(TestUtilities.getQuickSetupTestServerRootDir());
}
/**
* Tests that installation root directory is available.
*/
@Test(enabled = false)
public void testGetRootDirectory() {
assertNotNull(installation.getRootDirectory());
}
/**
* Tests that the installation root directory can be set.
*/
@Test(enabled = false)
public void testSetRootDirectory() {
File root = installation.getRootDirectory();
installation.setRootDirectory(root);
}
/**
* Tests that the installation root is valid.
*/
@Test(enabled = false)
public void testIsValid() {
assertTrue(installation.isValid(installation.getRootDirectory()));
assertTrue(installation.isValid(installation.getInstanceDirectory()));
}
/**
* Tests that an installation directory missing required directories
* is considered invalid.
*/
@Test(enabled = false)
public void testIsValid2() {
assertTrue(installation.isValid(installation.getRootDirectory()));
assertTrue(installation.isValid(installation.getInstanceDirectory()));
File x = new File(installation.getRootDirectory(), "x");
for (String reqDirName : Installation.REQUIRED_DIRECTORIES) {
File reqDir = new File(installation.getRootDirectory(), reqDirName);
try {
assertTrue(reqDir.renameTo(x));
assertFalse(installation.isValid(installation.getRootDirectory()));
assertFalse(installation.isValid(installation.getInstanceDirectory()));
assertNotNull(installation.getInvalidityReason());
} finally {
x.renameTo(reqDir);
}
}
}
/**
* Tests the configuration is available.
*/
@Test(enabled = false)
public void testGetCurrentConfiguration() {
assertNotNull(installation.getCurrentConfiguration());
}
/**
* Tests the base configuration is available.
*/
@Test(enabled = false)
public void testGetBaseConfiguration() throws ApplicationException {
assertNotNull(installation.getBaseConfiguration());
}
/**
* Tests the status is available.
*/
@Test(enabled = false)
public void testGetStatus() {
assertNotNull(installation.getStatus());
}
/**
* Tests the lib directory is available.
*/
@Test(enabled = false)
public void testGetLibrariesDirectory() {
assertExistentFile(installation.getLibrariesDirectory());
}
/**
* Tests the schema concat file is available.
*/
@Test(enabled = false)
public void testGetSchemaConcatFile() {
assertNonexistentFile(installation.getSchemaConcatFile());
}
/**
* Tests the base schema file is available.
*/
@Test(enabled = false)
public void testGetBaseSchemaFile() throws ApplicationException {
assertExistentFile(installation.getBaseSchemaFile());
}
/**
* Tests the base config file is available.
*/
@Test(enabled = false)
public void testGetBaseConfigurationFile() throws ApplicationException {
assertExistentFile(installation.getBaseConfigurationFile());
}
/**
* Tests the SVN rev number is discernable.
*/
@Test(enabled = false)
public void testGetSvnRev() throws ApplicationException {
assertNotNull(installation.getSvnRev());
}
/**
* Tests the config file is available.
*/
@Test(enabled = false)
public void testGetCurrentConfigurationFile() {
assertExistentFile(installation.getCurrentConfigurationFile());
}
/**
* Tests the bin/bat directory is available and platform appropriate.
*/
@Test(enabled = false)
public void testGetBinariesDirectory() {
File binariesDir;
assertExistentFile(binariesDir = installation.getBinariesDirectory());
if (File.separator.equals("\\")) {
assertTrue(binariesDir.getName().endsWith(
Installation.WINDOWS_BINARIES_PATH_RELATIVE));
} else {
assertTrue(binariesDir.getName().endsWith(
Installation.UNIX_BINARIES_PATH_RELATIVE));
}
}
/**
* Tests the db directory is available.
*/
@Test(enabled = false)
public void testGetDatabasesDirectory() {
assertExistentFile(installation.getDatabasesDirectory());
}
/**
* Tests the backup directory is available.
*/
@Test(enabled = false)
public void testGetBackupDirectory() {
assertExistentFile(installation.getBackupDirectory());
}
/**
* Tests the config directory is available.
*/
@Test(enabled = false)
public void testGetConfigurationDirectory() {
assertExistentFile(installation.getConfigurationDirectory());
}
/**
* Tests the logs directory is available.
*/
@Test(enabled = false)
public void testGetLogsDirectory() {
assertExistentFile(installation.getLogsDirectory());
}
/**
* Tests the locks directory is available.
*/
@Test(enabled = false)
public void testGetLocksDirectory() {
assertExistentFile(installation.getLocksDirectory());
}
/**
* Tests the tmp directory is available.
*/
@Test(enabled = false)
public void testGetTemporaryDirectory() {
assertNonexistentFile(installation.getTemporaryDirectory());
}
/**
* Tests the history directory is available.
*/
@Test(enabled = false)
public void testGetHistoryDirectory() {
assertNonexistentFile(installation.getHistoryDirectory());
}
/**
* Tests a historical backup directory can be created.
*/
@Test(enabled = false)
public void testCreateHistoryBackupDirectory() throws IOException {
assertExistentFile(installation.createHistoryBackupDirectory());
assertExistentFile(installation.getHistoryDirectory());
assertTrue(installation.getHistoryDirectory().exists());
}
/**
* Tests the history log file is available.
*/
@Test(enabled = false)
public void testGetHistoryLogFile() {
assertNonexistentFile(installation.getHistoryLogFile());
}
/**
* Tests the config upgrade directory is available.
*/
@Test(enabled = false)
public void testGetConfigurationUpgradeDirectory() {
assertExistentFile(installation.getConfigurationUpgradeDirectory());
}
/**
* Tests the tmp/upgrade directory is available.
*/
@Test(enabled = false)
public void testGetTemporaryUpgradeDirectory() {
assertNonexistentFile(installation.getTemporaryUpgradeDirectory());
}
/**
* Tests getting a command file works.
*/
@Test(enabled = false)
public void testGetCommandFile() {
assertExistentFile(installation.getCommandFile(
Installation.UNIX_START_FILE_NAME));
}
/**
* Tests the start server command is available.
*/
@Test(enabled = false)
public void testGetServerStartCommandFile() {
assertExistentFile(installation.getServerStartCommandFile());
}
/**
* Tests the stop server command is available.
*/
@Test(enabled = false)
public void testGetServerStopCommandFile() {
assertExistentFile(installation.getServerStopCommandFile());
}
/**
* Tests the ldif directory is available.
*/
@Test(enabled = false)
public void testGetLdifDirectory() {
assertExistentFile(installation.getLdifDirectory());
}
/**
* Tests the quicksetup jar is available.
*/
@Test(enabled = false)
public void testGetQuicksetupJarFile() {
assertExistentFile(installation.getQuicksetupJarFile());
}
/**
* Tests the OpenDS jar is available.
*/
@Test(enabled = false)
public void testGetOpenDSJarFile() {
assertExistentFile(installation.getOpenDSJarFile());
}
/**
* Tests the uninstall file is available.
*/
@Test(enabled = false)
public void testGetUninstallBatFile() {
assertExistentFile(installation.getUninstallBatFile());
}
/**
* Tests the status panel command file is available.
*/
@Test(enabled = false)
public void testGetStatusPanelCommandFile() {
assertExistentFile(installation.getControlPanelCommandFile());
}
/**
* Tests the build information is discernable.
*/
@Test(enabled = false)
public void testGetBuildInformation() throws ApplicationException {
assertNotNull(installation.getBuildInformation());
}
/**
* Tests the build information is discernable.
*/
@Test(enabled = false)
public void testGetBuildInformation1() throws ApplicationException {
assertNotNull(installation.getBuildInformation(true));
assertNotNull(installation.getBuildInformation(false));
}
/**
* Test string representation is possible.
*/
@Test(enabled = false)
public void testToString() {
assertNotNull(installation.toString());
}
private void assertExistentFile(File f) {
assertNotNull(f);
assertTrue(f.exists());
}
private void assertNonexistentFile(File f) {
assertNotNull(f);
}
}