You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by ad...@apache.org on 2002/05/18 06:17:04 UTC
cvs commit: jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework DataTypeTestCase.java TestType.java data-type.ant
adammurdoch 02/05/17 21:17:04
Modified: container/src/test/org/apache/myrmidon/components
AbstractComponentTest.java
framework/src/test/org/apache/myrmidon
AbstractTaskTestCase.java
Added: framework/src/test/org/apache/myrmidon/framework
DataTypeTestCase.java TestType.java data-type.ant
Log:
Added a test for the DataType and TypeInstanceTask combo.
Revision Changes Path
1.38 +11 -5 jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/AbstractComponentTest.java
Index: AbstractComponentTest.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/AbstractComponentTest.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- AbstractComponentTest.java 17 May 2002 07:43:47 -0000 1.37
+++ AbstractComponentTest.java 18 May 2002 04:17:03 -0000 1.38
@@ -47,6 +47,7 @@
import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.library.LibraryManager;
import org.apache.myrmidon.interfaces.property.PropertyResolver;
+import org.apache.myrmidon.interfaces.property.PropertyStore;
import org.apache.myrmidon.interfaces.role.RoleInfo;
import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.role.RoleRegistry;
@@ -58,7 +59,7 @@
* A base class for tests for the default components.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
- * @version $Revision: 1.37 $ $Date: 2002/05/17 07:43:47 $
+ * @version $Revision: 1.38 $ $Date: 2002/05/18 04:17:03 $
*/
public abstract class AbstractComponentTest
extends AbstractContainerTestCase
@@ -220,7 +221,7 @@
protected TaskContext createContext()
throws Exception
{
- ExecutionFrame frame = createExecutionFrame();
+ ExecutionFrame frame = createExecutionFrame( null );
final TaskContext context =
new DefaultTaskContext( frame, "test", "gen:///test:0:0" );
@@ -230,15 +231,20 @@
/**
* Utility method to create an execution frame.
*/
- protected ExecutionFrame createExecutionFrame() throws Exception
+ protected ExecutionFrame createExecutionFrame( PropertyStore props )
+ throws Exception
{
final ServiceManager serviceManager = getServiceManager();
final TaskEventManager eventManager = (TaskEventManager)serviceManager.lookup( TaskEventManager.ROLE );
- final DefaultPropertyStore store = new DefaultPropertyStore();
+ if( props == null )
+ {
+ props = new DefaultPropertyStore();
+ }
+
final File baseDir = getTestDirectory();
final ExecutionFrame frame =
- new DefaultExecutionFrame( "", baseDir, getLogger(), store, serviceManager, eventManager );
+ new DefaultExecutionFrame( "", baseDir, getLogger(), props, serviceManager, eventManager );
return frame;
}
1.3 +19 -5 jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/AbstractTaskTestCase.java
Index: AbstractTaskTestCase.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/AbstractTaskTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractTaskTestCase.java 17 May 2002 07:48:10 -0000 1.2
+++ AbstractTaskTestCase.java 18 May 2002 04:17:04 -0000 1.3
@@ -11,7 +11,7 @@
import org.apache.myrmidon.api.event.TaskListener;
import org.apache.myrmidon.api.metadata.ModelElement;
import org.apache.myrmidon.components.AbstractComponentTest;
-import org.apache.myrmidon.components.builder.ModelElementUtil;
+import org.apache.myrmidon.interfaces.model.ModelElementUtil;
import org.apache.myrmidon.interfaces.event.TaskEventManager;
import org.apache.myrmidon.interfaces.executor.ExecutionFrame;
import org.apache.myrmidon.interfaces.executor.Executor;
@@ -19,13 +19,14 @@
import org.apache.myrmidon.interfaces.library.LibraryManager;
import org.apache.myrmidon.interfaces.deployer.Deployer;
import org.apache.myrmidon.interfaces.deployer.TypeLibraryDeployer;
+import org.apache.myrmidon.interfaces.property.PropertyStore;
import org.apache.avalon.framework.ExceptionUtil;
/**
* A base class for test cases which need to execute tasks.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
- * @version $Revision: 1.2 $ $Date: 2002/05/17 07:48:10 $
+ * @version $Revision: 1.3 $ $Date: 2002/05/18 04:17:04 $
*
* @todo - Move the guts of AbstractProjectTestCase back to this class,
* and add a specialised project builder.
@@ -74,7 +75,7 @@
protected void executeTarget( final File projectFile, final String targetName )
throws Exception
{
- executeTarget( projectFile, targetName, null );
+ executeTarget( projectFile, targetName, null, null );
}
/**
@@ -82,6 +83,18 @@
*/
protected void executeTarget( final File projectFile,
final String targetName,
+ final PropertyStore props )
+ throws Exception
+ {
+ executeTarget( projectFile, targetName, props, null );
+ }
+
+ /**
+ * Executes a target in a project, and asserts that it does not fail.
+ */
+ protected void executeTarget( final File projectFile,
+ final String targetName,
+ final PropertyStore props,
final TaskListener listener )
throws Exception
{
@@ -101,7 +114,7 @@
{
try
{
- executeTarget( target, listener );
+ executeTarget( target, props, listener );
return;
}
catch( Exception e )
@@ -120,6 +133,7 @@
* Executes a target.
*/
private void executeTarget( final ModelElement target,
+ final PropertyStore props,
final TaskListener listener )
throws Exception
{
@@ -132,7 +146,7 @@
final TaskEventManager eventManager = (TaskEventManager)getServiceManager().lookup( TaskEventManager.ROLE );
final Executor executor = (Executor)getServiceManager().lookup( Executor.ROLE );
- final ExecutionFrame frame = createExecutionFrame();
+ final ExecutionFrame frame = createExecutionFrame( props );
// Install listener
if( listener != null )
1.1 jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework/DataTypeTestCase.java
Index: DataTypeTestCase.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.myrmidon.framework;
import org.apache.myrmidon.AbstractTaskTestCase;
import org.apache.myrmidon.components.property.DefaultPropertyStore;
import java.io.File;
/**
* Test cases for the data-type role and TypeInstanceTask.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision: 1.1 $ $Date: 2002/05/18 04:17:04 $
*/
public class DataTypeTestCase
extends AbstractTaskTestCase
{
public DataTypeTestCase( final String name )
{
super( name );
}
/**
* Tests that a data-type is correctly deployed as an instantiating task.
*/
public void testDeploy() throws Exception
{
final File projectFile = getTestResource( "data-type.ant" );
final DefaultPropertyStore props = new DefaultPropertyStore();
executeTarget( projectFile, "type-instance-task", props );
final Object obj = props.getProperty( "test-prop" );
final TestType expected = new TestType();
expected.setProp1( "some value" );
assertEquals( expected, obj );
}
}
1.1 jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework/TestType.java
Index: TestType.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.myrmidon.framework;
import org.apache.aut.AbstractAutTestCase;
/**
* A test data-type.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision: 1.1 $ $Date: 2002/05/18 04:17:04 $
*
* @ant.data-type name="test-type"
*/
public class TestType implements DataType
{
private String m_prop1;
public void setProp1( final String prop1 )
{
m_prop1 = prop1;
}
public boolean equals( final Object obj )
{
final TestType test = (TestType)obj;
if( !AbstractAutTestCase.equals( m_prop1, test.m_prop1 ) )
{
return false;
}
else
{
return true;
}
}
}
1.1 jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework/data-type.ant
Index: data-type.ant
===================================================================
<project>
<target name="type-instance-task">
<test-type id="test-prop" prop1="some value"/>
</target>
</project>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>