donaldp 2002/09/30 16:24:02 Added: src/test/org/apache/avalon/phoenix/tools/assembler/test AssemblerTestCase.java assembly1.xml Log: Add in boiler plate unit tests for assembly Revision Changes Path 1.1 jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/assembler/test/AssemblerTestCase.java Index: AssemblerTestCase.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE.txt file. */ package org.apache.avalon.phoenix.tools.assembler.test; import java.io.File; import java.net.URL; import junit.framework.TestCase; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.logger.ConsoleLogger; import org.apache.avalon.phoenix.metadata.SarMetaData; import org.apache.avalon.phoenix.metadata.BlockMetaData; import org.apache.avalon.phoenix.metadata.DependencyMetaData; import org.apache.avalon.phoenix.tools.assembler.Assembler; import org.apache.avalon.phoenix.tools.assembler.test.data.Component1; import org.apache.avalon.phoenix.tools.assembler.test.data.Service2; import org.apache.avalon.phoenix.tools.configuration.ConfigurationBuilder; /** * An basic test case for the LogManager. * * @author <a href="mailto:peter at apache.org">Peter Donald</a> * @version $Revision: 1.1 $ $Date: 2002/09/30 23:24:02 $ */ public class AssemblerTestCase extends TestCase { public static final String DEFAULT_LOGFILE = "logs/default.log"; public static final String BLOCK_LOGFILE = "logs/myBlock.log"; private File m_baseDirectory; public AssemblerTestCase( final String name ) { super( name ); } protected void setUp() throws Exception { m_baseDirectory = new File( "." ); } public void testBasic() throws Exception { final SarMetaData sarMetaData = assembleSar( "assembly1.xml" ); final BlockMetaData[] blocks = sarMetaData.getBlocks(); assertEquals( "Block Count", 2, blocks.length ); final BlockMetaData block1 = blocks[ 0 ]; final BlockMetaData block2 = blocks[ 1 ]; final DependencyMetaData[] dependencies1 = block1.getDependencies(); final DependencyMetaData[] dependencies2 = block2.getDependencies(); assertEquals( "Block1 getImplementationKey", Component1.class.getName(), block1.getImplementationKey() ); assertEquals( "Block1 getName", "c1", block1.getName() ); assertEquals( "Block1 getDependencies count", 1, dependencies1.length ); assertEquals( "Block1 dep1 name", "c2", dependencies1[ 0 ].getName() ); assertEquals( "Block1 dep1 role", Service2.class.getName(), dependencies1[ 0 ].getRole() ); assertTrue( "Block1 getBlockInfo non null", null != block1.getBlockInfo() ); assertEquals( "Block1 isDisableProxy", false, block1.isDisableProxy() ); } private SarMetaData assembleSar( final String config ) throws Exception { final Assembler assembler = new Assembler(); assembler.enableLogging( new ConsoleLogger() ); final ClassLoader classLoader = getClass().getClassLoader(); final Configuration assembly = loadConfig( config ); return assembler.assembleSar( "test", assembly, m_baseDirectory, classLoader ); } private Configuration loadConfig( final String config ) throws Exception { final URL resource = getClass().getResource( config ); return ConfigurationBuilder.build( resource.toExternalForm() ); } } 1.1 jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/assembler/test/assembly1.xml Index: assembly1.xml =================================================================== <?xml version="1.0"?> <!DOCTYPE assembly PUBLIC "-//PHOENIX/Assembly DTD Version 1.0//EN" "http://jakarta.apache.org/avalon/dtds/phoenix/assembly_1.0.dtd"> <assembly> <!-- The Packet Manager block --> <block class="org.apache.avalon.phoenix.tools.assembler.test.data.Component1" name="c1"> <provide name="c2" role="org.apache.avalon.phoenix.tools.assembler.test.data.Service2"/> </block> <block class="org.apache.avalon.phoenix.tools.assembler.test.data.Component2" name="c2"/> </assembly>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>