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();