You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by js...@apache.org on 2004/10/12 23:31:05 UTC
svn commit: rev 54698 - in incubator/beehive/trunk/controls/test: . src/controls/org/apache/beehive/controls/test/controls/assembly src/units/org/apache/beehive/controls/test/java/assembly
Author: jsong
Date: Tue Oct 12 14:31:05 2004
New Revision: 54698
Added:
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestAssembler.java
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControl.java
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControlImpl.jcs
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/assembly/
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/assembly/AssemblyTests.java
Modified:
incubator/beehive/trunk/controls/test/build.xml
Log:
Adding basic assembly test
Contributed by Zach Smith (zsmith@bea.com)
Modified: incubator/beehive/trunk/controls/test/build.xml
==============================================================================
--- incubator/beehive/trunk/controls/test/build.xml (original)
+++ incubator/beehive/trunk/controls/test/build.xml Tue Oct 12 14:31:05 2004
@@ -31,6 +31,7 @@
<property name="build.tests" location="${build.dir}/classes/tests"/>
<property name="build.drivers" location="${build.dir}/classes/drivers"/>
<property name="build.beansrc" location="${build.dir}/beansrc"/>
+ <property name="build.testsrc" location="${build.dir}/testsrc"/>
<property name="build.jars" location="${build.dir}/jars"/>
<property name="controlstestbeans.jar" location="${build.dir}/controlstestbeans.jar"/>
<property name="controlstestdrivers.jar" location="${build.dir}/controlstestdrivers.jar"/>
@@ -141,6 +142,7 @@
<mkdir dir="${build.drivers}" />
<mkdir dir="${build.tests}" />
<mkdir dir="${build.beansrc}" />
+ <mkdir dir="${build.testsrc}" />
<mkdir dir="${build.jars}" />
<mkdir dir="${test.logs}" />
</target>
@@ -221,6 +223,9 @@
<target name="build-test-units" depends="build-test-drivers" unless="_build.java.tests.ran">
<!-- Build the test source directory -->
+
+ <!-- First APT process Unit files. There should be a lot of files in here needing
+ processing. -->
<apt srcdir="${controls.test.units}"
destdir="${build.tests}"
gendir="${build.beansrc}"
@@ -238,7 +243,35 @@
<pathelement path="${build.drivers}"/>
</classpath>
</apt>
+
+ <echo message="Assembling Tests"/>
+
+ <!-- in the assemble phase, any clients processed above which use controls requiring
+ assembly will be dealt with here -->
+ <assemble moduleDir="${build.tests}"
+ srcOutputDir="${build.testsrc}"
+ contextFactoryClassname="org.apache.beehive.controls.runtime.assembly.EJBAssemblyContext$Factory">
+ <classpath>
+ <path refid="test.classpath"/>
+ <pathelement location="${build.tests}"/>
+ </classpath>
+ <fileset dir="${build.tests}">
+ <include name="**/*.controls.properties"/>
+ </fileset>
+ </assemble>
+
+ <!-- build the generated files from the assemble phase -->
+ <javac srcdir="${build.testsrc}"
+ destdir="${build.tests}"
+ classpathref="test.classpath"
+ debug="on"
+ verbose="false"
+ failonerror="true" >
+ <include name="**/*generated/*"/>
+ </javac>
+
<property name="_build.java.tests.ran" value="true"/>
+
</target>
<target name="build-test-webapp" depends="build-test-drivers" >
Added: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestAssembler.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestAssembler.java Tue Oct 12 14:31:05 2004
@@ -0,0 +1,34 @@
+package org.apache.beehive.controls.test.controls.assembly;
+
+import org.apache.beehive.controls.api.assembly.ControlAssembler;
+import org.apache.beehive.controls.api.assembly.ControlAssemblyException;
+import org.apache.beehive.controls.api.assembly.ControlAssemblyContext;
+
+import java.io.FileWriter;
+import java.io.File;
+
+public class AssemblyTestAssembler implements ControlAssembler
+{
+ public void assemble(ControlAssemblyContext cac)
+ throws ControlAssemblyException
+ {
+ String genPackageName = "org.apache.beehive.controls.test.assembly.generated";
+ String genClassName = "AssemblyTestGenerated";
+
+ /* Write basic class structure out for later
+ compiliation and then finally instantiation in a test */
+ try {
+ FileWriter fw = new FileWriter(cac.createJavaOutputFile(genPackageName.replace(".",File.separator),
+ genClassName));
+ fw.write("package " + genPackageName + ";" +
+ "public class " + genClassName + "{ }");
+ fw.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ throw new ControlAssemblyException("Error writing " +
+ genPackageName.replace(".", File.separator) +
+ File.separator + genClassName, ioe);
+ }
+ }
+}
Added: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControl.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControl.java Tue Oct 12 14:31:05 2004
@@ -0,0 +1,9 @@
+package org.apache.beehive.controls.test.controls.assembly;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface (
+ defaultBinding = "org.apache.beehive.controls.test.controls.assembly.AssemblyTestControlImpl"
+)
+public interface AssemblyTestControl
+{ }
Added: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControlImpl.jcs
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/assembly/AssemblyTestControlImpl.jcs Tue Oct 12 14:31:05 2004
@@ -0,0 +1,9 @@
+package org.apache.beehive.controls.test.controls.assembly;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+
+@ControlImplementation(
+ assembler = AssemblyTestAssembler.class
+)
+public class AssemblyTestControlImpl implements java.io.Serializable
+{ }
Added: incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/assembly/AssemblyTests.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/assembly/AssemblyTests.java Tue Oct 12 14:31:05 2004
@@ -0,0 +1,51 @@
+package org.apache.beehive.controls.test.java.assembly;
+
+import junit.framework.TestCase;
+
+import org.apache.beehive.controls.api.bean.Control;
+
+import org.apache.beehive.controls.test.controls.assembly.AssemblyTestControl;
+
+import org.apache.beehive.controls.test.controls.util.TestBeanContext;
+
+import org.apache.beehive.test.tools.mantis.annotations.tch.Freq;
+import org.apache.beehive.test.tools.mantis.annotations.tch.Desc;
+
+@Freq("checkin")
+public class AssemblyTests extends TestCase
+{
+ @Control
+ public AssemblyTestControl atc;
+
+ TestBeanContext tbc = new TestBeanContext();
+
+ public AssemblyTests(String s)
+ {
+ super(s);
+ }
+
+ public void setUp()
+ {
+ this.tbc.beginContext();
+ }
+
+ public void tearDown()
+ {
+ this.tbc.endContext();
+ }
+
+ @Desc("Test that a Class generated at assembly time is available")
+ public void testAssemblyDeclaritive() throws Exception
+ {
+ try {
+ Class c = null;
+ c = Class.forName("org.apache.beehive.controls.test.assembly" +
+ ".generated.AssemblyTestGenerated");
+ assertNotNull(c.newInstance());
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ fail(cnfe.toString());
+ }
+ }
+}