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]>