/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.instancemanagement.internal; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import de.rcenvironment.core.configuration.ConfigurationSegment; import de.rcenvironment.core.configuration.testutils.ConfigurationSegmentUtils; import de.rcenvironment.core.configuration.testutils.TestConfigurationProvider; import de.rcenvironment.core.instancemanagement.InstanceManagementService.InstallationPolicy; import de.rcenvironment.core.utils.common.TempFileServiceAccess; import de.rcenvironment.core.utils.common.textstream.receivers.LoggingTextOutReceiver; /** * Manual integration tests for {@link InstanceManagementServiceImpl}. * * @author Robert Mischke * @author David Scholz */ public class InstanceManagementServiceImplManualTests { private final Log log = LogFactory.getLog(getClass()); /** * Common setup. * * @throws Exception on uncaught errors */ @Before public void setUp() throws Exception { TempFileServiceAccess.setupUnitTestEnvironment(); } /** * Test for {@link InstanceManagementServiceImpl#fetchVersionInformationFromDownloadSourceFolder(String)}. * * @throws IOException on uncaught errors */ @Test public void fetchVersionInformationFromDownloadSourceFolder() throws IOException { InstanceManagementServiceImpl imService = new InstanceManagementServiceImpl(); ConfigurationSegment configuration = ConfigurationSegmentUtils .readTestConfigurationFromString("{" + "\"downloadSourceFolderUrlPattern\":\"https://software.dlr.de/updates/rce/6.x/products/standard/*/zip/\"," + "\"downloadFilenamePattern\":\"dummy-*.zip\"}"); TestConfigurationProvider configurationProvider = new TestConfigurationProvider(); configurationProvider.setConfigurationSegment("instanceManagement", configuration); imService.bindConfigurationService(configurationProvider); imService.activate(); String version = imService.fetchVersionInformationFromDownloadSourceFolder("releases/latest"); log.debug("Identified remote version: " + version); assertTrue(version.startsWith("6.")); // test: there should be no leftover whitespace assertEquals("found outer whitespace in returned version", version.trim(), version); } /** * {@link Test} for {@link InstanceManagementServiceImpl#setupInstallationFromUrlQualifier()}. * * @throws IOException on uncaught errors */ @Test @Ignore("needs configuration setup; disabled as quick fix") public void setupInstallationFromUrlQualifier() throws IOException { InstanceManagementServiceImpl imService = new InstanceManagementServiceImpl(); // FIXME configure before running File dataRootDir = new File("_YOUR_ROOT_PATH_HERE_e:\\nb\\rce-im"); File installationsRootDir = new File("_YOUR_ROOT_PATH_HERE_e:\\nb\\rce-im\\inst"); ConfigurationSegment configuration = ConfigurationSegmentUtils .readTestConfigurationFromString("{" + "\"dataRootDirectory\":\"" + dataRootDir.getAbsolutePath().replace("\\", "\\\\\\\\") + "\"," + "\"installationsRootDirectory\":\"" + installationsRootDir.getAbsolutePath().replace("\\", "\\\\\\\\") + "\"," + "\"downloadSourceFolderUrlPattern\":\"https://software.dlr.de/updates/rce/6.x/products/standard/*/zip/\"," + "\"downloadFilenamePattern\":\"rce-*-standard-win32.x86_64.zip\"}"); TestConfigurationProvider configurationProvider = new TestConfigurationProvider(); configurationProvider.setConfigurationSegment("instanceManagement", configuration); imService.bindConfigurationService(configurationProvider); imService.activate(); imService.setupInstallationFromUrlQualifier("latest-snapshot", "snapshots/trunk", InstallationPolicy.IF_PRESENT_CHECK_VERSION_AND_REINSTALL_IF_DIFFERENT, new LoggingTextOutReceiver(""), 0); } }