From 96c3b242ada8fa7e05ab97e1bd0715375c72c443 Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Fri, 29 May 2015 13:00:24 +1000 Subject: [PATCH] Log start/finish for each Arquillian test --- .../src/test/java/org/zanata/RestTest.java | 17 +++++++++++++++-- .../zanata/rest/helper/RemoteTestSignaler.java | 4 ++-- .../rest/helper/RemoteTestSignalerImpl.java | 8 ++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/zanata-war/src/test/java/org/zanata/RestTest.java b/zanata-war/src/test/java/org/zanata/RestTest.java index 088fff9f08..a44fc9eb34 100644 --- a/zanata-war/src/test/java/org/zanata/RestTest.java +++ b/zanata-war/src/test/java/org/zanata/RestTest.java @@ -38,6 +38,8 @@ import org.jboss.seam.util.Naming; import org.junit.After; import org.junit.Before; +import org.junit.Rule; +import org.junit.rules.TestName; import org.junit.runner.RunWith; import org.zanata.arquillian.RemoteAfter; import org.zanata.arquillian.RemoteBefore; @@ -132,13 +134,20 @@ public void cleanDataAfterTest() { dbUnitProvider.cleanDataAfterTest(); } + @Rule + public final TestName testName = new TestName(); + @Before public void signalBeforeTest() { ClientRequest clientRequest = new ClientRequest(getRestEndpointUrl() + "test/remote/signal/before"); + clientRequest.header("X-Auth-User", ADMIN); clientRequest.header("X-Auth-Token", ADMIN_KEY); try { - clientRequest.queryParameter("c", this.getClass().getName()).post(); + clientRequest + .queryParameter("c", this.getClass().getName()) + .queryParameter("m", testName.getMethodName()) + .post(); } catch (Exception e) { e.printStackTrace(); } @@ -148,9 +157,13 @@ public void signalBeforeTest() { public void signalAfterTest() { ClientRequest clientRequest = new ClientRequest(getRestEndpointUrl() + "test/remote/signal/after"); + clientRequest.header("X-Auth-User", ADMIN); clientRequest.header("X-Auth-Token", ADMIN_KEY); try { - clientRequest.queryParameter("c", this.getClass().getName()).post(); + clientRequest + .queryParameter("c", this.getClass().getName()) + .queryParameter("m", testName.getMethodName()) + .post(); } catch (Exception e) { e.printStackTrace(); } diff --git a/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignaler.java b/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignaler.java index 73bf9086c9..cb6352c09f 100644 --- a/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignaler.java +++ b/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignaler.java @@ -34,11 +34,11 @@ public interface RemoteTestSignaler { @POST @Path("/before") - public void signalBeforeTest(@QueryParam("c") String testClass) + public void signalBeforeTest(@QueryParam("c") String testClass, @QueryParam("m") String testMethod) throws Exception; @POST @Path("/after") - public void signalAfterTest(@QueryParam("c") String testClass) + public void signalAfterTest(@QueryParam("c") String testClass, @QueryParam("m") String testMethod) throws Exception; } diff --git a/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignalerImpl.java b/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignalerImpl.java index 19c6e5eedc..325449902d 100644 --- a/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignalerImpl.java +++ b/zanata-war/src/test/java/org/zanata/rest/helper/RemoteTestSignalerImpl.java @@ -28,6 +28,7 @@ import javax.ws.rs.Path; +import lombok.extern.slf4j.Slf4j; import org.jboss.arquillian.seam2.ReflectionHelper; import org.jboss.seam.annotations.Name; import org.zanata.arquillian.RemoteAfter; @@ -42,9 +43,11 @@ */ @Path("/test/remote/signal") @Name("remoteTestSignalerImpl") +@Slf4j public class RemoteTestSignalerImpl implements RemoteTestSignaler { @Override - public void signalBeforeTest(String testClass) throws Exception { + public void signalBeforeTest(String testClass, String testMethod) throws Exception { + log.info("Starting test {}:{}", testClass, testMethod); Class testCls = Class.forName(testClass); Object testInstance = testCls.newInstance(); @@ -52,11 +55,12 @@ public void signalBeforeTest(String testClass) throws Exception { } @Override - public void signalAfterTest(String testClass) throws Exception { + public void signalAfterTest(String testClass, String testMethod) throws Exception { Class testCls = Class.forName(testClass); Object testInstance = testCls.newInstance(); invokeAnnotatedMethods(testInstance, RemoteAfter.class); + log.info("Finished test {}:{}", testClass, testMethod); } private void invokeAnnotatedMethods(Object o,