You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2002/11/23 13:59:20 UTC
cvs commit: jakarta-avalon-excalibur/assembly/src/test/org/apache/excalibur/assembly/service DefaultServiceManagerTestCase.java
mcconnell 2002/11/23 04:59:20
Added: assembly/src/test/org/apache/excalibur/assembly/service
DefaultServiceManagerTestCase.java
Log:
Initial commit of the default service manager unit test.
Revision Changes Path
1.1 jakarta-avalon-excalibur/assembly/src/test/org/apache/excalibur/assembly/service/DefaultServiceManagerTestCase.java
Index: DefaultServiceManagerTestCase.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.excalibur.assembly.type;
import java.io.File;
import junit.framework.TestCase;
import org.apache.avalon.framework.Version;
import org.apache.avalon.framework.context.*;
import org.apache.avalon.framework.logger.*;
import org.apache.excalibur.assembly.service.*;
import org.apache.excalibur.assembly.type.*;
import org.apache.excalibur.meta.info.*;
import org.apache.excalibur.assembly.TestCaseBase;
/**
* A testcase for the @link{DefaultServiceManager}.
*
* @author <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>
*/
public class DefaultServiceManagerTestCase extends TestCaseBase
{
public DefaultServiceManagerTestCase()
{
this( "DefaultServiceManager" );
}
public DefaultServiceManagerTestCase( String name )
{
super( name );
}
public void testStaticOperations()
{
final String classname = "org.apache.excalibur.playground.BasicService";
try
{
assertTrue( doStaticCreation( classname ) != null );
}
catch( Throwable e )
{
System.out.println("static operation failure for create type using : " + classname );
assertTrue( false );
e.printStackTrace();
}
}
public void testStaticOperationsNull()
{
try
{
doStaticCreation( null );
assertTrue( false );
}
catch( NullPointerException e )
{
assertTrue( true );
}
catch( Throwable e )
{
System.out.println("static operation failure for create type using : " + null );
assertTrue( false );
e.printStackTrace();
}
}
public void testStaticOperationsBadType()
{
final String classname = "org.something.else";
try
{
Service service = DefaultServiceManager.createService( classname, m_loader );
doStaticCreation( classname );
assertTrue( false );
}
catch( ServiceException e )
{
assertTrue( true );
}
catch( Throwable e )
{
System.out.println(
"static operation anti-failure for creation of invalid service using : "
+ classname );
e.printStackTrace();
assertTrue( false );
}
}
/**
* Validation of the creation of the default type manager implememtation.
*/
public void testCreation()
{
try
{
assertTrue( createServiceManager() != null );
}
catch( Throwable e )
{
assertTrue( false );
}
}
public void testServiceRegistrationAndRetrival() throws Exception
{
final String classname = "org.apache.excalibur.playground.BasicService";
DefaultServiceManager manager = createServiceManager();
Service service = doStaticCreation( classname );
try
{
manager.addService( service );
assertTrue( true );
}
catch( Throwable e )
{
System.out.println( "type addition failure" );
e.printStackTrace();
assertTrue( false );
}
//
// try to add the service again (which should fail)
//
try
{
manager.addService( service );
System.out.println( "type replacement check failure" );
assertTrue( false );
}
catch( Throwable e )
{
assertTrue( true );
}
//
// validate service retrival by classname and version
//
try
{
service.equals( manager.getService( service.getClassname(), service.getVersion() ) );
assertTrue( true );
}
catch( Throwable e )
{
System.out.println( "service retrival by classname/version failure" );
e.printStackTrace();
assertTrue( false );
}
//
// validate service retrival by classname and version using a bad version
//
try
{
Version version = Version.getVersion( "111.111" );
service.equals( manager.getService( service.getClassname(), version ) );
System.out.println( "service retrival by classname/version failure on bad version" );
assertTrue( false );
}
catch( Throwable e )
{
assertTrue( true );
}
}
/**
* Validation of the creation of the default type manager implememtation.
*/
public DefaultServiceManager createServiceManager() throws Exception
{
DefaultServiceManager services = new DefaultServiceManager();
services.enableLogging( getLogger().getChildLogger("services") );
DefaultContext serviceContext = new DefaultContext();
serviceContext.put( "assembly:classloader", m_loader );
serviceContext.makeReadOnly();
services.contextualize( serviceContext );
services.initialize();
return services;
}
private Service doStaticCreation( String classname ) throws Exception
{
Class clazz = m_loader.loadClass( classname );
return DefaultServiceManager.createService( clazz );
}
protected void tearDown() throws Exception
{
m_loader = null;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>