aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src/test/java
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2015-01-27 10:50:00 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2015-01-27 17:41:04 +0100
commitedb5e139309f4ce46a9dcd30813ae7a56b9761a1 (patch)
tree492317efaee78eee8f52f5e5e6cc50aa6139a437 /sonar-batch/src/test/java
parent746d948321ab881fe0e6d907db43b2d69877509c (diff)
downloadsonarqube-edb5e139309f4ce46a9dcd30813ae7a56b9761a1.tar.gz
sonarqube-edb5e139309f4ce46a9dcd30813ae7a56b9761a1.zip
SONAR-6088 Remove old preview/h2 mode
Diffstat (limited to 'sonar-batch/src/test/java')
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/ServerMetadataTest.java51
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchDatabaseTest.java2
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchPluginRepositoryTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/DatabaseCompatibilityTest.java12
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/DefaultAnalysisModeTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/bootstrap/AnalysisModeTest.java)39
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionInstallerTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java14
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalContainerTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java)8
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalSettingsTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/JdbcDriverHolderTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/PreviewDatabaseTest.java141
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskContainerTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/dependency/DependencyMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/highlighting/HighlightingMediumTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesOnDirMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/preview/ReportsMediumTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/ReportsMediumTest.java)9
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/symbol/SymbolMediumTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/mediumtest/test/TestMediumTest.java1
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/phases/DatabaseModePhaseExecutorTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/phases/DefaultPhaseExecutorTest.java)8
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/platform/DefaultServerTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/bootstrap/ServerMetadataTest.java)13
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/report/PublishReportJobTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/repository/DefaultProjectRepositoriesLoaderTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/ModuleSettingsTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/ProjectLockTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/ProjectScanContainerTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/ProjectSettingsTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/sensor/ProjectLinksSensorTest.java105
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/sensor/VersionEventsSensorTest.java119
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/sensor/AnalyzerOptimizerTest.java23
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/sensor/DefaultSensorContextTest.java6
36 files changed, 319 insertions, 310 deletions
diff --git a/sonar-batch/src/test/java/org/sonar/batch/ServerMetadataTest.java b/sonar-batch/src/test/java/org/sonar/batch/ServerMetadataTest.java
deleted file mode 100644
index 4c15e5de14d..00000000000
--- a/sonar-batch/src/test/java/org/sonar/batch/ServerMetadataTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.batch;
-
-import org.junit.Test;
-import org.sonar.api.utils.DateUtils;
-
-import java.util.Date;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class ServerMetadataTest {
- @Test
- public void should_proxy_target() {
- org.sonar.batch.bootstrap.ServerMetadata client = mock(org.sonar.batch.bootstrap.ServerMetadata.class);
- when(client.getId()).thenReturn("id1");
- when(client.getPermanentServerId()).thenReturn("pid1");
- Date startedAt = DateUtils.parseDate("2012-05-18");
- when(client.getStartedAt()).thenReturn(startedAt);
- when(client.getURL()).thenReturn("http://foo");
- when(client.getVersion()).thenReturn("v1");
-
- ServerMetadata metadata = new ServerMetadata(client);
-
- assertThat(metadata.getId()).isEqualTo("id1");
- assertThat(metadata.getPermanentServerId()).isEqualTo("pid1");
- assertThat(metadata.getStartedAt()).isEqualTo(startedAt);
- assertThat(metadata.getURL()).isEqualTo("http://foo");
- assertThat(metadata.getVersion()).isEqualTo("v1");
-
- }
-}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchDatabaseTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchDatabaseTest.java
index c2db3bf384e..ed3d0dc1f06 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchDatabaseTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchDatabaseTest.java
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.mock;
public class BatchDatabaseTest {
@Test
public void should_init_at_least_two_connections() {
- BatchDatabase db = new BatchDatabase(new Settings(), mock(JdbcDriverHolder.class), mock(PreviewDatabase.class));
+ BatchDatabase db = new BatchDatabase(new Settings(), mock(JdbcDriverHolder.class));
Properties props = new Properties();
db.doCompleteProperties(props);
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchPluginRepositoryTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchPluginRepositoryTest.java
index 9563fafd318..d0c959abb87 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchPluginRepositoryTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BatchPluginRepositoryTest.java
@@ -46,13 +46,13 @@ public class BatchPluginRepositoryTest {
public TemporaryFolder temp = new TemporaryFolder();
private BatchPluginRepository repository;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
private FileCache cache;
private File userHome;
@Before
public void before() throws IOException {
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
userHome = temp.newFolder();
cache = new FileCacheBuilder().setUserHome(userHome).build();
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DatabaseCompatibilityTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DatabaseCompatibilityTest.java
index 98c9391d5be..97402b8a913 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DatabaseCompatibilityTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DatabaseCompatibilityTest.java
@@ -40,17 +40,17 @@ public class DatabaseCompatibilityTest {
public ExpectedException thrown = ExpectedException.none();
DatabaseVersion databaseVersion;
- ServerMetadata server;
+ ServerClient server;
Settings settings;
PropertiesDao propertiesDao;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void init() {
- server = mock(ServerMetadata.class);
+ server = mock(ServerClient.class);
when(server.getURL()).thenReturn("http://localhost:9000");
- when(server.getServerId()).thenReturn("123456");
+ when(server.request("/api/server")).thenReturn("{\"id\":\"123456\",\"version\":\"3.1\",\"status\":\"UP\"}");
settings = new Settings();
settings.setProperty(DatabaseProperties.PROP_URL, "jdbc:postgresql://localhost/foo");
@@ -59,7 +59,7 @@ public class DatabaseCompatibilityTest {
propertiesDao = mock(PropertiesDao.class);
when(propertiesDao.selectGlobalProperty(CoreProperties.SERVER_ID)).thenReturn(new PropertyDto().setValue("123456"));
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
databaseVersion = mock(DatabaseVersion.class);
}
@@ -110,7 +110,7 @@ public class DatabaseCompatibilityTest {
@Test
public void shouldFailIfCantGetServerId() throws Exception {
- when(server.getServerId()).thenThrow(new IllegalStateException());
+ when(server.request("/api/server")).thenThrow(new IllegalStateException());
thrown.expect(IllegalStateException.class);
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/AnalysisModeTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DefaultAnalysisModeTest.java
index 9863d9421e1..f4d129bb4ff 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/AnalysisModeTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/DefaultAnalysisModeTest.java
@@ -27,17 +27,17 @@ import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
-public class AnalysisModeTest {
+public class DefaultAnalysisModeTest {
@Test
public void regular_analysis_by_default() {
- AnalysisMode mode = new AnalysisMode(new BootstrapProperties(Collections.<String, String>emptyMap()));
+ DefaultAnalysisMode mode = new DefaultAnalysisMode(new BootstrapProperties(Collections.<String, String>emptyMap()));
assertThat(mode.isPreview()).isFalse();
assertThat(mode.isIncremental()).isFalse();
BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, "pouet"));
- mode = new AnalysisMode(bootstrapProps);
+ mode = new DefaultAnalysisMode(bootstrapProps);
assertThat(mode.isPreview()).isFalse();
assertThat(mode.isIncremental()).isFalse();
@@ -46,7 +46,7 @@ public class AnalysisModeTest {
@Test
public void support_analysis_mode() {
BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_ANALYSIS));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
+ DefaultAnalysisMode mode = new DefaultAnalysisMode(bootstrapProps);
assertThat(mode.isPreview()).isFalse();
assertThat(mode.isIncremental()).isFalse();
@@ -55,7 +55,7 @@ public class AnalysisModeTest {
@Test
public void support_preview_mode() {
BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_PREVIEW));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
+ DefaultAnalysisMode mode = new DefaultAnalysisMode(bootstrapProps);
assertThat(mode.isPreview()).isTrue();
assertThat(mode.isIncremental()).isFalse();
@@ -66,7 +66,7 @@ public class AnalysisModeTest {
@Test
public void support_incremental_mode() {
BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_INCREMENTAL));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
+ DefaultAnalysisMode mode = new DefaultAnalysisMode(bootstrapProps);
assertThat(mode.isPreview()).isTrue();
assertThat(mode.isIncremental()).isTrue();
@@ -77,34 +77,9 @@ public class AnalysisModeTest {
@Test
public void support_deprecated_dryrun_property() {
BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.DRY_RUN, "true"));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
+ DefaultAnalysisMode mode = new DefaultAnalysisMode(bootstrapProps);
assertThat(mode.isPreview()).isTrue();
assertThat(mode.isIncremental()).isFalse();
}
-
- @Test
- public void should_get_default_preview_read_timeout() {
- BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_PREVIEW));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
-
- assertThat(mode.getPreviewReadTimeoutSec()).isEqualTo(60);
- }
-
- @Test
- public void should_download_database_with_deprecated_overriden_timeout() {
- BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.DRY_RUN, "true", CoreProperties.DRY_RUN_READ_TIMEOUT_SEC, "80"));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
-
- assertThat(mode.getPreviewReadTimeoutSec()).isEqualTo(80);
- }
-
- @Test
- public void should_download_database_with_overriden_timeout() {
- BootstrapProperties bootstrapProps = new BootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_PREVIEW,
- CoreProperties.PREVIEW_READ_TIMEOUT_SEC, "80"));
- AnalysisMode mode = new AnalysisMode(bootstrapProps);
-
- assertThat(mode.getPreviewReadTimeoutSec()).isEqualTo(80);
- }
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionInstallerTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionInstallerTest.java
index 401d2da433f..c6bc80c9862 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionInstallerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionInstallerTest.java
@@ -42,7 +42,7 @@ import static org.mockito.Mockito.when;
public class ExtensionInstallerTest {
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
PluginMetadata metadata = mock(PluginMetadata.class);
Map<PluginMetadata, Plugin> newPlugin(final Object... extensions) {
@@ -59,7 +59,7 @@ public class ExtensionInstallerTest {
@Before
public void setUp() throws Exception {
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
}
@Test
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
index 23b0196947b..95138b2e904 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
@@ -22,8 +22,8 @@ package org.sonar.batch.bootstrap;
import org.junit.Test;
import org.sonar.api.BatchExtension;
import org.sonar.api.ServerExtension;
-import org.sonar.core.DryRunIncompatible;
import org.sonar.api.batch.InstantiationStrategy;
+import org.sonar.api.batch.RequiresDB;
import org.sonar.api.batch.SupportedEnvironment;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
@@ -80,11 +80,11 @@ public class ExtensionUtilsTest {
}
@Test
- public void shouldSupportDryRun() {
- assertThat(ExtensionUtils.supportsPreview(BatchService.class)).isTrue();
- assertThat(ExtensionUtils.supportsPreview(new BatchService())).isTrue();
- assertThat(ExtensionUtils.supportsPreview(PersistentService.class)).isFalse();
- assertThat(ExtensionUtils.supportsPreview(new PersistentService())).isFalse();
+ public void shouldRequiresDB() {
+ assertThat(ExtensionUtils.requiresDB(BatchService.class)).isFalse();
+ assertThat(ExtensionUtils.requiresDB(new BatchService())).isFalse();
+ assertThat(ExtensionUtils.requiresDB(PersistentService.class)).isTrue();
+ assertThat(ExtensionUtils.requiresDB(new PersistentService())).isTrue();
}
@InstantiationStrategy(InstantiationStrategy.PER_BATCH)
@@ -115,7 +115,7 @@ public class ExtensionUtilsTest {
}
- @DryRunIncompatible
+ @RequiresDB
public static class PersistentService implements BatchExtension {
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalContainerTest.java
index 8a4ca2f24b6..9fce2c7a951 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalContainerTest.java
@@ -39,10 +39,10 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
-public class BootstrapContainerTest {
+public class GlobalContainerTest {
@Test
public void should_add_components() {
- BootstrapContainer container = BootstrapContainer.create(Collections.<String, String>emptyMap(), Collections.emptyList());
+ GlobalContainer container = GlobalContainer.create(Collections.<String, String>emptyMap(), Collections.emptyList());
container.doBeforeStart();
assertThat(container.getComponentByType(Logback.class)).isNotNull();
@@ -51,7 +51,7 @@ public class BootstrapContainerTest {
@Test
public void should_add_bootstrap_extensions() {
- BootstrapContainer container = BootstrapContainer.create(Collections.<String, String>emptyMap(), Lists.newArrayList(Foo.class, new Bar()));
+ GlobalContainer container = GlobalContainer.create(Collections.<String, String>emptyMap(), Lists.newArrayList(Foo.class, new Bar()));
container.doBeforeStart();
assertThat(container.getComponentByType(Foo.class)).isNotNull();
@@ -67,7 +67,7 @@ public class BootstrapContainerTest {
metadata, plugin
));
- BootstrapContainer container = spy(BootstrapContainer.create(Collections.<String, String>emptyMap(), Lists.<Object>newArrayList(pluginRepository)));
+ GlobalContainer container = spy(GlobalContainer.create(Collections.<String, String>emptyMap(), Lists.<Object>newArrayList(pluginRepository)));
doNothing().when(container).executeTask(Collections.<String, String>emptyMap());
container.doAfterStart();
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalSettingsTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalSettingsTest.java
index 47bdb3e1db6..738bd0d5fa0 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalSettingsTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/GlobalSettingsTest.java
@@ -41,13 +41,13 @@ public class GlobalSettingsTest {
ProjectDefinition project = ProjectDefinition.create().setKey("struts");
BootstrapProperties bootstrapProps;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void prepare() {
globalRef = new GlobalRepositories();
bootstrapProps = new BootstrapProperties(Collections.<String, String>emptyMap());
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
}
@Test
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/JdbcDriverHolderTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/JdbcDriverHolderTest.java
index c3c2ba86b8e..a5040b47f35 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/JdbcDriverHolderTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/JdbcDriverHolderTest.java
@@ -44,12 +44,12 @@ public class JdbcDriverHolderTest {
public ExpectedException thrown = ExpectedException.none();
ClassLoader initialThreadClassloader;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void before() {
initialThreadClassloader = Thread.currentThread().getContextClassLoader();
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
}
@After
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/PreviewDatabaseTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/PreviewDatabaseTest.java
deleted file mode 100644
index 8be7e4a6fa3..00000000000
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/PreviewDatabaseTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.batch.bootstrap;
-
-import org.apache.commons.lang.StringUtils;
-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.CoreProperties;
-import org.sonar.api.config.Settings;
-import org.sonar.api.database.DatabaseProperties;
-import org.sonar.api.utils.HttpDownloader;
-import org.sonar.api.utils.SonarException;
-import org.sonar.api.utils.TempFolder;
-
-import java.io.File;
-import java.net.SocketTimeoutException;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-public class PreviewDatabaseTest {
- Settings settings;
- ServerClient server = mock(ServerClient.class);
- TempFolder tempUtils = mock(TempFolder.class);
- File databaseFile;
- private AnalysisMode mode;
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Rule
- public TemporaryFolder temp = new TemporaryFolder();
-
- @Before
- public void setUp() throws Exception {
- databaseFile = temp.newFile("preview.h2.db");
- when(tempUtils.newFile("preview", ".h2.db")).thenReturn(databaseFile);
- settings = new Settings();
- settings.setProperty(CoreProperties.PROJECT_KEY_PROPERTY, "group:project");
-
- mode = mock(AnalysisMode.class);
- when(mode.isPreview()).thenReturn(true);
- when(mode.getPreviewReadTimeoutSec()).thenReturn(60);
- }
-
- @Test
- public void should_be_disabled_if_not_preview() {
- when(mode.isPreview()).thenReturn(false);
- new PreviewDatabase(settings, server, tempUtils, mode).start();
-
- verifyZeroInteractions(tempUtils, server);
- }
-
- @Test
- public void should_download_database() {
- new PreviewDatabase(settings, server, tempUtils, mode).start();
-
- verify(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 60000);
- }
-
- @Test
- public void should_download_database_on_branch() {
- settings.setProperty(CoreProperties.PROJECT_BRANCH_PROPERTY, "mybranch");
- new PreviewDatabase(settings, server, tempUtils, mode).start();
-
- verify(server).download("/batch_bootstrap/db?project=group:project:mybranch", databaseFile, 60000);
- }
-
- @Test
- public void should_replace_database_settings() {
- new PreviewDatabase(settings, server, tempUtils, mode).start();
-
- assertThat(settings.getString(DatabaseProperties.PROP_DIALECT)).isEqualTo("h2");
- assertThat(settings.getString(DatabaseProperties.PROP_DRIVER)).isEqualTo("org.h2.Driver");
- assertThat(settings.getString(DatabaseProperties.PROP_USER)).isEqualTo("sonar");
- assertThat(settings.getString(DatabaseProperties.PROP_PASSWORD)).isEqualTo("sonar");
- assertThat(settings.getString(DatabaseProperties.PROP_URL)).isEqualTo("jdbc:h2:" + StringUtils.removeEnd(databaseFile.getAbsolutePath(), ".h2.db"));
- }
-
- @Test
- public void should_fail_on_invalid_role() {
- doThrow(new SonarException(new HttpDownloader.HttpException(null, 401))).when(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 60000);
-
- thrown.expect(SonarException.class);
- thrown.expectMessage("You don't have access rights to project [group:project]");
-
- new PreviewDatabase(settings, server, tempUtils, mode).start();
- }
-
- @Test
- public void should_fail_on_read_timeout() {
- doThrow(new SonarException(new SocketTimeoutException())).when(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 60000);
-
- thrown.expect(SonarException.class);
- thrown.expectMessage("Preview database read timed out after 60000 ms. You can try to increase read timeout with property -Dsonar.preview.readTimeout (in seconds)");
-
- new PreviewDatabase(settings, server, tempUtils, mode).start();
- }
-
- @Test
- public void should_fail() {
- doThrow(new SonarException("BUG")).when(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 60000);
-
- thrown.expect(SonarException.class);
- thrown.expectMessage("BUG");
-
- new PreviewDatabase(settings, server, tempUtils, mode).start();
- }
-
- @Test
- public void project_should_be_optional() {
- // on non-scan tasks
- settings.removeProperty(CoreProperties.PROJECT_KEY_PROPERTY);
- new PreviewDatabase(settings, server, tempUtils, mode).start();
- verify(server).download("/batch_bootstrap/db", databaseFile, 60000);
- }
-}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskContainerTest.java
index 95ca145c161..9d5ff90cb72 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskContainerTest.java
@@ -33,14 +33,14 @@ public class TaskContainerTest {
@Test
public void should_add_project_reactor_builder_by_default() {
- BootstrapContainer container = BootstrapContainer.create(Collections.<String, String>emptyMap(),
+ GlobalContainer container = GlobalContainer.create(Collections.<String, String>emptyMap(),
Lists.newArrayList(new BootstrapProperties(Collections.<String, String>emptyMap())));
TaskContainer taskContainer = new TaskContainer(container, Collections.<String, String>emptyMap());
taskContainer.installCoreTasks();
assertThat(taskContainer.getComponentByType(ProjectReactorBuilder.class)).isNotNull().isInstanceOf(ProjectReactorBuilder.class);
- container = BootstrapContainer.create(Collections.<String, String>emptyMap(),
+ container = GlobalContainer.create(Collections.<String, String>emptyMap(),
Lists.newArrayList(new BootstrapProperties(Collections.<String, String>emptyMap()), new EnvironmentInformation("SonarQubeRunner", "2.4")));
taskContainer = new TaskContainer(container, Collections.<String, String>emptyMap());
taskContainer.installCoreTasks();
@@ -50,7 +50,7 @@ public class TaskContainerTest {
@Test
public void should_add_deprecated_project_reactor_builder_if_old_runner() {
- BootstrapContainer container = BootstrapContainer.create(Collections.<String, String>emptyMap(),
+ GlobalContainer container = GlobalContainer.create(Collections.<String, String>emptyMap(),
Lists.newArrayList(new BootstrapProperties(Collections.<String, String>emptyMap()), new EnvironmentInformation("SonarRunner", "2.3")));
TaskContainer taskContainer = new TaskContainer(container, Collections.<String, String>emptyMap());
taskContainer.installCoreTasks();
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/dependency/DependencyMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/dependency/DependencyMediumTest.java
index 606b4d6ea3f..4d562d4de87 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/dependency/DependencyMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/dependency/DependencyMediumTest.java
@@ -45,7 +45,6 @@ public class DependencyMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java
index 811a24870b7..03c40181906 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java
@@ -51,7 +51,6 @@ public class FileSystemMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
private File baseDir;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/highlighting/HighlightingMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/highlighting/HighlightingMediumTest.java
index 3572e2d2691..9b95241d26e 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/highlighting/HighlightingMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/highlighting/HighlightingMediumTest.java
@@ -19,8 +19,6 @@
*/
package org.sonar.batch.mediumtest.highlighting;
-import org.sonar.batch.mediumtest.TaskResult;
-
import com.google.common.collect.ImmutableMap;
import org.apache.commons.io.FileUtils;
import org.junit.After;
@@ -32,6 +30,7 @@ import org.junit.rules.TestName;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.sensor.highlighting.TypeOfText;
import org.sonar.batch.mediumtest.BatchMediumTester;
+import org.sonar.batch.mediumtest.TaskResult;
import org.sonar.xoo.XooPlugin;
import java.io.File;
@@ -50,7 +49,6 @@ public class HighlightingMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java
index a6bed59f2fd..994fdaa676c 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java
@@ -45,7 +45,6 @@ public class IssuesMediumTest {
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
.activateRule(new ActiveRule("xoo", "OneIssuePerLine", "One issue per line", "MAJOR", "OneIssuePerLine.internal", "xoo"))
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesOnDirMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesOnDirMediumTest.java
index ac15f4c67c1..c6156e4cecc 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesOnDirMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/IssuesOnDirMediumTest.java
@@ -44,7 +44,6 @@ public class IssuesOnDirMediumTest {
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
.activateRule(new ActiveRule("xoo", "OneIssueOnDirPerFile", "One issue per line", "MINOR", "xoo", "xoo"))
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java
index e1226a9849e..6656f5dd7c7 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java
@@ -45,7 +45,6 @@ public class MeasuresMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/ReportsMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/preview/ReportsMediumTest.java
index 71929a9686f..16d4f7350fb 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/issues/ReportsMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/preview/ReportsMediumTest.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.batch.mediumtest.issues;
+package org.sonar.batch.mediumtest.preview;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.codec.digest.DigestUtils;
@@ -25,6 +25,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
+import org.sonar.api.CoreProperties;
import org.sonar.batch.mediumtest.BatchMediumTester;
import org.sonar.batch.mediumtest.TaskResult;
import org.sonar.batch.protocol.input.ActiveRule;
@@ -36,8 +37,6 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
-import static org.assertj.core.api.Assertions.assertThat;
-
public class ReportsMediumTest {
@org.junit.Rule
@@ -54,10 +53,10 @@ public class ReportsMediumTest {
}
public BatchMediumTester tester = BatchMediumTester.builder()
+ .bootstrapProperties(ImmutableMap.of(CoreProperties.ANALYSIS_MODE, CoreProperties.ANALYSIS_MODE_PREVIEW))
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
.activateRule(new ActiveRule("xoo", "OneIssuePerLine", "One issue per line", "MAJOR", "OneIssuePerLine.internal", "xoo"))
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
// Existing issue
.addPreviousIssue(new PreviousIssue().setKey("xyz")
.setComponentKey("sample:xources/hello/HelloJava.xoo")
@@ -97,7 +96,6 @@ public class ReportsMediumTest {
.property("sonar.issuesReport.console.enable", "true")
.start();
- assertThat(result.issues()).hasSize(15);
}
@Test
@@ -109,7 +107,6 @@ public class ReportsMediumTest {
.property("sonar.issuesReport.html.enable", "true")
.start();
- assertThat(result.issues()).hasSize(15);
}
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java
index c8456c6c803..13994e0081c 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/scm/ScmMediumTest.java
@@ -50,7 +50,6 @@ public class ScmMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/symbol/SymbolMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/symbol/SymbolMediumTest.java
index ec00c3a288b..a231c93f69b 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/symbol/SymbolMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/symbol/SymbolMediumTest.java
@@ -19,8 +19,6 @@
*/
package org.sonar.batch.mediumtest.symbol;
-import org.sonar.batch.mediumtest.TaskResult;
-
import com.google.common.collect.ImmutableMap;
import org.apache.commons.io.FileUtils;
import org.junit.After;
@@ -29,6 +27,7 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.batch.mediumtest.BatchMediumTester;
+import org.sonar.batch.mediumtest.TaskResult;
import org.sonar.xoo.XooPlugin;
import java.io.File;
@@ -44,7 +43,6 @@ public class SymbolMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/test/TestMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/test/TestMediumTest.java
index b5478a5faab..700aa0aaee8 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/test/TestMediumTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/test/TestMediumTest.java
@@ -45,7 +45,6 @@ public class TestMediumTest {
public BatchMediumTester tester = BatchMediumTester.builder()
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
- .bootstrapProperties(ImmutableMap.of("sonar.analysis.mode", "sensor"))
.build();
@Before
diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/DefaultPhaseExecutorTest.java b/sonar-batch/src/test/java/org/sonar/batch/phases/DatabaseModePhaseExecutorTest.java
index 262cc1da068..d3bc6b2f86e 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/phases/DefaultPhaseExecutorTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/phases/DatabaseModePhaseExecutorTest.java
@@ -27,7 +27,7 @@ import org.sonar.batch.index.ScanPersister;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-public class DefaultPhaseExecutorTest {
+public class DatabaseModePhaseExecutorTest {
@Test
public void shouldSortPersisters() {
@@ -35,17 +35,17 @@ public class DefaultPhaseExecutorTest {
MeasurePersister measurePersister = new MeasurePersister(null, null, null, null, null);
ResourcePersister resourcePersister = new ResourcePersister(null, null, null, null, null);
ScanPersister[] persisters = new ScanPersister[] {otherPersister, measurePersister, resourcePersister};
- DefaultPhaseExecutor executor = new DefaultPhaseExecutor(null, null, null, null, null, null,
+ DatabaseModePhaseExecutor executor = new DatabaseModePhaseExecutor(null, null, null, null, null, null,
null, null, null, null, null, persisters, null, null, null, null, null, null, null, null);
assertThat(executor.sortedPersisters()).containsSubsequence(resourcePersister, measurePersister);
persisters = new ScanPersister[] {measurePersister, resourcePersister, otherPersister};
- executor = new DefaultPhaseExecutor(null, null, null, null, null, null,
+ executor = new DatabaseModePhaseExecutor(null, null, null, null, null, null,
null, null, null, null, null, persisters, null, null, null, null, null, null, null, null);
assertThat(executor.sortedPersisters()).containsSubsequence(resourcePersister, measurePersister);
persisters = new ScanPersister[] {measurePersister, otherPersister, resourcePersister};
- executor = new DefaultPhaseExecutor(null, null, null, null, null, null,
+ executor = new DatabaseModePhaseExecutor(null, null, null, null, null, null,
null, null, null, null, null, persisters, null, null, null, null, null, null, null, null);
assertThat(executor.sortedPersisters()).containsSubsequence(resourcePersister, measurePersister);
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ServerMetadataTest.java b/sonar-batch/src/test/java/org/sonar/batch/platform/DefaultServerTest.java
index 6425547672e..8c5e2a74752 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ServerMetadataTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/platform/DefaultServerTest.java
@@ -17,23 +17,18 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.batch.bootstrap;
+package org.sonar.batch.platform;
import org.junit.Test;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
+import org.sonar.batch.bootstrap.ServerClient;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-public class ServerMetadataTest {
-
- @Test
- public void shouldExtractId() throws Exception {
- ServerMetadata metadata = new ServerMetadata(new Settings(), mock(ServerClient.class));
- assertThat(metadata.extractServerId("{\"id\":\"123456\",\"version\":\"3.1\",\"status\":\"UP\"}")).isEqualTo("123456");
- }
+public class DefaultServerTest {
@Test
public void shouldLoadServerProperties() {
@@ -45,7 +40,7 @@ public class ServerMetadataTest {
ServerClient client = mock(ServerClient.class);
when(client.getURL()).thenReturn("http://foo.com");
- ServerMetadata metadata = new ServerMetadata(settings, client);
+ DefaultServer metadata = new DefaultServer(settings, client);
assertThat(metadata.getId()).isEqualTo("123");
assertThat(metadata.getVersion()).isEqualTo("2.2");
diff --git a/sonar-batch/src/test/java/org/sonar/batch/report/PublishReportJobTest.java b/sonar-batch/src/test/java/org/sonar/batch/report/PublishReportJobTest.java
index e28e0643fb0..924f05d25f2 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/report/PublishReportJobTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/report/PublishReportJobTest.java
@@ -27,7 +27,7 @@ import org.sonar.api.config.Settings;
import org.sonar.api.platform.Server;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.TempFolder;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.bootstrap.ServerClient;
import org.sonar.batch.index.ResourceCache;
import org.sonar.jpa.test.AbstractDbUnitTestCase;
@@ -38,13 +38,13 @@ import static org.mockito.Mockito.when;
public class PublishReportJobTest extends AbstractDbUnitTestCase {
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
ResourceCache resourceCache = mock(ResourceCache.class);
@Before
public void setUp() {
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
}
@Test
diff --git a/sonar-batch/src/test/java/org/sonar/batch/repository/DefaultProjectRepositoriesLoaderTest.java b/sonar-batch/src/test/java/org/sonar/batch/repository/DefaultProjectRepositoriesLoaderTest.java
index 27e07d7edc0..3cb1f9ba462 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/repository/DefaultProjectRepositoriesLoaderTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/repository/DefaultProjectRepositoriesLoaderTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.database.DatabaseSession;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.bootstrap.ServerClient;
import org.sonar.batch.bootstrap.TaskProperties;
import org.sonar.batch.rule.ModuleQProfiles;
@@ -42,14 +42,14 @@ public class DefaultProjectRepositoriesLoaderTest {
private DefaultProjectRepositoriesLoader loader;
private ServerClient serverClient;
- private AnalysisMode analysisMode;
+ private DefaultAnalysisMode analysisMode;
private ProjectReactor reactor;
private TaskProperties taskProperties;
@Before
public void prepare() {
serverClient = mock(ServerClient.class);
- analysisMode = mock(AnalysisMode.class);
+ analysisMode = mock(DefaultAnalysisMode.class);
loader = new DefaultProjectRepositoriesLoader(mock(DatabaseSession.class), serverClient, analysisMode);
loader = spy(loader);
doReturn(null).when(loader).lastSnapshotCreationDate(anyString());
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/ModuleSettingsTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/ModuleSettingsTest.java
index 7215d7b1940..abf12abc034 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/ModuleSettingsTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/ModuleSettingsTest.java
@@ -27,7 +27,7 @@ import org.junit.rules.ExpectedException;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.utils.MessageException;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.bootstrap.GlobalSettings;
import org.sonar.batch.protocol.input.ProjectRepositories;
@@ -43,12 +43,12 @@ public class ModuleSettingsTest {
public ExpectedException thrown = ExpectedException.none();
ProjectRepositories projectRef;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void before() {
projectRef = new ProjectRepositories();
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
}
@Test
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectLockTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectLockTest.java
index 5424028b132..f0570150c82 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectLockTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectLockTest.java
@@ -26,7 +26,7 @@ import org.sonar.api.resources.Project;
import org.sonar.api.utils.Semaphores;
import org.sonar.api.utils.SonarException;
import org.sonar.batch.ProjectTree;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import java.util.Locale;
@@ -44,11 +44,11 @@ public class ProjectLockTest {
ProjectTree projectTree = mock(ProjectTree.class);
I18n i18n = mock(I18n.class);
Project project;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void setUp() {
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
project = new Project("my-project-key");
when(projectTree.getRootProject()).thenReturn(project);
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectScanContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectScanContainerTest.java
index bbfa7acefd4..cc3a1158427 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectScanContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectScanContainerTest.java
@@ -36,7 +36,7 @@ import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.task.TaskExtension;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.TempFolder;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.bootstrap.BootstrapProperties;
import org.sonar.batch.bootstrap.ExtensionInstaller;
import org.sonar.batch.bootstrap.GlobalSettings;
@@ -64,7 +64,7 @@ public class ProjectScanContainerTest {
public void prepare() {
projectBootstrapper = mock(ProjectBootstrapper.class);
bootstrapProperties = new BootstrapProperties(Collections.<String, String>emptyMap());
- AnalysisMode analysisMode = new AnalysisMode(bootstrapProperties);
+ DefaultAnalysisMode analysisMode = new DefaultAnalysisMode(bootstrapProperties);
when(projectBootstrapper.bootstrap()).thenReturn(new ProjectReactor(ProjectDefinition.create()));
parentContainer = new ComponentContainer();
parentContainer.add(System2.INSTANCE);
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectSettingsTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectSettingsTest.java
index 58ade46e025..6ba93100ea0 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectSettingsTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/ProjectSettingsTest.java
@@ -29,7 +29,7 @@ import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.utils.MessageException;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.bootstrap.BootstrapProperties;
import org.sonar.batch.bootstrap.GlobalSettings;
import org.sonar.batch.protocol.input.GlobalRepositories;
@@ -50,12 +50,12 @@ public class ProjectSettingsTest {
ProjectDefinition project = ProjectDefinition.create().setKey("struts");
GlobalSettings bootstrapProps;
- private AnalysisMode mode;
+ private DefaultAnalysisMode mode;
@Before
public void prepare() {
projectRef = new ProjectRepositories();
- mode = mock(AnalysisMode.class);
+ mode = mock(DefaultAnalysisMode.class);
bootstrapProps = new GlobalSettings(new BootstrapProperties(Collections.<String, String>emptyMap()), new PropertyDefinitions(), new GlobalRepositories(), mode);
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java
index 9a753c7e66f..e702dbbfa81 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java
@@ -24,7 +24,7 @@ import org.mockito.Mockito;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.Settings;
import org.sonar.api.scan.filesystem.PathResolver;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -36,7 +36,7 @@ public class InputFileBuilderFactoryTest {
LanguageDetectionFactory langDetectionFactory = mock(LanguageDetectionFactory.class, Mockito.RETURNS_MOCKS);
StatusDetectionFactory statusDetectionFactory = mock(StatusDetectionFactory.class, Mockito.RETURNS_MOCKS);
DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class);
- AnalysisMode analysisMode = mock(AnalysisMode.class);
+ DefaultAnalysisMode analysisMode = mock(DefaultAnalysisMode.class);
InputFileBuilderFactory factory = new InputFileBuilderFactory(ProjectDefinition.create().setKey("struts"), pathResolver, langDetectionFactory,
statusDetectionFactory, analysisMode, new Settings());
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderTest.java
index 3d1eb9b050d..36682184b37 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderTest.java
@@ -29,7 +29,7 @@ import org.sonar.api.batch.fs.internal.DeprecatedDefaultInputFile;
import org.sonar.api.config.Settings;
import org.sonar.api.scan.filesystem.PathResolver;
import org.sonar.api.utils.PathUtils;
-import org.sonar.batch.bootstrap.AnalysisMode;
+import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import java.io.File;
import java.util.Arrays;
@@ -47,7 +47,7 @@ public class InputFileBuilderTest {
LanguageDetection langDetection = mock(LanguageDetection.class);
StatusDetection statusDetection = mock(StatusDetection.class);
DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class);
- AnalysisMode analysisMode = mock(AnalysisMode.class);
+ DefaultAnalysisMode analysisMode = mock(DefaultAnalysisMode.class);
@Test
public void complete_input_file() throws Exception {
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/ProjectLinksSensorTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/ProjectLinksSensorTest.java
new file mode 100644
index 00000000000..6e44bc572f4
--- /dev/null
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/ProjectLinksSensorTest.java
@@ -0,0 +1,105 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.batch.scan.sensor;
+
+import org.sonar.batch.scan.sensor.ProjectLinksSensor;
+
+import org.apache.commons.lang.StringUtils;
+import org.junit.Test;
+import org.mockito.ArgumentMatcher;
+import org.sonar.api.CoreProperties;
+import org.sonar.api.batch.AnalysisMode;
+import org.sonar.api.batch.SensorContext;
+import org.sonar.api.config.Settings;
+import org.sonar.api.resources.Project;
+import org.sonar.api.resources.ProjectLink;
+import org.sonar.core.i18n.DefaultI18n;
+
+import java.util.Locale;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class ProjectLinksSensorTest {
+
+ @Test
+ public void testToString() {
+ assertThat(new ProjectLinksSensor(null, null, null).toString()).isEqualTo("ProjectLinksSensor");
+ }
+
+ @Test
+ public void shouldNotExecuteInPreview() {
+ Project project = mock(Project.class);
+ AnalysisMode analysisMode = mock(AnalysisMode.class);
+ assertThat(new ProjectLinksSensor(null, null, analysisMode).shouldExecuteOnProject(project)).isTrue();
+ when(analysisMode.isPreview()).thenReturn(true);
+ assertThat(new ProjectLinksSensor(null, null, analysisMode).shouldExecuteOnProject(project)).isFalse();
+ }
+
+ @Test
+ public void shouldSaveLinks() {
+ Settings settings = new Settings();
+ settings.setProperty(CoreProperties.LINKS_HOME_PAGE, "http://home");
+ DefaultI18n defaultI18n = mock(DefaultI18n.class);
+ when(defaultI18n.message(Locale.getDefault(), "project_links.homepage", CoreProperties.LINKS_HOME_PAGE)).thenReturn("HOME");
+ Project project = mock(Project.class);
+ SensorContext context = mock(SensorContext.class);
+
+ new ProjectLinksSensor(settings, defaultI18n, null).analyse(project, context);
+
+ verify(context).saveLink(argThat(new MatchLink("homepage", "HOME", "http://home")));
+ }
+
+ @Test
+ public void shouldDeleteLink() {
+ Settings settings = new Settings();
+ settings.setProperty(CoreProperties.LINKS_HOME_PAGE, "");
+ DefaultI18n defaultI18n = mock(DefaultI18n.class);
+ when(defaultI18n.message(Locale.getDefault(), "project_links.homepage", CoreProperties.LINKS_HOME_PAGE)).thenReturn("HOME");
+ Project project = mock(Project.class);
+ SensorContext context = mock(SensorContext.class);
+
+ new ProjectLinksSensor(settings, defaultI18n, null).analyse(project, context);
+
+ verify(context).deleteLink("homepage");
+ }
+
+ private class MatchLink extends ArgumentMatcher<ProjectLink> {
+ private String key;
+ private String name;
+ private String url;
+
+ private MatchLink(String key, String name, String url) {
+ this.key = key;
+ this.name = name;
+ this.url = url;
+ }
+
+ @Override
+ public boolean matches(Object o) {
+ ProjectLink link = (ProjectLink) o;
+ return StringUtils.equals(link.getHref(), url) && StringUtils.equals(link.getKey(), key) && StringUtils.equals(link.getName(), name);
+ }
+ }
+
+}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/VersionEventsSensorTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/VersionEventsSensorTest.java
new file mode 100644
index 00000000000..d70932f673c
--- /dev/null
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/sensor/VersionEventsSensorTest.java
@@ -0,0 +1,119 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.batch.scan.sensor;
+
+import org.sonar.batch.scan.sensor.VersionEventsSensor;
+
+import com.google.common.collect.Lists;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.sonar.api.batch.AnalysisMode;
+import org.sonar.api.batch.Event;
+import org.sonar.api.batch.SensorContext;
+import org.sonar.api.resources.Project;
+import org.sonar.api.resources.Resource;
+
+import java.util.Date;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.isNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class VersionEventsSensorTest {
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @Test
+ public void shouldExecuteOnProject() throws Exception {
+ AnalysisMode analysisMode = mock(AnalysisMode.class);
+ assertThat(new VersionEventsSensor(analysisMode).shouldExecuteOnProject(null)).isTrue();
+ when(analysisMode.isPreview()).thenReturn(true);
+ assertThat(new VersionEventsSensor(analysisMode).shouldExecuteOnProject(null)).isFalse();
+ }
+
+ @Test
+ public void testToString() throws Exception {
+ assertThat(new VersionEventsSensor(null).toString(), is("VersionEventsSensor"));
+ }
+
+ @Test
+ public void shouldDoNothingIfNoVersion() {
+ VersionEventsSensor sensor = new VersionEventsSensor(null);
+ SensorContext context = mock(SensorContext.class);
+ Project project = mock(Project.class);
+ when(project.getAnalysisVersion()).thenReturn(null);
+
+ sensor.analyse(project, context);
+
+ verify(context, never()).createEvent(any(Resource.class), anyString(), anyString(), anyString(), any(Date.class));
+ verify(context, never()).deleteEvent(any(Event.class));
+ }
+
+ @Test
+ public void shouldCreateVersionEvent() {
+ VersionEventsSensor sensor = new VersionEventsSensor(null);
+ SensorContext context = mock(SensorContext.class);
+
+ Project project = mock(Project.class);
+ when(project.getAnalysisVersion()).thenReturn("1.5-SNAPSHOT");
+
+ sensor.analyse(project, context);
+
+ verify(context).createEvent(eq(project), eq("1.5-SNAPSHOT"), (String) isNull(), eq(Event.CATEGORY_VERSION), (Date) isNull());
+ }
+
+ @Test
+ public void shouldHaveOnlyOneEventByVersion() {
+ Event sameVersionEvent = mockVersionEvent("1.5-SNAPSHOT");
+ Event otherEvent = mockVersionEvent("1.4");
+ Event anotherEvent = mockVersionEvent("1.3-SNAPSHOT");
+
+ VersionEventsSensor sensor = new VersionEventsSensor(null);
+ SensorContext context = mock(SensorContext.class);
+
+ Project project = mock(Project.class);
+ when(project.getAnalysisVersion()).thenReturn("1.5-SNAPSHOT");
+
+ when(context.getEvents(project)).thenReturn(Lists.newArrayList(sameVersionEvent, otherEvent, anotherEvent));
+
+ sensor.analyse(project, context);
+
+ verify(context).deleteEvent(sameVersionEvent);
+ verify(context).createEvent(eq(project), eq("1.5-SNAPSHOT"), (String) isNull(), eq(Event.CATEGORY_VERSION), (Date) isNull());
+ }
+
+ private Event mockVersionEvent(String version) {
+ Event event = mock(Event.class);
+ when(event.isVersionCategory()).thenReturn(true);
+ when(event.getName()).thenReturn(version);
+ return event;
+ }
+
+}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/sensor/AnalyzerOptimizerTest.java b/sonar-batch/src/test/java/org/sonar/batch/sensor/AnalyzerOptimizerTest.java
index fb8e564f11d..882bc1aadc7 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/sensor/AnalyzerOptimizerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/sensor/AnalyzerOptimizerTest.java
@@ -23,6 +23,7 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
@@ -33,6 +34,8 @@ import org.sonar.api.config.Settings;
import org.sonar.api.rule.RuleKey;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
public class AnalyzerOptimizerTest {
@@ -44,10 +47,13 @@ public class AnalyzerOptimizerTest {
private Settings settings;
+ private AnalysisMode analysisMode;
+
@Before
public void prepare() {
settings = new Settings();
- optimizer = new AnalyzerOptimizer(fs, new ActiveRulesBuilder().build(), settings);
+ analysisMode = mock(AnalysisMode.class);
+ optimizer = new AnalyzerOptimizer(fs, new ActiveRulesBuilder().build(), settings, analysisMode);
}
@Test
@@ -105,7 +111,7 @@ public class AnalyzerOptimizerTest {
.create(RuleKey.of("repo1", "foo"))
.activate()
.build();
- optimizer = new AnalyzerOptimizer(fs, activeRules, settings);
+ optimizer = new AnalyzerOptimizer(fs, activeRules, settings, analysisMode);
assertThat(optimizer.shouldExecute(descriptor)).isFalse();
@@ -115,7 +121,7 @@ public class AnalyzerOptimizerTest {
.create(RuleKey.of("squid", "rule"))
.activate()
.build();
- optimizer = new AnalyzerOptimizer(fs, activeRules, settings);
+ optimizer = new AnalyzerOptimizer(fs, activeRules, settings, analysisMode);
assertThat(optimizer.shouldExecute(descriptor)).isTrue();
}
@@ -128,4 +134,15 @@ public class AnalyzerOptimizerTest {
settings.setProperty("sonar.foo.reportPath", "foo");
assertThat(optimizer.shouldExecute(descriptor)).isTrue();
}
+
+ @Test
+ public void should_disabled_in_preview() throws Exception {
+ DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor()
+ .disabledInPreview();
+ assertThat(optimizer.shouldExecute(descriptor)).isTrue();
+
+ when(analysisMode.isPreview()).thenReturn(true);
+
+ assertThat(optimizer.shouldExecute(descriptor)).isFalse();
+ }
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/sensor/DefaultSensorContextTest.java b/sonar-batch/src/test/java/org/sonar/batch/sensor/DefaultSensorContextTest.java
index b51dccd8f05..0995806e053 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/sensor/DefaultSensorContextTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/sensor/DefaultSensorContextTest.java
@@ -23,6 +23,7 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.batch.measure.MetricFinder;
import org.sonar.api.batch.rule.ActiveRules;
@@ -48,6 +49,7 @@ public class DefaultSensorContextTest {
private DefaultSensorContext adaptor;
private Settings settings;
private SensorStorage sensorStorage;
+ private AnalysisMode analysisMode;
@Before
public void prepare() {
@@ -60,7 +62,8 @@ public class DefaultSensorContextTest {
ComponentDataCache componentDataCache = mock(ComponentDataCache.class);
BlockCache blockCache = mock(BlockCache.class);
sensorStorage = mock(SensorStorage.class);
- adaptor = new DefaultSensorContext(settings, fs, activeRules, componentDataCache, blockCache, mock(DuplicationCache.class), sensorStorage);
+ analysisMode = mock(AnalysisMode.class);
+ adaptor = new DefaultSensorContext(settings, fs, activeRules, analysisMode, componentDataCache, blockCache, mock(DuplicationCache.class), sensorStorage);
}
@Test
@@ -68,6 +71,7 @@ public class DefaultSensorContextTest {
assertThat(adaptor.activeRules()).isEqualTo(activeRules);
assertThat(adaptor.fileSystem()).isEqualTo(fs);
assertThat(adaptor.settings()).isEqualTo(settings);
+ assertThat(adaptor.analysisMode()).isEqualTo(analysisMode);
assertThat(adaptor.newIssue()).isNotNull();
assertThat(adaptor.newMeasure()).isNotNull();