| package org.apache.continuum.configuration; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.codehaus.plexus.spring.PlexusInSpringTestCase; |
| import org.codehaus.plexus.util.FileUtils; |
| import org.slf4j.Logger; |
| import org.slf4j.LoggerFactory; |
| |
| import java.io.File; |
| |
| /** |
| * @author <a href="mailto:olamy@apache.org">olamy</a> |
| * @version $Id$ |
| * @since 17 juin 2008 |
| */ |
| public class TestDefaultContinuumConfiguration |
| extends PlexusInSpringTestCase |
| { |
| private Logger log = LoggerFactory.getLogger( getClass() ); |
| |
| private String confFile = "target/test-classes/conf/continuum.xml"; |
| |
| @Override |
| protected void setUp() |
| throws Exception |
| { |
| log.info( "appserver.base : " + System.getProperty( "appserver.base" ) ); |
| |
| File originalConf = new File( getBasedir(), "src/test/resources/conf/continuum.xml" ); |
| |
| File confUsed = new File( getBasedir(), confFile ); |
| if ( confUsed.exists() ) |
| { |
| confUsed.delete(); |
| } |
| FileUtils.copyFile( originalConf, confUsed ); |
| |
| super.setUp(); |
| } |
| |
| public void testLoad() |
| throws Exception |
| { |
| ContinuumConfiguration configuration = |
| (ContinuumConfiguration) lookup( ContinuumConfiguration.class, "default" ); |
| assertNotNull( configuration ); |
| GeneralConfiguration generalConfiguration = configuration.getGeneralConfiguration(); |
| assertNotNull( generalConfiguration ); |
| assertNotNull( generalConfiguration.getBaseUrl() ); |
| assertEquals( "http://test", generalConfiguration.getBaseUrl() ); |
| assertEquals( new File( "myBuildOutputDir" ), generalConfiguration.getBuildOutputDirectory() ); |
| } |
| |
| public void testDefaultConfiguration() |
| throws Exception |
| { |
| File conf = new File( getBasedir(), confFile ); |
| if ( conf.exists() ) |
| { |
| conf.delete(); |
| } |
| ContinuumConfiguration configuration = |
| (ContinuumConfiguration) lookup( ContinuumConfiguration.class, "default" ); |
| assertNotNull( configuration ); |
| GeneralConfiguration generalConfiguration = new GeneralConfiguration(); |
| generalConfiguration.setBaseUrl( "http://test/zloug" ); |
| generalConfiguration.setProxyConfiguration( new ProxyConfiguration() ); |
| generalConfiguration.getProxyConfiguration().setProxyHost( "localhost" ); |
| generalConfiguration.getProxyConfiguration().setProxyPort( 8080 ); |
| File targetDir = new File(getBasedir(), "target"); |
| generalConfiguration.setBuildOutputDirectory( targetDir ); |
| configuration.setGeneralConfiguration( generalConfiguration ); |
| configuration.save(); |
| |
| String contents = FileUtils.fileRead( conf ); |
| assertTrue( contents.indexOf( "http://test/zloug" ) > 0 ); |
| assertTrue( contents.indexOf( "localhost" ) > 0 ); |
| assertTrue( contents.indexOf( "8080" ) > 0 ); |
| |
| configuration.reload(); |
| assertEquals( "http://test/zloug", configuration.getGeneralConfiguration().getBaseUrl() ); |
| assertEquals( "localhost", configuration.getGeneralConfiguration().getProxyConfiguration().getProxyHost() ); |
| assertEquals( 8080, configuration.getGeneralConfiguration().getProxyConfiguration().getProxyPort() ); |
| assertEquals(targetDir.getPath(), configuration.getGeneralConfiguration().getBuildOutputDirectory().getPath()); |
| log.info( "generalConfiguration " + configuration.getGeneralConfiguration().toString() ); |
| } |
| } |