/******************************************************************************* * (c) Copyright 2016 Hewlett-Packard Development Company, L.P. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Apache License v2.0 which accompany this distribution. * * The Apache License is available at * http://www.apache.org/licenses/LICENSE-2.0 * *******************************************************************************/ package io.cloudslang.lang.commons.services.impl; import io.cloudslang.lang.commons.services.api.UserConfigurationService; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; /** * @author Bonczidai Levente * @since 8/24/2016 */ public class UserConfigurationServiceImplTest { private static final String SP_APP_HOME = "app.home"; private static final String SP_SINGLE_KEY = "single_key"; private static final String SP_MAVEN_HOME = "maven.home"; private static final String SP_REMOTE_URL = "cloudslang.maven.plugins.remote.url"; private static final String APP_HOME_1 = "/app_home"; private static final String APP_HOME_2 = "/app_home2"; private static final String APP_HOME_3 = "/app_home3"; private UserConfigurationService userConfigurationService; @Before public void setUp() throws Exception { userConfigurationService = new UserConfigurationServiceImpl(); } @Test public void loadUserPropertiesSimple() throws Exception { System.setProperty(SP_APP_HOME, getPathForResource(APP_HOME_1)); userConfigurationService.loadUserProperties(); assertEquals("single_value", System.getProperty(SP_SINGLE_KEY)); } @Test public void loadUserPropertiesSubstitution() throws Exception { System.setProperty(SP_APP_HOME, getPathForResource(APP_HOME_2)); System.setProperty("custom.home", "root"); userConfigurationService.loadUserProperties(); assertEquals("root/maven/apache-maven-3.3.9", System.getProperty(SP_MAVEN_HOME)); assertEquals("http://repo1.maven.org/maven2", System.getProperty(SP_REMOTE_URL)); } @Test public void loadUserPropertiesMissingFolderValid() throws Exception { System.setProperty(SP_APP_HOME, getPathForResource(APP_HOME_3)); userConfigurationService.loadUserProperties(); } private String getPathForResource(String resourceRelativePath) { return getClass().getResource(resourceRelativePath).getPath(); } }