aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java')
-rw-r--r--sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java b/sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java
index 1cdd295a82d..f2edfe609d4 100644
--- a/sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java
+++ b/sonar-scanner-engine/src/testFixtures/java/org/sonar/scanner/mediumtest/ScannerMediumTester.java
@@ -19,6 +19,9 @@
*/
package org.sonar.scanner.mediumtest;
+import static java.util.Collections.emptySet;
+
+import jakarta.annotation.Priority;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -38,7 +41,6 @@ import java.util.Properties;
import java.util.Set;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-import jakarta.annotation.Priority;
import org.apache.commons.io.FileUtils;
import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
@@ -60,6 +62,7 @@ import org.sonar.api.utils.Version;
import org.sonar.batch.bootstrapper.Batch;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.batch.bootstrapper.LogOutput;
+import org.sonar.core.platform.PluginInfo;
import org.sonar.scanner.bootstrap.GlobalAnalysisMode;
import org.sonar.scanner.cache.AnalysisCacheLoader;
import org.sonar.scanner.protocol.internal.SensorCacheData;
@@ -86,8 +89,6 @@ import org.sonarqube.ws.NewCodePeriods;
import org.sonarqube.ws.Qualityprofiles.SearchWsResponse.QualityProfile;
import org.sonarqube.ws.Rules.Rule;
-import static java.util.Collections.emptySet;
-
/**
* Main utility class for writing scanner medium tests.
*/
@@ -111,6 +112,7 @@ public class ScannerMediumTester extends ExternalResource implements BeforeTestE
private final CeTaskReportDataHolder reportMetadataHolder = new CeTaskReportDataHolderExt();
private final FakeLanguagesLoader languagesLoader = new FakeLanguagesLoader();
private final FakeLanguagesProvider languagesProvider = new FakeLanguagesProvider();
+ private final FakeFeatureFlagsLoader featureFlagsLoader = new FakeFeatureFlagsLoader();
private LogOutput logOutput = null;
private static void createWorkingDirs() throws IOException {
@@ -145,6 +147,11 @@ public class ScannerMediumTester extends ExternalResource implements BeforeTestE
return this;
}
+ public ScannerMediumTester registerPlugin(PluginInfo pluginInfo, Plugin instance) {
+ pluginInstaller.add(pluginInfo, instance);
+ return this;
+ }
+
public ScannerMediumTester registerOptionalPlugin(String pluginKey, Set<String> requiredForLanguages, Plugin instance) {
pluginInstaller.addOptional(pluginKey, requiredForLanguages, instance);
return this;
@@ -310,6 +317,10 @@ public class ScannerMediumTester extends ExternalResource implements BeforeTestE
languagesProvider.addLanguage(key, name, publishAllFiles);
}
+ public void enableFeature(String featureName) {
+ featureFlagsLoader.enableFeature(featureName);
+ }
+
public static class AnalysisBuilder {
private final Map<String, String> taskProperties = new HashMap<>();
private final ScannerMediumTester tester;
@@ -343,6 +354,7 @@ public class ScannerMediumTester extends ExternalResource implements BeforeTestE
tester.reportMetadataHolder,
tester.languagesLoader,
tester.languagesProvider,
+ tester.featureFlagsLoader,
result);
if (tester.logOutput != null) {
builder.setLogOutput(tester.logOutput);