Hi Andy, can you say a word about:
- <phase>prepare-package</phase> + <phase>process-resources</phase> please? IT are executed after package normally no, you got an issue? Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau ---------- Forwarded message ---------- From: <[email protected]> Date: 2014-07-24 12:28 GMT+02:00 Subject: svn commit: r1613061 - in /tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee: pom.xml src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java To: [email protected] Author: andygumbrecht Date: Thu Jul 24 10:28:04 2014 New Revision: 1613061 URL: http://svn.apache.org/r1613061 Log: Process resources required by tests before tests. Use a fixed RemoteTomEEEJBContainerIT Modified: tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/pom.xml tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java Modified: tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/pom.xml?rev=1613061&r1=1613060&r2=1613061&view=diff ============================================================================== --- tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/pom.xml (original) +++ tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/pom.xml Thu Jul 24 10:28:04 2014 @@ -165,7 +165,7 @@ <executions> <execution> <id>filter-resources</id> - <phase>prepare-package</phase> + <phase>process-resources</phase> <goals> <goal>resources</goal> </goals> @@ -178,7 +178,7 @@ <executions> <execution> <id>copy-tomcat-for-webprofile</id> - <phase>prepare-package</phase> + <phase>process-resources</phase> <goals> <goal>copy</goal> </goals> @@ -197,7 +197,7 @@ </execution> <execution> <id>copy-tomcat-for-jaxrs</id> - <phase>prepare-package</phase> + <phase>process-resources</phase> <goals> <goal>copy</goal> </goals> @@ -216,7 +216,7 @@ </execution> <execution> <id>copy-tomcat-for-plus</id> - <phase>prepare-package</phase> + <phase>process-resources</phase> <goals> <goal>copy</goal> </goals> @@ -235,7 +235,7 @@ </execution> <execution> <id>copy-tomcat-for-plume</id> - <phase>prepare-package</phase> + <phase>process-resources</phase> <goals> <goal>copy</goal> </goals> Modified: tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java?rev=1613061&r1=1613060&r2=1613061&view=diff ============================================================================== --- tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java (original) +++ tomee/tomee/branches/tomee-1.7.x/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java Thu Jul 24 10:28:04 2014 @@ -18,23 +18,23 @@ package org.apache.tomee; import org.apache.openejb.loader.Files; import org.apache.openejb.loader.IO; -import org.junit.Ignore; +import org.apache.openejb.util.NetworkUtil; import org.junit.Test; import javax.ejb.embeddable.EJBContainer; import java.io.File; import java.io.FileFilter; import java.io.FileWriter; +import java.io.IOException; import java.net.URL; import java.util.HashMap; -import java.util.Hashtable; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; -@Ignore public class RemoteTomEEEJBContainerIT { @Test - public void run() throws Exception { + public void run() throws IOException { final File app = new File("target/mock/webapp"); Files.mkdirs(app); @@ -42,29 +42,50 @@ public class RemoteTomEEEJBContainerIT { writer.write("Hello"); writer.close(); + File work = new File("target/webprofile-work-dir/").getAbsoluteFile(); + if (!work.exists()) { + //May be running from root + work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile(); + } + + final File[] files = work.listFiles(new FileFilter() { + @Override + public boolean accept(final File pathname) { + return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-"); + } + }); + + final File tomee = (null != files ? files[0] : null); + if (tomee == null) { + fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources"); + } + + final FileWriter serverXml = new FileWriter(new File(tomee, "conf/server.xml")); + final int http = NetworkUtil.getNextAvailablePort(); + serverXml.write("<?xml version='1.0' encoding='utf-8'?>\n" + + "<Server port=\"" + NetworkUtil.getNextAvailablePort() + "\" shutdown=\"SHUTDOWN\">\n" + + " <!-- TomEE plugin for Tomcat -->\n" + + " <Listener className=\"org.apache.tomee.catalina.ServerListener\" />\n" + + " <Service name=\"Catalina\">\n" + + " <Connector port=\"" + http + "\" protocol=\"HTTP/1.1\" />\n" + + " <Engine name=\"Catalina\" defaultHost=\"localhost\">\n" + + " <Host name=\"localhost\" appBase=\"webapps\"\n" + + " unpackWARs=\"true\" autoDeploy=\"true\">\n" + + " </Host>\n" + + " </Engine>\n" + + " </Service>\n" + + "</Server>\n"); + serverXml.close(); + EJBContainer container = null; try { container = EJBContainer.createEJBContainer(new HashMap<Object, Object>() {{ put(EJBContainer.PROVIDER, "tomee-remote"); put(EJBContainer.MODULES, app.getAbsolutePath()); - final File workDir = new File("target/webprofile-work-dir/"); - final File[] files = workDir.listFiles(new FileFilter() { - @Override - public boolean accept(final File pathname) { - return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-"); - } - }); - - if (null == files) { - throw new Exception("File not found: " + workDir.getAbsolutePath()); - } - - put("openejb.home", files[0].getAbsolutePath()); + put("openejb.home", tomee.getAbsolutePath()); }}); - - final Hashtable<?, ?> environment = container.getContext().getEnvironment(); - - assertEquals("Hello", IO.slurp(new URL(" http://localhost:8080/webapp/index.html"))); + final URL url = new URL("http://localhost:" + http + "/webapp/index.html"); + assertEquals("Hello", IO.slurp(url)); } finally { if (container != null) { container.close();
