Author: rmannibucau Date: Tue Sep 30 10:09:59 2014 New Revision: 1628385 URL: http://svn.apache.org/r1628385 Log: TOMEE-1361 ensuring we can reload a jaxrs app - more validations
Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java?rev=1628385&r1=1628384&r2=1628385&view=diff ============================================================================== --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java Tue Sep 30 10:09:59 2014 @@ -21,8 +21,16 @@ import javax.ws.rs.Path; @Path("ping") public class Endpoint { + private static final long TIME_MILLIS = System.currentTimeMillis(); + @GET public String ping() { return "pong"; } + + @GET + @Path("time") + public long time() { + return TIME_MILLIS; + } } Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java?rev=1628385&r1=1628384&r2=1628385&view=diff ============================================================================== --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java Tue Sep 30 10:09:59 2014 @@ -32,8 +32,10 @@ import java.io.File; import java.io.IOException; import java.net.URL; +import static java.lang.Thread.sleep; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; public class JAXRSReloadTest { private static File JAXRS_APP = new File("target/tests/webapps/app-jaxrs"); @@ -80,8 +82,23 @@ public class JAXRSReloadTest { @Test public void simpleStart() throws Exception { + // eager check setup is ok and it works (avoid to mix redeployment checks with simple deployment) assertThat(IO.slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong")); - mojo.reload(); - assertThat(IO.slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong")); + + long lastTime = 0; + for (int i = 0; i < 10; i++) { + sleep(100); // just to make time more explicit + mojo.reload(); + + // it still works + assertThat(IO.slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong")); + + // we redeployed since we have a new deployment date + final long time = Long.parseLong(IO.slurp(new URL(url + "/app-jaxrs/ping/time")).trim()); + if (i > 0) { + assertTrue(time >= lastTime); + } + lastTime = time; + } } }