From 099488644bd4af4fa70106b96b8ec0aa8cd67e4e Mon Sep 17 00:00:00 2001 From: James Carman Date: Thu, 18 May 2017 00:47:46 -0400 Subject: [PATCH 1/2] Fixing sonar issue. --- .../metrics/core/strategy/AbstractTimingStrategyTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/metrics/core/src/test/java/org/microbule/metrics/core/strategy/AbstractTimingStrategyTest.java b/metrics/core/src/test/java/org/microbule/metrics/core/strategy/AbstractTimingStrategyTest.java index de8eb4f..62ad357 100644 --- a/metrics/core/src/test/java/org/microbule/metrics/core/strategy/AbstractTimingStrategyTest.java +++ b/metrics/core/src/test/java/org/microbule/metrics/core/strategy/AbstractTimingStrategyTest.java @@ -7,10 +7,7 @@ import com.codahale.metrics.Timer; import org.microbule.test.core.MockObjectTestCase; -/** - * Created by jcarman on 5/17/17. - */ -public class AbstractTimingStrategyTest extends MockObjectTestCase { +public abstract class AbstractTimingStrategyTest extends MockObjectTestCase { //---------------------------------------------------------------------------------------------------------------------- // Other Methods //---------------------------------------------------------------------------------------------------------------------- From 11b266ce328fa93f95150f0ceea11b4cc85a1ffc Mon Sep 17 00:00:00 2001 From: James Carman Date: Thu, 18 May 2017 00:53:59 -0400 Subject: [PATCH 2/2] Fixing sonar issue. --- .../decorator/MetricsDecoratorTest.java | 19 +++++++++++++++++++ .../metrics/decorator/TimedResource.java | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/metrics/decorator/src/test/java/org/microbule/metrics/decorator/MetricsDecoratorTest.java b/metrics/decorator/src/test/java/org/microbule/metrics/decorator/MetricsDecoratorTest.java index 8013731..22682c2 100644 --- a/metrics/decorator/src/test/java/org/microbule/metrics/decorator/MetricsDecoratorTest.java +++ b/metrics/decorator/src/test/java/org/microbule/metrics/decorator/MetricsDecoratorTest.java @@ -2,6 +2,7 @@ import java.io.StringReader; +import javax.ws.rs.InternalServerErrorException; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -74,7 +75,20 @@ public void testMetricsFilter() { metricsResponse.getTimers().forEach((k,v) -> { assertTrue(k.startsWith("TimedResource")); }); + } + + @Test + public void testNoMetricsWhenErrorOccurs() { + try { + createProxy().errorTimer(); + fail("Should encounter an error!"); + } + catch(InternalServerErrorException e) { + // Do nothing! + } + final Timer timer = metricsService.getRegistry().timer("TimedResource.errorTimer"); + assertEquals(0, timer.getCount()); } //---------------------------------------------------------------------------------------------------------------------- @@ -96,6 +110,11 @@ public String defaultTimer() { return now(); } + @Override + public String errorTimer() { + throw new InternalServerErrorException("Oops!"); + } + //---------------------------------------------------------------------------------------------------------------------- // Other Methods //---------------------------------------------------------------------------------------------------------------------- diff --git a/metrics/decorator/src/test/java/org/microbule/metrics/decorator/TimedResource.java b/metrics/decorator/src/test/java/org/microbule/metrics/decorator/TimedResource.java index a8313f6..f42ce76 100644 --- a/metrics/decorator/src/test/java/org/microbule/metrics/decorator/TimedResource.java +++ b/metrics/decorator/src/test/java/org/microbule/metrics/decorator/TimedResource.java @@ -25,4 +25,10 @@ public interface TimedResource { @Timed(strategy = "decay") @Path("/decayTimer") String decayTimer(); + + @GET + @Produces(MediaType.TEXT_PLAIN) + @Timed + @Path("/errorTimer") + String errorTimer(); }