From: Fabrice Bellingard Date: Thu, 20 Sep 2012 09:27:33 +0000 (+0200) Subject: SONAR-3746 Measures relating to reviews are not computed on Unit Test X-Git-Tag: 3.3~272 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c77bc1df270111bd96c300f4a7a856b71045737d;p=sonarqube.git SONAR-3746 Measures relating to reviews are not computed on Unit Test --- diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecorator.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecorator.java index 7f7256ed17d..ec97f5772e3 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecorator.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecorator.java @@ -38,7 +38,11 @@ import org.sonar.core.review.ReviewDao; import org.sonar.core.review.ReviewDto; import org.sonar.core.review.ReviewPredicates; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Map; /** * Decorator that creates measures related to reviews. @@ -68,7 +72,7 @@ public class ReviewsMeasuresDecorator implements Decorator { @SuppressWarnings({"rawtypes"}) public void decorate(Resource resource, DecoratorContext context) { - if (!ResourceUtils.isPersistable(resource) || ResourceUtils.isUnitTestClass(resource) || resource.getId()==null) { + if (!ResourceUtils.isPersistable(resource) || resource.getId() == null) { return; } @@ -119,7 +123,7 @@ public class ReviewsMeasuresDecorator implements Decorator { } protected int countNewUnreviewedViolationsForSnapshot(PastSnapshot pastSnapshot, List violations, - Map openReviewsByViolationPermanentIds) { + Map openReviewsByViolationPermanentIds) { Date targetDate = pastSnapshot.getTargetDate(); int newViolationCount = 0; int newReviewedViolationCount = 0; diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecoratorTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecoratorTest.java index f1446b19d18..ada1905f26f 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecoratorTest.java +++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecoratorTest.java @@ -31,7 +31,11 @@ import org.sonar.api.measures.CoreMetrics; import org.sonar.api.measures.Measure; import org.sonar.api.measures.Metric; import org.sonar.api.measures.RuleMeasure; -import org.sonar.api.resources.*; +import org.sonar.api.resources.File; +import org.sonar.api.resources.Method; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.Qualifiers; +import org.sonar.api.resources.Resource; import org.sonar.api.rules.Rule; import org.sonar.api.rules.Violation; import org.sonar.batch.components.PastSnapshot; @@ -48,7 +52,11 @@ import static org.junit.Assert.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyDouble; import static org.mockito.Matchers.argThat; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.atLeast; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; public class ReviewsMeasuresDecoratorTest { @@ -93,24 +101,25 @@ public class ReviewsMeasuresDecoratorTest { } @Test - public void shouldDecoratePersistableResource() throws Exception { + public void shouldNotDecoratePersistableResource() throws Exception { ReviewsMeasuresDecorator decorator = new ReviewsMeasuresDecorator(null, null); DecoratorContext context = mock(DecoratorContext.class); - Resource resource = mock(Resource.class); - when(resource.getScope()).thenReturn(Scopes.BLOCK_UNIT); + Resource resource = Method.createMethod("foo", null).setId(1); decorator.decorate(resource, context); verify(context, never()).saveMeasure(any(Metric.class), anyDouble()); } + /** + * SONAR-3746 + */ @Test - public void shouldNotDecorateUnitTest() throws Exception { - ReviewsMeasuresDecorator decorator = new ReviewsMeasuresDecorator(null, null); + public void shouldDecorateUnitTest() throws Exception { DecoratorContext context = mock(DecoratorContext.class); - Resource resource = mock(Resource.class); - when(resource.getScope()).thenReturn(Scopes.FILE); - when(resource.getQualifier()).thenReturn(Qualifiers.UNIT_TEST_FILE); + File resource = new File("foo"); + resource.setQualifier(Qualifiers.UNIT_TEST_FILE); + resource.setId(1); decorator.decorate(resource, context); - verify(context, never()).saveMeasure(any(Metric.class), anyDouble()); + verify(context, atLeast(1)).saveMeasure(any(Metric.class), anyDouble()); } @Test