aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine/src
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2016-08-31 16:05:43 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2016-09-06 10:13:55 +0200
commitf79030e299ce766ec510ce2019c7b5e77105a1cd (patch)
tree380ff3dad2fb6378b5a2338eef4d28ea9fcbefb6 /sonar-scanner-engine/src
parenta8b6d946372e3dd3f1a0bacace78b9d02867897f (diff)
downloadsonarqube-f79030e299ce766ec510ce2019c7b5e77105a1cd.tar.gz
sonarqube-f79030e299ce766ec510ce2019c7b5e77105a1cd.zip
SONAR-7678 server-side stateless settings
* Settings class becomes abstract as multiple implementations are used. Can't become an interface for binary backward-compatibility of API * tests should use MapSettings, an in-memory implementation of Settings * web server uses a thread-specific cache of settings when processing HTTP requests * web server does not have a cache of settings during startup, except for the system settings loaded from sonar.properties * Compute Engine uses a thread-specific cache of settings when processing a task. Cache is clear at end of task. * some useless methods of PersistentSettings are removed
Diffstat (limited to 'sonar-scanner-engine/src')
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalSettings.java24
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ModuleSettings.java26
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectSettings.java30
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/ProjectConfiguratorTest.java10
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/BatchPluginPredicateTest.java5
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/FileCacheProviderTest.java11
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/CpdExecutorTest.java10
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/DefaultCpdBlockIndexerTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/JavaCpdBlockIndexerTest.java12
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueExclusionPatternInitializerTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueInclusionPatternInitializerTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/platform/DefaultServerTest.java7
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/DefaultPostJobContextTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/PostJobOptimizerTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/report/MetadataPublisherTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/report/ReportPublisherTest.java6
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileVerifierTest.java6
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/RulesProfileProviderTest.java7
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/LanguageVerifierTest.java3
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ModuleSettingsTest.java31
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectReactorValidatorTest.java11
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectSettingsTest.java11
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/ExclusionFiltersTest.java18
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderFactoryTest.java9
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderTest.java16
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionFactoryTest.java6
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionTest.java26
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/ConsoleReportTest.java8
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/JSONReportTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorContextTest.java3
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorStorageTest.java3
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/SensorOptimizerTest.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/coverage/CoverageExclusionsTest.java13
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/source/SymbolizableBuilderTest.java1
34 files changed, 189 insertions, 156 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalSettings.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalSettings.java
index b327d79017a..5305f666d39 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalSettings.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalSettings.java
@@ -20,10 +20,13 @@
package org.sonar.scanner.bootstrap;
import com.google.common.collect.ImmutableMap;
+import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.CoreProperties;
+import org.sonar.api.config.Encryption;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.MessageException;
@@ -46,11 +49,12 @@ public class GlobalSettings extends Settings {
private final GlobalProperties bootstrapProps;
private final GlobalRepositories globalReferentials;
private final GlobalMode mode;
+ private final Map<String, String> properties = new HashMap<>();
public GlobalSettings(GlobalProperties bootstrapProps, PropertyDefinitions propertyDefinitions,
GlobalRepositories globalReferentials, GlobalMode mode) {
- super(propertyDefinitions);
+ super(propertyDefinitions, new Encryption(null));
this.mode = mode;
getEncryption().setPathToSecretKey(bootstrapProps.property(CoreProperties.ENCRYPTION_SECRET_KEY_PATH));
this.bootstrapProps = bootstrapProps;
@@ -69,10 +73,26 @@ public class GlobalSettings extends Settings {
}
@Override
- protected void doOnGetProperties(String key) {
+ protected Optional<String> get(String key) {
if (mode.isIssues() && key.endsWith(".secured") && !key.contains(".license")) {
throw MessageException.of("Access to the secured property '" + key
+ "' is not possible in issues mode. The SonarQube plugin which requires this property must be deactivated in issues mode.");
}
+ return Optional.ofNullable(properties.get(key));
+ }
+
+ @Override
+ public Map<String, String> getProperties() {
+ return properties;
+ }
+
+ @Override
+ protected void set(String key, String value) {
+ properties.put(key, value);
+ }
+
+ @Override
+ protected void remove(String key) {
+ properties.remove(key);
}
}
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ModuleSettings.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ModuleSettings.java
index 59bbd4472bc..c5f4dbaa3d7 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ModuleSettings.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ModuleSettings.java
@@ -20,8 +20,10 @@
package org.sonar.scanner.scan;
import com.google.common.collect.Lists;
+import java.util.HashMap;
import java.util.List;
-import org.sonar.api.CoreProperties;
+import java.util.Map;
+import java.util.Optional;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.MessageException;
@@ -37,13 +39,13 @@ public class ModuleSettings extends Settings {
private final ProjectRepositories projectRepos;
private final DefaultAnalysisMode analysisMode;
+ private final Map<String, String> properties = new HashMap<>();
public ModuleSettings(GlobalSettings batchSettings, ProjectDefinition moduleDefinition, ProjectRepositories projectSettingsRepo,
DefaultAnalysisMode analysisMode, AnalysisContextReportPublisher contextReportPublisher) {
- super(batchSettings.getDefinitions());
+ super(batchSettings.getDefinitions(), batchSettings.getEncryption());
this.projectRepos = projectSettingsRepo;
this.analysisMode = analysisMode;
- getEncryption().setPathToSecretKey(batchSettings.getString(CoreProperties.ENCRYPTION_SECRET_KEY_PATH));
init(moduleDefinition, batchSettings);
contextReportPublisher.dumpModuleSettings(moduleDefinition);
@@ -87,10 +89,26 @@ public class ModuleSettings extends Settings {
}
@Override
- protected void doOnGetProperties(String key) {
+ protected Optional<String> get(String key) {
if (analysisMode.isIssues() && key.endsWith(".secured") && !key.contains(".license")) {
throw MessageException.of("Access to the secured property '" + key
+ "' is not possible in issues mode. The SonarQube plugin which requires this property must be deactivated in issues mode.");
}
+ return Optional.ofNullable(properties.get(key));
+ }
+
+ @Override
+ protected void set(String key, String value) {
+ properties.put(key, value);
+ }
+
+ @Override
+ protected void remove(String key) {
+ properties.remove(key);
+ }
+
+ @Override
+ public Map<String, String> getProperties() {
+ return properties;
}
}
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectSettings.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectSettings.java
index c4784114b8b..9f96c6e9f1e 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectSettings.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectSettings.java
@@ -19,9 +19,10 @@
*/
package org.sonar.scanner.scan;
-import org.sonar.api.CoreProperties;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
import org.sonar.api.batch.bootstrap.ProjectReactor;
-import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.MessageException;
import org.sonar.scanner.analysis.DefaultAnalysisMode;
@@ -33,12 +34,11 @@ public class ProjectSettings extends Settings {
private final GlobalSettings globalSettings;
private final ProjectRepositories projectRepositories;
private final DefaultAnalysisMode mode;
+ private final Map<String, String> properties = new HashMap<>();
- public ProjectSettings(ProjectReactor reactor, GlobalSettings globalSettings, PropertyDefinitions propertyDefinitions,
- ProjectRepositories projectRepositories, DefaultAnalysisMode mode) {
- super(propertyDefinitions);
+ public ProjectSettings(ProjectReactor reactor, GlobalSettings globalSettings, ProjectRepositories projectRepositories, DefaultAnalysisMode mode) {
+ super(globalSettings.getDefinitions(), globalSettings.getEncryption());
this.mode = mode;
- getEncryption().setPathToSecretKey(globalSettings.getString(CoreProperties.ENCRYPTION_SECRET_KEY_PATH));
this.globalSettings = globalSettings;
this.projectRepositories = projectRepositories;
init(reactor);
@@ -53,10 +53,26 @@ public class ProjectSettings extends Settings {
}
@Override
- protected void doOnGetProperties(String key) {
+ protected Optional<String> get(String key) {
if (mode.isIssues() && key.endsWith(".secured") && !key.contains(".license")) {
throw MessageException.of("Access to the secured property '" + key
+ "' is not possible in issues mode. The SonarQube plugin which requires this property must be deactivated in issues mode.");
}
+ return Optional.ofNullable(properties.get(key));
+ }
+
+ @Override
+ protected void set(String key, String value) {
+ properties.put(key, value);
+ }
+
+ @Override
+ protected void remove(String key) {
+ properties.remove(key);
+ }
+
+ @Override
+ public Map<String, String> getProperties() {
+ return properties;
}
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/ProjectConfiguratorTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/ProjectConfiguratorTest.java
index 7e291ee34d3..95b1673bf82 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/ProjectConfiguratorTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/ProjectConfiguratorTest.java
@@ -25,9 +25,9 @@ import org.junit.Before;
import org.junit.Test;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.System2;
-import org.sonar.scanner.ProjectConfigurator;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -48,13 +48,13 @@ public class ProjectConfiguratorTest {
when(system2.now()).thenReturn(now);
Project project = new Project("key");
- new ProjectConfigurator(new Settings(), system2).configure(project);
+ new ProjectConfigurator(new MapSettings(), system2).configure(project);
assertThat(now - project.getAnalysisDate().getTime()).isLessThan(1000);
}
@Test
public void analysis_date_could_be_explicitly_set() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_DATE_PROPERTY, "2005-01-30");
Project project = new Project("key");
new ProjectConfigurator(settings, system2).configure(project);
@@ -64,7 +64,7 @@ public class ProjectConfiguratorTest {
@Test
public void analysis_timestamp_could_be_explicitly_set() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_DATE_PROPERTY, "2005-01-30T08:45:10+0000");
Project project = new Project("key");
new ProjectConfigurator(settings, system2).configure(project);
@@ -76,7 +76,7 @@ public class ProjectConfiguratorTest {
@Test(expected = RuntimeException.class)
public void fail_if_analyis_date_is_not_valid() {
- Settings configuration = new Settings();
+ Settings configuration = new MapSettings();
configuration.setProperty(CoreProperties.PROJECT_DATE_PROPERTY, "2005/30/01");
Project project = new Project("key");
new ProjectConfigurator(configuration, system2).configure(project);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/BatchPluginPredicateTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/BatchPluginPredicateTest.java
index 99f9d9eb981..01f32880499 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/BatchPluginPredicateTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/BatchPluginPredicateTest.java
@@ -22,8 +22,7 @@ package org.sonar.scanner.bootstrap;
import org.junit.Test;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
-import org.sonar.scanner.bootstrap.BatchPluginPredicate;
-import org.sonar.scanner.bootstrap.GlobalMode;
+import org.sonar.api.config.MapSettings;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -31,7 +30,7 @@ import static org.mockito.Mockito.when;
public class BatchPluginPredicateTest {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
GlobalMode mode = mock(GlobalMode.class);
@Test
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/FileCacheProviderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/FileCacheProviderTest.java
index 251b8c84b28..70602d7634f 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/FileCacheProviderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/FileCacheProviderTest.java
@@ -21,13 +21,12 @@ package org.sonar.scanner.bootstrap;
import java.io.File;
import java.io.IOException;
-
import org.junit.Rule;
-import org.junit.rules.TemporaryFolder;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.home.cache.FileCache;
-import org.sonar.scanner.bootstrap.FileCacheProvider;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,7 +37,7 @@ public class FileCacheProviderTest {
@Test
public void provide() {
FileCacheProvider provider = new FileCacheProvider();
- FileCache cache = provider.provide(new Settings());
+ FileCache cache = provider.provide(new MapSettings());
assertThat(cache).isNotNull();
assertThat(cache.getDir()).isNotNull().exists();
@@ -47,7 +46,7 @@ public class FileCacheProviderTest {
@Test
public void keep_singleton_instance() {
FileCacheProvider provider = new FileCacheProvider();
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
FileCache cache1 = provider.provide(settings);
FileCache cache2 = provider.provide(settings);
@@ -57,7 +56,7 @@ public class FileCacheProviderTest {
@Test
public void honor_sonarUserHome() throws IOException {
FileCacheProvider provider = new FileCacheProvider();
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
File f = temp.newFolder();
settings.appendProperty("sonar.userHome", f.getAbsolutePath());
FileCache cache = provider.provide(settings);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/CpdExecutorTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/CpdExecutorTest.java
index 4ae6eaf0e82..24d1023ade2 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/CpdExecutorTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/CpdExecutorTest.java
@@ -32,21 +32,21 @@ import org.junit.rules.TemporaryFolder;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.fs.internal.DefaultInputModule;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.log.LogTester;
import org.sonar.api.utils.log.LoggerLevel;
import org.sonar.core.util.CloseableIterator;
import org.sonar.duplications.index.CloneGroup;
import org.sonar.duplications.index.ClonePart;
-import org.sonar.scanner.protocol.output.ScannerReport.Duplicate;
-import org.sonar.scanner.protocol.output.ScannerReport.Duplication;
-import org.sonar.scanner.report.ReportPublisher;
-import org.sonar.scanner.cpd.CpdExecutor;
import org.sonar.scanner.cpd.index.SonarCpdBlockIndex;
import org.sonar.scanner.index.BatchComponent;
import org.sonar.scanner.index.BatchComponentCache;
+import org.sonar.scanner.protocol.output.ScannerReport.Duplicate;
+import org.sonar.scanner.protocol.output.ScannerReport.Duplication;
import org.sonar.scanner.protocol.output.ScannerReportReader;
import org.sonar.scanner.protocol.output.ScannerReportWriter;
+import org.sonar.scanner.report.ReportPublisher;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -76,7 +76,7 @@ public class CpdExecutorTest {
public void setUp() throws IOException {
File outputDir = temp.newFolder();
- settings = new Settings();
+ settings = new MapSettings();
index = mock(SonarCpdBlockIndex.class);
publisher = mock(ReportPublisher.class);
when(publisher.getWriter()).thenReturn(new ScannerReportWriter(outputDir));
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/DefaultCpdBlockIndexerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/DefaultCpdBlockIndexerTest.java
index 17338bab8af..f748f296d8a 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/DefaultCpdBlockIndexerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/DefaultCpdBlockIndexerTest.java
@@ -23,7 +23,7 @@ import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.sonar.api.config.Settings;
-import org.sonar.scanner.cpd.deprecated.DefaultCpdBlockIndexer;
+import org.sonar.api.config.MapSettings;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.anyString;
@@ -39,7 +39,7 @@ public class DefaultCpdBlockIndexerTest {
@Before
public void init() {
- settings = new Settings();
+ settings = new MapSettings();
engine = new DefaultCpdBlockIndexer(null, null, settings, null);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/JavaCpdBlockIndexerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/JavaCpdBlockIndexerTest.java
index d59fb62a858..f43120e5c84 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/JavaCpdBlockIndexerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/cpd/deprecated/JavaCpdBlockIndexerTest.java
@@ -19,6 +19,9 @@
*/
package org.sonar.scanner.cpd.deprecated;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
import org.apache.commons.io.FileUtils;
import org.junit.Before;
import org.junit.Rule;
@@ -33,13 +36,10 @@ import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.duplications.block.Block;
-import org.sonar.scanner.cpd.deprecated.JavaCpdBlockIndexer;
import org.sonar.scanner.cpd.index.SonarCpdBlockIndex;
import org.sonar.scanner.index.BatchComponentCache;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.eq;
@@ -76,13 +76,13 @@ public class JavaCpdBlockIndexerTest {
File ioFile = file.file();
FileUtils.copyURLToFile(this.getClass().getResource("ManyStatements.java"), ioFile);
- settings = new Settings();
+ settings = new MapSettings();
engine = new JavaCpdBlockIndexer(fs, settings, index);
}
@Test
public void languageSupported() {
- JavaCpdBlockIndexer engine = new JavaCpdBlockIndexer(mock(FileSystem.class), new Settings(), index);
+ JavaCpdBlockIndexer engine = new JavaCpdBlockIndexer(mock(FileSystem.class), new MapSettings(), index);
assertThat(engine.isLanguageSupported(JAVA)).isTrue();
assertThat(engine.isLanguageSupported("php")).isFalse();
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueExclusionPatternInitializerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueExclusionPatternInitializerTest.java
index c9fbc50229e..17e18d36f21 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueExclusionPatternInitializerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueExclusionPatternInitializerTest.java
@@ -24,9 +24,9 @@ import org.junit.Before;
import org.junit.Test;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.utils.SonarException;
import org.sonar.core.config.IssueExclusionProperties;
-import org.sonar.scanner.issue.ignore.pattern.IssueExclusionPatternInitializer;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,7 +38,7 @@ public class IssueExclusionPatternInitializerTest {
@Before
public void init() {
- settings = new Settings(new PropertyDefinitions(IssueExclusionProperties.all()));
+ settings = new MapSettings(new PropertyDefinitions(IssueExclusionProperties.all()));
patternsInitializer = new IssueExclusionPatternInitializer(settings);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueInclusionPatternInitializerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueInclusionPatternInitializerTest.java
index e34f19ea649..0e323768f64 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueInclusionPatternInitializerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ignore/pattern/IssueInclusionPatternInitializerTest.java
@@ -23,8 +23,8 @@ import org.junit.Before;
import org.junit.Test;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.core.config.IssueExclusionProperties;
-import org.sonar.scanner.issue.ignore.pattern.IssueInclusionPatternInitializer;
import static org.assertj.core.api.Assertions.assertThat;
@@ -36,7 +36,7 @@ public class IssueInclusionPatternInitializerTest {
@Before
public void init() {
- settings = new Settings(new PropertyDefinitions(IssueExclusionProperties.all()));
+ settings = new MapSettings(new PropertyDefinitions(IssueExclusionProperties.all()));
patternsInitializer = new IssueInclusionPatternInitializer(settings);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/platform/DefaultServerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/platform/DefaultServerTest.java
index 70fe5399662..e743714e568 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/platform/DefaultServerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/platform/DefaultServerTest.java
@@ -22,6 +22,7 @@ package org.sonar.scanner.platform;
import org.junit.Test;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.scanner.bootstrap.BatchWsClient;
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,7 +33,7 @@ public class DefaultServerTest {
@Test
public void shouldLoadServerProperties() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.SERVER_ID, "123");
settings.setProperty(CoreProperties.SERVER_VERSION, "2.2");
settings.setProperty(CoreProperties.SERVER_STARTTIME, "2010-05-18T17:59:00+0000");
@@ -57,7 +58,7 @@ public class DefaultServerTest {
@Test
public void publicRootUrl() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
BatchWsClient client = mock(BatchWsClient.class);
when(client.baseUrl()).thenReturn("http://foo.com/");
DefaultServer metadata = new DefaultServer(settings, client);
@@ -71,7 +72,7 @@ public class DefaultServerTest {
@Test(expected = RuntimeException.class)
public void invalid_startup_date_throws_exception() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.SERVER_STARTTIME, "invalid");
BatchWsClient client = mock(BatchWsClient.class);
DefaultServer metadata = new DefaultServer(settings, client);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/DefaultPostJobContextTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/DefaultPostJobContextTest.java
index caa182c49c2..8a977c8644f 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/DefaultPostJobContextTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/DefaultPostJobContextTest.java
@@ -27,11 +27,11 @@ import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.postjob.issue.PostJobIssue;
import org.sonar.api.batch.rule.Severity;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.File;
import org.sonar.scanner.index.BatchComponentCache;
import org.sonar.scanner.issue.IssueCache;
import org.sonar.scanner.issue.tracking.TrackedIssue;
-import org.sonar.scanner.postjob.DefaultPostJobContext;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -49,7 +49,7 @@ public class DefaultPostJobContextTest {
public void prepare() {
issueCache = mock(IssueCache.class);
resourceCache = new BatchComponentCache();
- settings = new Settings();
+ settings = new MapSettings();
analysisMode = mock(AnalysisMode.class);
context = new DefaultPostJobContext(settings, issueCache, resourceCache, analysisMode);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/PostJobOptimizerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/PostJobOptimizerTest.java
index 3875f6974f0..edff0dc0c18 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/PostJobOptimizerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/postjob/PostJobOptimizerTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.batch.postjob.internal.DefaultPostJobDescriptor;
import org.sonar.api.config.Settings;
-import org.sonar.scanner.postjob.PostJobOptimizer;
+import org.sonar.api.config.MapSettings;
import static org.assertj.core.api.Assertions.assertThat;
@@ -39,7 +39,7 @@ public class PostJobOptimizerTest {
@Before
public void prepare() {
- settings = new Settings();
+ settings = new MapSettings();
optimizer = new PostJobOptimizer(settings);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/MetadataPublisherTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/MetadataPublisherTest.java
index d88135649a9..c79cef9cbaa 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/MetadataPublisherTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/report/MetadataPublisherTest.java
@@ -28,12 +28,12 @@ import org.junit.rules.TemporaryFolder;
import org.sonar.api.CoreProperties;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Project;
import org.sonar.scanner.index.BatchComponentCache;
import org.sonar.scanner.protocol.output.ScannerReport;
import org.sonar.scanner.protocol.output.ScannerReportReader;
import org.sonar.scanner.protocol.output.ScannerReportWriter;
-import org.sonar.scanner.report.MetadataPublisher;
import org.sonar.scanner.rule.ModuleQProfiles;
import org.sonar.scanner.rule.QProfile;
import org.sonar.scanner.scan.ImmutableProjectReactor;
@@ -63,7 +63,7 @@ public class MetadataPublisherTest {
org.sonar.api.resources.Resource sampleFile = org.sonar.api.resources.File.create("src/Foo.php").setEffectiveKey("foo:src/Foo.php");
componentCache.add(project, null);
componentCache.add(sampleFile, project);
- settings = new Settings();
+ settings = new MapSettings();
qProfiles = mock(ModuleQProfiles.class);
underTest = new MetadataPublisher(componentCache, new ImmutableProjectReactor(projectDef), settings, qProfiles);
}
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 4f8dcd58f19..7ff2e9403b1 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
@@ -32,6 +32,7 @@ import org.mockito.Mockito;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.platform.Server;
import org.sonar.api.utils.MessageException;
import org.sonar.api.utils.TempFolder;
@@ -40,9 +41,6 @@ import org.sonar.api.utils.log.LoggerLevel;
import org.sonar.core.config.CorePropertyDefinitions;
import org.sonar.scanner.analysis.DefaultAnalysisMode;
import org.sonar.scanner.bootstrap.BatchWsClient;
-import org.sonar.scanner.report.AnalysisContextReportPublisher;
-import org.sonar.scanner.report.ReportPublisher;
-import org.sonar.scanner.report.ReportPublisherStep;
import org.sonar.scanner.scan.ImmutableProjectReactor;
import static org.apache.commons.io.FileUtils.readFileToString;
@@ -62,7 +60,7 @@ public class ReportPublisherTest {
public ExpectedException exception = ExpectedException.none();
DefaultAnalysisMode mode = mock(DefaultAnalysisMode.class);
- Settings settings = new Settings(new PropertyDefinitions(CorePropertyDefinitions.all()));
+ Settings settings = new MapSettings(new PropertyDefinitions(CorePropertyDefinitions.all()));
BatchWsClient wsClient = mock(BatchWsClient.class, Mockito.RETURNS_DEEP_STUBS);
Server server = mock(Server.class);
ImmutableProjectReactor reactor = mock(ImmutableProjectReactor.class);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileVerifierTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileVerifierTest.java
index 00c9ea3d8dd..aa12313ba27 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileVerifierTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileVerifierTest.java
@@ -27,10 +27,8 @@ import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.utils.MessageException;
-import org.sonar.scanner.rule.ModuleQProfiles;
-import org.sonar.scanner.rule.QProfile;
-import org.sonar.scanner.rule.QProfileVerifier;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -46,7 +44,7 @@ public class QProfileVerifierTest {
private DefaultFileSystem fs;
private ModuleQProfiles profiles;
- private Settings settings = new Settings();
+ private Settings settings = new MapSettings();
@Before
public void before() throws Exception {
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/RulesProfileProviderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/RulesProfileProviderTest.java
index 3dc3651276b..a15845f3afb 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/RulesProfileProviderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/RulesProfileProviderTest.java
@@ -23,12 +23,9 @@ import java.util.Arrays;
import org.junit.Test;
import org.sonar.api.batch.rule.internal.ActiveRulesBuilder;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.profiles.RulesProfile;
import org.sonar.api.rule.RuleKey;
-import org.sonar.scanner.rule.ModuleQProfiles;
-import org.sonar.scanner.rule.QProfile;
-import org.sonar.scanner.rule.RulesProfileProvider;
-import org.sonar.scanner.rule.RulesProfileWrapper;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.fail;
@@ -38,7 +35,7 @@ import static org.mockito.Mockito.when;
public class RulesProfileProviderTest {
ModuleQProfiles qProfiles = mock(ModuleQProfiles.class);
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
RulesProfileProvider provider = new RulesProfileProvider();
@Test
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/LanguageVerifierTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/LanguageVerifierTest.java
index 652a7c106a7..e4af7a57587 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/LanguageVerifierTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/LanguageVerifierTest.java
@@ -26,6 +26,7 @@ import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Languages;
import org.sonar.api.utils.MessageException;
import org.sonar.scanner.FakeJava;
@@ -42,7 +43,7 @@ public class LanguageVerifierTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
- private Settings settings = new Settings();
+ private Settings settings = new MapSettings();
private LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(FakeJava.INSTANCE));
private DefaultFileSystem fs;
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ModuleSettingsTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ModuleSettingsTest.java
index 05c1e9f5724..f779b0d80f4 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ModuleSettingsTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ModuleSettingsTest.java
@@ -33,11 +33,13 @@ import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.utils.MessageException;
import org.sonar.scanner.analysis.DefaultAnalysisMode;
+import org.sonar.scanner.bootstrap.GlobalMode;
+import org.sonar.scanner.bootstrap.GlobalProperties;
import org.sonar.scanner.bootstrap.GlobalSettings;
+import org.sonar.scanner.protocol.input.GlobalRepositories;
import org.sonar.scanner.report.AnalysisContextReportPublisher;
import org.sonar.scanner.repository.FileData;
import org.sonar.scanner.repository.ProjectRepositories;
-import org.sonar.scanner.scan.ModuleSettings;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -81,9 +83,7 @@ public class ModuleSettingsTest {
@Test
public void test_loading_of_module_settings() {
- GlobalSettings globalSettings = mock(GlobalSettings.class);
- when(globalSettings.getDefinitions()).thenReturn(new PropertyDefinitions());
- when(globalSettings.getProperties()).thenReturn(ImmutableMap.of(
+ GlobalSettings globalSettings = newGlobalSettings(ImmutableMap.of(
"overridding", "batch",
"on-batch", "true"));
@@ -96,15 +96,12 @@ public class ModuleSettingsTest {
assertThat(moduleSettings.getString("overridding")).isEqualTo("module");
assertThat(moduleSettings.getString("on-batch")).isEqualTo("true");
assertThat(moduleSettings.getString("on-module")).isEqualTo("true");
-
}
// SONAR-6386
@Test
public void test_loading_of_parent_module_settings_for_new_module() {
- GlobalSettings globalSettings = mock(GlobalSettings.class);
- when(globalSettings.getDefinitions()).thenReturn(new PropertyDefinitions());
- when(globalSettings.getProperties()).thenReturn(ImmutableMap.of(
+ GlobalSettings globalSettings = newGlobalSettings(ImmutableMap.of(
"overridding", "batch",
"on-batch", "true"));
@@ -122,16 +119,14 @@ public class ModuleSettingsTest {
@Test
public void should_not_fail_when_accessing_secured_properties() {
- GlobalSettings batchSettings = mock(GlobalSettings.class);
- when(batchSettings.getDefinitions()).thenReturn(new PropertyDefinitions());
- when(batchSettings.getProperties()).thenReturn(ImmutableMap.of(
+ GlobalSettings globalSettings = newGlobalSettings(ImmutableMap.of(
"sonar.foo.secured", "bar"));
ProjectRepositories projSettingsRepo = createSettings("struts-core", ImmutableMap.of("sonar.foo.license.secured", "bar2"));
ProjectDefinition module = ProjectDefinition.create().setKey("struts-core");
- ModuleSettings moduleSettings = new ModuleSettings(batchSettings, module, projSettingsRepo, mode, mock(AnalysisContextReportPublisher.class));
+ ModuleSettings moduleSettings = new ModuleSettings(globalSettings, module, projSettingsRepo, mode, mock(AnalysisContextReportPublisher.class));
assertThat(moduleSettings.getString("sonar.foo.license.secured")).isEqualTo("bar2");
assertThat(moduleSettings.getString("sonar.foo.secured")).isEqualTo("bar");
@@ -139,9 +134,7 @@ public class ModuleSettingsTest {
@Test
public void should_fail_when_accessing_secured_properties_in_issues() {
- GlobalSettings batchSettings = mock(GlobalSettings.class);
- when(batchSettings.getDefinitions()).thenReturn(new PropertyDefinitions());
- when(batchSettings.getProperties()).thenReturn(ImmutableMap.of(
+ GlobalSettings globalSettings = newGlobalSettings(ImmutableMap.of(
"sonar.foo.secured", "bar"));
ProjectRepositories projSettingsRepo = createSettings("struts-core", ImmutableMap.of("sonar.foo.license.secured", "bar2"));
@@ -150,7 +143,7 @@ public class ModuleSettingsTest {
ProjectDefinition module = ProjectDefinition.create().setKey("struts-core");
- ModuleSettings moduleSettings = new ModuleSettings(batchSettings, module, projSettingsRepo, mode, mock(AnalysisContextReportPublisher.class));
+ ModuleSettings moduleSettings = new ModuleSettings(globalSettings, module, projSettingsRepo, mode, mock(AnalysisContextReportPublisher.class));
assertThat(moduleSettings.getString("sonar.foo.license.secured")).isEqualTo("bar2");
@@ -160,4 +153,10 @@ public class ModuleSettingsTest {
"Access to the secured property 'sonar.foo.secured' is not possible in issues mode. The SonarQube plugin which requires this property must be deactivated in issues mode.");
moduleSettings.getString("sonar.foo.secured");
}
+
+ private GlobalSettings newGlobalSettings(Map<String, String> props) {
+ GlobalProperties globalProps = new GlobalProperties(props);
+ return new GlobalSettings(globalProps, new PropertyDefinitions(),
+ new GlobalRepositories(), new GlobalMode(globalProps));
+ }
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectReactorValidatorTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectReactorValidatorTest.java
index 35648c6c72e..9c9a24cc01d 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectReactorValidatorTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectReactorValidatorTest.java
@@ -19,11 +19,6 @@
*/
package org.sonar.scanner.scan;
-import static org.mockito.Mockito.when;
-
-import org.sonar.api.utils.MessageException;
-import org.sonar.scanner.analysis.DefaultAnalysisMode;
-import org.sonar.scanner.scan.ProjectReactorValidator;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -32,8 +27,12 @@ import org.sonar.api.CoreProperties;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
+import org.sonar.api.utils.MessageException;
+import org.sonar.scanner.analysis.DefaultAnalysisMode;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
public class ProjectReactorValidatorTest {
@@ -47,7 +46,7 @@ public class ProjectReactorValidatorTest {
@Before
public void prepare() {
mode = mock(DefaultAnalysisMode.class);
- settings = new Settings();
+ settings = new MapSettings();
validator = new ProjectReactorValidator(settings, mode);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectSettingsTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectSettingsTest.java
index e28b44a5f61..5b889fb1340 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectSettingsTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/ProjectSettingsTest.java
@@ -40,7 +40,6 @@ import org.sonar.scanner.bootstrap.GlobalSettings;
import org.sonar.scanner.protocol.input.GlobalRepositories;
import org.sonar.scanner.repository.FileData;
import org.sonar.scanner.repository.ProjectRepositories;
-import org.sonar.scanner.scan.ProjectSettings;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -77,7 +76,7 @@ public class ProjectSettingsTest {
project.setProperty("project.prop", "project");
projectRef = new ProjectRepositories(emptySettings, emptyFileData, null);
- ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, new PropertyDefinitions(), projectRef, mode);
+ ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, projectRef, mode);
assertThat(batchSettings.getString("project.prop")).isEqualTo("project");
}
@@ -89,7 +88,7 @@ public class ProjectSettingsTest {
settings.put("struts", "sonar.java.coveragePlugin", "jacoco");
projectRef = new ProjectRepositories(settings, emptyFileData, null);
- ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, new PropertyDefinitions(), projectRef, mode);
+ ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, projectRef, mode);
assertThat(batchSettings.getString("sonar.java.coveragePlugin")).isEqualTo("jacoco");
}
@@ -103,7 +102,7 @@ public class ProjectSettingsTest {
projectRef = new ProjectRepositories(settings, emptyFileData, null);
- ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, new PropertyDefinitions(), projectRef, mode);
+ ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, projectRef, mode);
assertThat(batchSettings.getString("sonar.java.coveragePlugin")).isEqualTo("jacoco");
}
@@ -115,7 +114,7 @@ public class ProjectSettingsTest {
settings.put("struts", "sonar.foo.license.secured", "bar2");
projectRef = new ProjectRepositories(settings, emptyFileData, null);
- ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, new PropertyDefinitions(), projectRef, mode);
+ ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, projectRef, mode);
assertThat(batchSettings.getString("sonar.foo.license.secured")).isEqualTo("bar2");
assertThat(batchSettings.getString("sonar.foo.secured")).isEqualTo("bar");
@@ -130,7 +129,7 @@ public class ProjectSettingsTest {
when(mode.isIssues()).thenReturn(true);
projectRef = new ProjectRepositories(settings, emptyFileData, null);
- ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, new PropertyDefinitions(), projectRef, mode);
+ ProjectSettings batchSettings = new ProjectSettings(new ProjectReactor(project), bootstrapProps, projectRef, mode);
assertThat(batchSettings.getString("sonar.foo.license.secured")).isEqualTo("bar2");
thrown.expect(MessageException.class);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/ExclusionFiltersTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/ExclusionFiltersTest.java
index c084c7c78e8..0007577b88c 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/ExclusionFiltersTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/ExclusionFiltersTest.java
@@ -19,6 +19,8 @@
*/
package org.sonar.scanner.scan.filesystem;
+import java.io.File;
+import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -26,10 +28,8 @@ import org.sonar.api.CoreProperties;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.scan.filesystem.FileExclusions;
-import org.sonar.scanner.scan.filesystem.ExclusionFilters;
-import java.io.File;
-import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
@@ -40,7 +40,7 @@ public class ExclusionFiltersTest {
@Test
public void no_inclusions_nor_exclusions() throws IOException {
- ExclusionFilters filter = new ExclusionFilters(new FileExclusions(new Settings()));
+ ExclusionFilters filter = new ExclusionFilters(new FileExclusions(new MapSettings()));
filter.prepare();
java.io.File file = temp.newFile();
@@ -51,7 +51,7 @@ public class ExclusionFiltersTest {
@Test
public void match_inclusion() throws IOException {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_INCLUSIONS_PROPERTY, "**/*Dao.java");
ExclusionFilters filter = new ExclusionFilters(new FileExclusions(settings));
filter.prepare();
@@ -66,7 +66,7 @@ public class ExclusionFiltersTest {
@Test
public void match_at_least_one_inclusion() throws IOException {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_INCLUSIONS_PROPERTY, "**/*Dao.java,**/*Dto.java");
ExclusionFilters filter = new ExclusionFilters(new FileExclusions(settings));
@@ -83,7 +83,7 @@ public class ExclusionFiltersTest {
@Test
public void match_exclusions() throws IOException {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_INCLUSIONS_PROPERTY, "src/main/java/**/*");
settings.setProperty(CoreProperties.PROJECT_TEST_INCLUSIONS_PROPERTY, "src/test/java/**/*");
settings.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, "**/*Dao.java");
@@ -108,7 +108,7 @@ public class ExclusionFiltersTest {
File baseDir = temp.newFile();
File excludedFile = new File(baseDir, "src/main/java/org/bar/Bar.java");
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_INCLUSIONS_PROPERTY, "src/main/java/**/*");
settings.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, "file:" + excludedFile.getCanonicalPath());
ExclusionFilters filter = new ExclusionFilters(new FileExclusions(settings));
@@ -124,7 +124,7 @@ public class ExclusionFiltersTest {
@Test
public void trim_pattern() {
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, " **/*Dao.java ");
ExclusionFilters filter = new ExclusionFilters(new FileExclusions(settings));
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderFactoryTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderFactoryTest.java
index 5dd278b89db..c8346db929f 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderFactoryTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderFactoryTest.java
@@ -23,13 +23,8 @@ import org.junit.Test;
import org.mockito.Mockito;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.fs.internal.FileMetadata;
-import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.scan.filesystem.PathResolver;
-import org.sonar.scanner.scan.filesystem.DefaultModuleFileSystem;
-import org.sonar.scanner.scan.filesystem.InputFileBuilder;
-import org.sonar.scanner.scan.filesystem.InputFileBuilderFactory;
-import org.sonar.scanner.scan.filesystem.LanguageDetectionFactory;
-import org.sonar.scanner.scan.filesystem.StatusDetectionFactory;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -43,7 +38,7 @@ public class InputFileBuilderFactoryTest {
DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class);
InputFileBuilderFactory factory = new InputFileBuilderFactory(ProjectDefinition.create().setKey("struts"), pathResolver, langDetectionFactory,
- statusDetectionFactory, new Settings(), new FileMetadata());
+ statusDetectionFactory, new MapSettings(), new FileMetadata());
InputFileBuilder builder = factory.create(fs);
assertThat(builder.langDetection()).isNotNull();
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderTest.java
index 0e496f4fe16..63fe01d8eb5 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/InputFileBuilderTest.java
@@ -19,6 +19,8 @@
*/
package org.sonar.scanner.scan.filesystem;
+import java.io.File;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
import org.junit.Rule;
import org.junit.Test;
@@ -26,15 +28,9 @@ import org.junit.rules.TemporaryFolder;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.fs.internal.FileMetadata;
-import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.scan.filesystem.PathResolver;
import org.sonar.api.utils.PathUtils;
-import org.sonar.scanner.scan.filesystem.DefaultModuleFileSystem;
-import org.sonar.scanner.scan.filesystem.InputFileBuilder;
-import org.sonar.scanner.scan.filesystem.LanguageDetection;
-import org.sonar.scanner.scan.filesystem.StatusDetection;
-import java.io.File;
-import java.nio.charset.StandardCharsets;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.any;
@@ -68,7 +64,7 @@ public class InputFileBuilderTest {
.thenReturn(InputFile.Status.ADDED);
InputFileBuilder builder = new InputFileBuilder("struts", new PathResolver(),
- langDetection, statusDetection, fs, new Settings(), new FileMetadata());
+ langDetection, statusDetection, fs, new MapSettings(), new FileMetadata());
DefaultInputFile inputFile = builder.create(srcFile);
builder.completeAndComputeMetadata(inputFile, InputFile.Type.MAIN);
@@ -91,7 +87,7 @@ public class InputFileBuilderTest {
when(fs.baseDir()).thenReturn(basedir);
InputFileBuilder builder = new InputFileBuilder("struts", new PathResolver(),
- langDetection, statusDetection, fs, new Settings(), new FileMetadata());
+ langDetection, statusDetection, fs, new MapSettings(), new FileMetadata());
DefaultInputFile inputFile = builder.create(srcFile);
assertThat(inputFile).isNull();
@@ -111,7 +107,7 @@ public class InputFileBuilderTest {
when(langDetection.language(any(InputFile.class))).thenReturn(null);
InputFileBuilder builder = new InputFileBuilder("struts", new PathResolver(),
- langDetection, statusDetection, fs, new Settings(), new FileMetadata());
+ langDetection, statusDetection, fs, new MapSettings(), new FileMetadata());
DefaultInputFile inputFile = builder.create(srcFile);
inputFile = builder.completeAndComputeMetadata(inputFile, InputFile.Type.MAIN);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionFactoryTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionFactoryTest.java
index 82c47c1aa0b..0064dd10ebf 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionFactoryTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionFactoryTest.java
@@ -20,13 +20,11 @@
package org.sonar.scanner.scan.filesystem;
import org.junit.Test;
-import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Languages;
import org.sonar.scanner.FakeJava;
import org.sonar.scanner.repository.language.DefaultLanguagesRepository;
import org.sonar.scanner.repository.language.LanguagesRepository;
-import org.sonar.scanner.scan.filesystem.LanguageDetection;
-import org.sonar.scanner.scan.filesystem.LanguageDetectionFactory;
import static org.assertj.core.api.Assertions.assertThat;
@@ -34,7 +32,7 @@ public class LanguageDetectionFactoryTest {
@Test
public void testCreate() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(FakeJava.INSTANCE));
- LanguageDetectionFactory factory = new LanguageDetectionFactory(new Settings(), languages);
+ LanguageDetectionFactory factory = new LanguageDetectionFactory(new MapSettings(), languages);
LanguageDetection languageDetection = factory.create();
assertThat(languageDetection).isNotNull();
assertThat(languageDetection.patternsByLanguage()).hasSize(1);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionTest.java
index d5013ed0ba7..16e66383578 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/filesystem/LanguageDetectionTest.java
@@ -19,6 +19,8 @@
*/
package org.sonar.scanner.scan.filesystem;
+import java.io.File;
+import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -27,14 +29,12 @@ import org.sonar.api.CoreProperties;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.resources.Language;
import org.sonar.api.resources.Languages;
import org.sonar.api.utils.MessageException;
import org.sonar.scanner.repository.language.DefaultLanguagesRepository;
import org.sonar.scanner.repository.language.LanguagesRepository;
-import org.sonar.scanner.scan.filesystem.LanguageDetection;
-import java.io.File;
-import java.io.IOException;
import static junit.framework.Assert.fail;
import static org.assertj.core.api.Assertions.assertThat;
@@ -59,7 +59,7 @@ public class LanguageDetectionTest {
@Test
public void search_by_file_extension() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("java", "java", "jav"), new MockLanguage("cobol", "cbl", "cob")));
- LanguageDetection detection = new LanguageDetection(new Settings(), languages);
+ LanguageDetection detection = new LanguageDetection(new MapSettings(), languages);
assertThat(detection.language(newInputFile("Foo.java"))).isEqualTo("java");
assertThat(detection.language(newInputFile("src/Foo.java"))).isEqualTo("java");
@@ -76,7 +76,7 @@ public class LanguageDetectionTest {
@Test
public void should_not_fail_if_no_language() throws Exception {
- LanguageDetection detection = spy(new LanguageDetection(new Settings(), new DefaultLanguagesRepository(new Languages())));
+ LanguageDetection detection = spy(new LanguageDetection(new MapSettings(), new DefaultLanguagesRepository(new Languages())));
assertThat(detection.language(newInputFile("Foo.java"))).isNull();
}
@@ -84,7 +84,7 @@ public class LanguageDetectionTest {
public void plugin_can_declare_a_file_extension_twice_for_case_sensitivity() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("abap", "abap", "ABAP")));
- LanguageDetection detection = new LanguageDetection(new Settings(), languages);
+ LanguageDetection detection = new LanguageDetection(new MapSettings(), languages);
assertThat(detection.language(newInputFile("abc.abap"))).isEqualTo("abap");
}
@@ -95,12 +95,12 @@ public class LanguageDetectionTest {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("java", "java"), new MockLanguage("abap")));
// No side-effect on non-ABAP projects
- LanguageDetection detection = new LanguageDetection(new Settings(), languages);
+ LanguageDetection detection = new LanguageDetection(new MapSettings(), languages);
assertThat(detection.language(newInputFile("abc"))).isNull();
assertThat(detection.language(newInputFile("abc.abap"))).isNull();
assertThat(detection.language(newInputFile("abc.java"))).isEqualTo("java");
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_LANGUAGE_PROPERTY, "abap");
detection = new LanguageDetection(settings, languages);
assertThat(detection.language(newInputFile("abc"))).isEqualTo("abap");
@@ -112,7 +112,7 @@ public class LanguageDetectionTest {
public void force_language_using_deprecated_property() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("java", "java"), new MockLanguage("php", "php")));
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_LANGUAGE_PROPERTY, "java");
LanguageDetection detection = new LanguageDetection(settings, languages);
assertThat(detection.language(newInputFile("abc"))).isNull();
@@ -127,7 +127,7 @@ public class LanguageDetectionTest {
thrown.expectMessage("No language is installed with key 'unknown'. Please update property 'sonar.language'");
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("java", "java"), new MockLanguage("php", "php")));
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty(CoreProperties.PROJECT_LANGUAGE_PROPERTY, "unknown");
new LanguageDetection(settings, languages);
}
@@ -135,7 +135,7 @@ public class LanguageDetectionTest {
@Test
public void fail_if_conflicting_language_suffix() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("xml", "xhtml"), new MockLanguage("web", "xhtml")));
- LanguageDetection detection = new LanguageDetection(new Settings(), languages);
+ LanguageDetection detection = new LanguageDetection(new MapSettings(), languages);
try {
detection.language(newInputFile("abc.xhtml"));
fail();
@@ -151,7 +151,7 @@ public class LanguageDetectionTest {
public void solve_conflict_using_filepattern() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("xml", "xhtml"), new MockLanguage("web", "xhtml")));
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty("sonar.lang.patterns.xml", "xml/**");
settings.setProperty("sonar.lang.patterns.web", "web/**");
LanguageDetection detection = new LanguageDetection(settings, languages);
@@ -162,7 +162,7 @@ public class LanguageDetectionTest {
@Test
public void fail_if_conflicting_filepattern() throws Exception {
LanguagesRepository languages = new DefaultLanguagesRepository(new Languages(new MockLanguage("abap", "abap"), new MockLanguage("cobol", "cobol")));
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
settings.setProperty("sonar.lang.patterns.abap", "*.abap,*.txt");
settings.setProperty("sonar.lang.patterns.cobol", "*.cobol,*.txt");
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/ConsoleReportTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/ConsoleReportTest.java
index ba0bd7ff7c7..227934bc39f 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/ConsoleReportTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/ConsoleReportTest.java
@@ -19,6 +19,8 @@
*/
package org.sonar.scanner.scan.report;
+import java.util.Arrays;
+import java.util.Collections;
import javax.annotation.Nullable;
import org.junit.Before;
import org.junit.Rule;
@@ -26,14 +28,12 @@ import org.junit.Test;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.rule.Severity;
import org.sonar.api.utils.log.LogTester;
import org.sonar.scanner.issue.IssueCache;
import org.sonar.scanner.issue.tracking.TrackedIssue;
import org.sonar.scanner.scan.filesystem.InputPathCache;
-import org.sonar.scanner.scan.report.ConsoleReport;
-import java.util.Arrays;
-import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -51,7 +51,7 @@ public class ConsoleReportTest {
@Before
public void prepare() {
- settings = new Settings();
+ settings = new MapSettings();
issueCache = mock(IssueCache.class);
inputPathCache = mock(InputPathCache.class);
report = new ConsoleReport(settings, issueCache, inputPathCache);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/JSONReportTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/JSONReportTest.java
index c8f8bef4113..e7109daa410 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/JSONReportTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/report/JSONReportTest.java
@@ -39,6 +39,7 @@ import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.rule.Rules;
import org.sonar.api.batch.rule.internal.RulesBuilder;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.issue.Issue;
import org.sonar.api.platform.Server;
import org.sonar.api.resources.Project;
@@ -49,7 +50,6 @@ import org.sonar.scanner.issue.tracking.TrackedIssue;
import org.sonar.scanner.protocol.input.ScannerInput;
import org.sonar.scanner.repository.user.UserRepositoryLoader;
import org.sonar.scanner.scan.filesystem.InputPathCache;
-import org.sonar.scanner.scan.report.JSONReport;
import static net.javacrumbs.jsonunit.assertj.JsonAssert.assertThatJson;
import static org.assertj.core.api.Assertions.assertThat;
@@ -69,7 +69,7 @@ public class JSONReportTest {
DefaultFileSystem fs;
Server server = mock(Server.class);
Rules rules = mock(Rules.class);
- Settings settings = new Settings();
+ Settings settings = new MapSettings();
IssueCache issueCache = mock(IssueCache.class);
private UserRepositoryLoader userRepository;
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorContextTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorContextTest.java
index a5eace1c537..8c32a380fde 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorContextTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/DefaultSensorContextTest.java
@@ -34,6 +34,7 @@ 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.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.internal.SonarRuntimeImpl;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.utils.Version;
@@ -65,7 +66,7 @@ public class DefaultSensorContextTest {
MetricFinder metricFinder = mock(MetricFinder.class);
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 Settings();
+ settings = new MapSettings();
sensorStorage = mock(SensorStorage.class);
analysisMode = mock(AnalysisMode.class);
runtime = SonarRuntimeImpl.forSonarQube(Version.parse("5.5"), SonarQubeSide.SCANNER);
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 c0d8053ece5..e9ae12fd688 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
@@ -33,6 +33,7 @@ import org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting;
import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure;
import org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Measure;
import org.sonar.api.resources.File;
@@ -75,7 +76,7 @@ public class DefaultSensorStorageTest {
MetricFinder metricFinder = mock(MetricFinder.class);
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 Settings();
+ settings = new MapSettings();
moduleIssues = mock(ModuleIssues.class);
project = new Project("myProject");
measureCache = mock(MeasureCache.class);
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/SensorOptimizerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/SensorOptimizerTest.java
index 582ba2576fb..3fac6d4f0e8 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/SensorOptimizerTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/SensorOptimizerTest.java
@@ -31,8 +31,8 @@ import org.sonar.api.batch.rule.ActiveRules;
import org.sonar.api.batch.rule.internal.ActiveRulesBuilder;
import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.rule.RuleKey;
-import org.sonar.scanner.sensor.SensorOptimizer;
import static org.assertj.core.api.Assertions.assertThat;
@@ -51,7 +51,7 @@ public class SensorOptimizerTest {
@Before
public void prepare() throws Exception {
fs = new DefaultFileSystem(temp.newFolder().toPath());
- settings = new Settings();
+ settings = new MapSettings();
optimizer = new SensorOptimizer(fs, new ActiveRulesBuilder().build(), settings);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/coverage/CoverageExclusionsTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/coverage/CoverageExclusionsTest.java
index b2238fe214a..3a59eecdce3 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/coverage/CoverageExclusionsTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/sensor/coverage/CoverageExclusionsTest.java
@@ -19,25 +19,24 @@
*/
package org.sonar.scanner.sensor.coverage;
-import org.junit.rules.TemporaryFolder;
-
-import org.sonar.api.batch.fs.internal.DefaultFileSystem;
-import org.sonar.api.batch.fs.internal.DefaultInputFile;
import com.google.common.collect.ImmutableMap;
+import java.util.Map;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.junit.rules.TemporaryFolder;
+import org.sonar.api.batch.fs.internal.DefaultFileSystem;
+import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
+import org.sonar.api.config.MapSettings;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Measure;
import org.sonar.api.resources.File;
import org.sonar.api.resources.Resource;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.core.config.ExclusionProperties;
-import org.sonar.scanner.sensor.coverage.CoverageExclusions;
-import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -58,7 +57,7 @@ public class CoverageExclusionsTest {
@Before
public void createFilter() {
- settings = new Settings(new PropertyDefinitions(ExclusionProperties.all()));
+ settings = new MapSettings(new PropertyDefinitions(ExclusionProperties.all()));
fs = new DefaultFileSystem(temp.getRoot());
filter = new CoverageExclusions(settings, fs);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/source/SymbolizableBuilderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/source/SymbolizableBuilderTest.java
index c2f2f0aeb58..9f50909105c 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/source/SymbolizableBuilderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/source/SymbolizableBuilderTest.java
@@ -30,7 +30,6 @@ import org.sonar.api.resources.Resource;
import org.sonar.api.source.Symbolizable;
import org.sonar.scanner.index.BatchComponent;
import org.sonar.scanner.sensor.DefaultSensorStorage;
-import org.sonar.scanner.source.SymbolizableBuilder;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;