aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-protocol/src
diff options
context:
space:
mode:
authorlukasz-jarocki-sonarsource <lukasz.jarocki@sonarsource.com>2024-10-11 12:13:17 +0200
committersonartech <sonartech@sonarsource.com>2024-10-11 20:02:43 +0000
commit38a765efec578eadc53393e65f3b6b892ab83bcf (patch)
tree9b721284a44fdf5bc64a48a278fe0c8105f8c654 /sonar-scanner-protocol/src
parent3f0a34901c55eb1e204fe4028d2773f8484b513f (diff)
downloadsonarqube-38a765efec578eadc53393e65f3b6b892ab83bcf.tar.gz
sonarqube-38a765efec578eadc53393e65f3b6b892ab83bcf.zip
SONAR-23327 Added support for sending telemetry data in compute engine process
Diffstat (limited to 'sonar-scanner-protocol/src')
-rw-r--r--sonar-scanner-protocol/src/it/java/org/sonar/scanner/protocol/output/ScannerReportReaderIT.java16
-rw-r--r--sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportReader.java8
2 files changed, 24 insertions, 0 deletions
diff --git a/sonar-scanner-protocol/src/it/java/org/sonar/scanner/protocol/output/ScannerReportReaderIT.java b/sonar-scanner-protocol/src/it/java/org/sonar/scanner/protocol/output/ScannerReportReaderIT.java
index b2bf317afa7..7aa0556e55a 100644
--- a/sonar-scanner-protocol/src/it/java/org/sonar/scanner/protocol/output/ScannerReportReaderIT.java
+++ b/sonar-scanner-protocol/src/it/java/org/sonar/scanner/protocol/output/ScannerReportReaderIT.java
@@ -373,4 +373,20 @@ public class ScannerReportReaderIT {
public void return_null_when_no_file_source() {
assertThat(underTest.readFileSource(UNKNOWN_COMPONENT_REF)).isNull();
}
+
+ @Test
+ public void readTelemetryEntries_whenFileExists() {
+ ScannerReportWriter writer = new ScannerReportWriter(fileStructure);
+ ScannerReport.TelemetryEntry.Builder telemetry = ScannerReport.TelemetryEntry.newBuilder()
+ .setKey("key")
+ .setValue("value");
+ writer.writeTelemetry(List.of(telemetry.build()));
+
+ assertThat(underTest.readTelemetryEntries()).toIterable().hasSize(1);
+ }
+
+ @Test
+ public void readTelemetryEntries_whenFileDoesntExists() {
+ assertThat(underTest.readTelemetryEntries()).toIterable().isEmpty();
+ }
}
diff --git a/sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportReader.java b/sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportReader.java
index 4569a347891..807509a83fb 100644
--- a/sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportReader.java
+++ b/sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportReader.java
@@ -233,4 +233,12 @@ public class ScannerReportReader {
public FileStructure getFileStructure() {
return fileStructure;
}
+
+ public CloseableIterator<ScannerReport.TelemetryEntry> readTelemetryEntries() {
+ File file = fileStructure.telemetryEntries();
+ if (!fileExists(file)) {
+ return emptyCloseableIterator();
+ }
+ return Protobuf.readStream(file, ScannerReport.TelemetryEntry.parser());
+ }
}