diff options
author | lukasz-jarocki-sonarsource <lukasz.jarocki@sonarsource.com> | 2024-10-11 12:13:17 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2024-10-11 20:02:43 +0000 |
commit | 38a765efec578eadc53393e65f3b6b892ab83bcf (patch) | |
tree | 9b721284a44fdf5bc64a48a278fe0c8105f8c654 /sonar-scanner-protocol/src | |
parent | 3f0a34901c55eb1e204fe4028d2773f8484b513f (diff) | |
download | sonarqube-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')
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()); + } } |