aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine/src/test
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2022-06-22 16:17:26 -0500
committersonartech <sonartech@sonarsource.com>2022-07-23 20:02:53 +0000
commit0fb5e45d935ad212aa3fe32202c33dd8395078c5 (patch)
tree4c2afc044dc034f9c70a11b58f02a762b3ba3448 /sonar-scanner-engine/src/test
parent1220331cf405fb916a005284120b0ed02ea67ac2 (diff)
downloadsonarqube-0fb5e45d935ad212aa3fe32202c33dd8395078c5.tar.gz
sonarqube-0fb5e45d935ad212aa3fe32202c33dd8395078c5.zip
SONAR-17044 Optimize Compute Engine issue tracking and persisting of measures when file is marked as unchanged
Diffstat (limited to 'sonar-scanner-engine/src/test')
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java10
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java10
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/ModuleSensorContextTest.java5
3 files changed, 22 insertions, 3 deletions
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java
index cc440601a2f..ae2f877d384 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java
@@ -24,6 +24,7 @@ import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
+import java.util.List;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -40,6 +41,7 @@ import org.sonar.api.utils.log.LoggerLevel;
import org.sonar.scanner.bootstrap.DefaultScannerWsClient;
import org.sonar.scanner.bootstrap.GlobalAnalysisMode;
import org.sonar.scanner.fs.InputModuleHierarchy;
+import org.sonar.scanner.protocol.output.ScannerReport;
import org.sonar.scanner.scan.ScanProperties;
import org.sonar.scanner.scan.branch.BranchConfiguration;
import org.sonarqube.ws.Ce;
@@ -93,6 +95,14 @@ public class ReportPublisherTest {
}
@Test
+ public void checks_if_component_has_issues() {
+ underTest.getWriter().writeComponentIssues(1, List.of(ScannerReport.Issue.newBuilder().build()));
+
+ assertThat(underTest.getReader().hasIssues(1)).isTrue();
+ assertThat(underTest.getReader().hasIssues(2)).isFalse();
+ }
+
+ @Test
public void use_30s_write_timeout() {
MockWsResponse submitMockResponse = new MockWsResponse();
submitMockResponse.setContent(Ce.SubmitResponse.newBuilder().setTaskId("task-1234").build().toByteArray());
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java
index bb5d8f78bea..877e2e3e8ac 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java
@@ -205,6 +205,16 @@ public class DefaultSensorStorageTest {
}
@Test
+ public void has_issues_delegates_to_report_publisher() {
+ DefaultInputFile file1 = new TestInputFileBuilder("foo", "src/Foo1.php").setStatus(InputFile.Status.SAME).build();
+ DefaultInputFile file2 = new TestInputFileBuilder("foo", "src/Foo2.php").setStatus(InputFile.Status.SAME).build();
+
+ reportWriter.writeComponentIssues(file1.scannerId(), List.of(ScannerReport.Issue.newBuilder().build()));
+ assertThat(underTest.hasIssues(file1)).isTrue();
+ assertThat(underTest.hasIssues(file2)).isFalse();
+ }
+
+ @Test
public void should_save_highlighting() {
DefaultInputFile file = new TestInputFileBuilder("foo", "src/Foo.php")
.setContents("// comment").build();
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/ModuleSensorContextTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/ModuleSensorContextTest.java
index d40c7344bee..fb719656262 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/ModuleSensorContextTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/ModuleSensorContextTest.java
@@ -32,7 +32,6 @@ import org.sonar.api.batch.fs.internal.DefaultInputProject;
import org.sonar.api.batch.measure.MetricFinder;
import org.sonar.api.batch.rule.ActiveRules;
import org.sonar.api.batch.rule.internal.ActiveRulesBuilder;
-import org.sonar.api.batch.sensor.internal.SensorStorage;
import org.sonar.api.config.internal.MapSettings;
import org.sonar.api.internal.SonarRuntimeImpl;
import org.sonar.api.measures.CoreMetrics;
@@ -55,7 +54,7 @@ public class ModuleSensorContextTest {
private DefaultFileSystem fs;
private ModuleSensorContext adaptor;
private MapSettings settings;
- private SensorStorage sensorStorage;
+ private DefaultSensorStorage sensorStorage;
private SonarRuntime runtime;
private BranchConfiguration branchConfiguration;
private WriteCacheImpl writeCache;
@@ -70,7 +69,7 @@ public class ModuleSensorContextTest {
when(metricFinder.<Integer>findByKey(CoreMetrics.NCLOC_KEY)).thenReturn(CoreMetrics.NCLOC);
when(metricFinder.<String>findByKey(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION_KEY)).thenReturn(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION);
settings = new MapSettings();
- sensorStorage = mock(SensorStorage.class);
+ sensorStorage = mock(DefaultSensorStorage.class);
branchConfiguration = mock(BranchConfiguration.class);
writeCache = mock(WriteCacheImpl.class);
readCache = mock(ReadCacheImpl.class);