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.
@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;
}
}
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;
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;
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 {
}
@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