]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3746 Measures relating to reviews are not computed on Unit Test
authorFabrice Bellingard <fabrice.bellingard@sonarsource.com>
Thu, 20 Sep 2012 09:27:33 +0000 (11:27 +0200)
committerFabrice Bellingard <fabrice.bellingard@sonarsource.com>
Thu, 20 Sep 2012 09:27:33 +0000 (11:27 +0200)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecorator.java
plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/ReviewsMeasuresDecoratorTest.java

index 7f7256ed17df441c9073348c6c4b4661aef1f9c5..ec97f5772e3561c1a78c47c16009d73a9716a380 100644 (file)
@@ -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<Violation> violations,
-                                                        Map<Integer, ReviewDto> openReviewsByViolationPermanentIds) {
+      Map<Integer, ReviewDto> openReviewsByViolationPermanentIds) {
     Date targetDate = pastSnapshot.getTargetDate();
     int newViolationCount = 0;
     int newReviewedViolationCount = 0;
index f1446b19d18be6fbb2af7b9a2cdf405887a023f8..ada1905f26fc1317b5448659a5a24599acf2a6e7 100644 (file)
@@ -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