aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2016-06-13 17:12:39 +0200
committerJulien HENRY <henryju@yahoo.fr>2016-07-07 10:04:36 +0200
commite5818438a289fe522c87245d5bd18d71406f0e39 (patch)
tree86df13d673acd62016bc8253593bca0154934162 /sonar-plugin-api
parent2d20c0f3f27356ad1f9aa430f3e5925c50756cfc (diff)
downloadsonarqube-e5818438a289fe522c87245d5bd18d71406f0e39.tar.gz
sonarqube-e5818438a289fe522c87245d5bd18d71406f0e39.zip
SONAR-7755 deploy/plugins/index.txt should expose SonarLint compatibility
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java20
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/SonarProduct.java (renamed from sonar-plugin-api/src/test/java/org/sonar/api/RuntimeApiVersionTest.java)28
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeSide.java32
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java13
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/SonarRuntime.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/RuntimeApiVersion.java)45
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java18
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/internal/SonarRuntimeFactory.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/internal/RuntimeApiVersionFactory.java)11
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java4
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/SonarQubeVersionTest.java3
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/SonarRuntimeTest.java73
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeFactoryTest.java (renamed from sonar-plugin-api/src/test/java/org/sonar/api/internal/RuntimeApiVersionFactoryTest.java)11
12 files changed, 196 insertions, 67 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java b/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
index aa1a6f9511a..8fb50a0b14c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
@@ -85,21 +85,19 @@ import static java.util.Objects.requireNonNull;
public interface Plugin {
class Context {
- private final Version runtimeApiVersion;
+ private final SonarRuntime sonarRuntime;
private final List extensions = new ArrayList();
- private final boolean sonarlintRuntime;
- public Context(Version runtimeApiVersion, boolean sonarlintRuntime) {
- this.runtimeApiVersion = runtimeApiVersion;
- this.sonarlintRuntime = sonarlintRuntime;
+ public Context(SonarRuntime sonarRuntime) {
+ this.sonarRuntime = sonarRuntime;
}
/**
- * @deprecated since 6.0
+ * @deprecated since 6.0 use {@link #getRuntimeApiVersion()}
*/
@Deprecated
public Version getSonarQubeVersion() {
- return runtimeApiVersion;
+ return sonarRuntime.getApiVersion();
}
/**
@@ -107,7 +105,7 @@ public interface Plugin {
* @since 6.0
*/
public Version getRuntimeApiVersion() {
- return runtimeApiVersion;
+ return sonarRuntime.getApiVersion();
}
/**
@@ -154,11 +152,11 @@ public interface Plugin {
}
/**
- * Test if plugin is currently executed in SonarLint. Can be use to conditionnaly add some extensions.
+ * Test the product the plugin is currently executed in. This can allow to implement a different behavior.
* @since 6.0
*/
- public boolean isSonarlintRuntime() {
- return sonarlintRuntime;
+ public SonarProduct getRuntimeProduct() {
+ return sonarRuntime.getProduct();
}
}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/RuntimeApiVersionTest.java b/sonar-plugin-api/src/main/java/org/sonar/api/SonarProduct.java
index e7fb658e2eb..97a5dba1e37 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/RuntimeApiVersionTest.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/SonarProduct.java
@@ -19,27 +19,13 @@
*/
package org.sonar.api;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.sonar.api.utils.Version;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class RuntimeApiVersionTest {
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
+/**
+ * List of different products/runtimes.
+ * @since 6.0
+ */
+public enum SonarProduct {
- @Test
- public void isGte() {
- Version version = Version.parse("1.2.3");
- RuntimeApiVersion apiVersion = new RuntimeApiVersion(version, false);
- assertThat(apiVersion.get()).isEqualTo(version);
- assertThat(apiVersion.isSonarlintRuntime()).isFalse();
- assertThat(apiVersion.isGreaterThanOrEqual(version)).isTrue();
- assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.1"))).isTrue();
- assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.3"))).isFalse();
- }
+ SONARQUBE,
+ SONARLINT;
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeSide.java b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeSide.java
new file mode 100644
index 00000000000..5e02c2eae61
--- /dev/null
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeSide.java
@@ -0,0 +1,32 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program 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.
+ *
+ * This program 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.api;
+
+/**
+ * Differentiate runtime context in SonarQube product.
+ * @since 6.0
+ */
+public enum SonarQubeSide {
+
+ SCANNER,
+ SERVER,
+ COMPUTE_ENGINE;
+
+}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
index 6b8a1e5cdbd..044df52a450 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
@@ -19,6 +19,7 @@
*/
package org.sonar.api;
+import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import org.sonar.api.batch.ScannerSide;
import org.sonar.api.batch.sensor.Sensor;
@@ -115,17 +116,21 @@ import org.sonar.api.utils.Version;
*
*
* @since 5.5
- * @deprecated since 6.0 replaced by {@link RuntimeApiVersion}
+ * @deprecated since 6.0 replaced by {@link SonarRuntime}
*/
@ScannerSide
@ServerSide
@ComputeEngineSide
@Immutable
@Deprecated
-public class SonarQubeVersion extends RuntimeApiVersion {
+public class SonarQubeVersion extends SonarRuntime {
- public SonarQubeVersion(Version version, boolean sonarlint) {
- super(version, sonarlint);
+ public SonarQubeVersion(Version version, SonarProduct product, @Nullable SonarQubeSide sonarQubeSide) {
+ super(version, product, sonarQubeSide);
+ }
+
+ public Version get() {
+ return super.getApiVersion();
}
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/RuntimeApiVersion.java b/sonar-plugin-api/src/main/java/org/sonar/api/SonarRuntime.java
index e221f6f9f8e..0760fb77244 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/RuntimeApiVersion.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/SonarRuntime.java
@@ -19,12 +19,15 @@
*/
package org.sonar.api;
+import com.google.common.base.Preconditions;
+import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.sensor.Sensor;
import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Version;
+import org.sonarsource.api.sonarlint.SonarLintSide;
import static java.util.Objects.requireNonNull;
@@ -121,8 +124,9 @@ import static java.util.Objects.requireNonNull;
@BatchSide
@ServerSide
@ComputeEngineSide
+@SonarLintSide
@Immutable
-public class RuntimeApiVersion {
+public class SonarRuntime {
/**
* Constant for version 5.5
@@ -134,16 +138,28 @@ public class RuntimeApiVersion {
*/
public static final Version V5_6 = Version.create(5, 6);
+ /**
+ * Constant for version 6.0
+ */
+ public static final Version V6_0 = Version.create(6, 0);
+
private final Version version;
- private final boolean sonarlint;
+ private final SonarProduct product;
+ private final SonarQubeSide sonarQubeSide;
- public RuntimeApiVersion(Version version, boolean sonarlint) {
+ public SonarRuntime(Version version, SonarProduct product, @Nullable SonarQubeSide sonarQubeSide) {
requireNonNull(version);
+ requireNonNull(product);
+ Preconditions.checkArgument((product == SonarProduct.SONARQUBE) == (sonarQubeSide != null), "sonarQubeSide should be provided only for SonarQube product");
this.version = version;
- this.sonarlint = sonarlint;
+ this.product = product;
+ this.sonarQubeSide = sonarQubeSide;
}
- public Version get() {
+ /**
+ * Runtime version of sonar-plugin-api. This could be used to test if a new feature can be used or not without using reflection.
+ */
+ public Version getApiVersion() {
return this.version;
}
@@ -152,10 +168,23 @@ public class RuntimeApiVersion {
}
/**
- * @since 6.0 Test if current runtime is SonarLint. Can be used to implement a different behavior.
+ * Allow to know what is current runtime product. Can be used to implement different behavior depending on runtime (SonarQube, SonarLint, ...).
+ * @since 6.0
+ */
+ public SonarProduct getProduct() {
+ return product;
+ }
+
+ /**
+ * Allow to know the precise runtime context in SonarQube product. Only valid when {@link #getProduct()} returns {@link SonarProduct#SONARQUBE}
+ * @since 6.0
+ * @throws UnsupportedOperationException if called and {@link #getProduct()} is not equal to {@link SonarProduct#SONARQUBE}
*/
- public boolean isSonarlintRuntime() {
- return sonarlint;
+ public SonarQubeSide getSonarQubeSide() {
+ if (sonarQubeSide == null) {
+ throw new UnsupportedOperationException("Can only be called in SonarQube");
+ }
+ return sonarQubeSide;
}
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
index 4970132e71a..22319fb4613 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
@@ -20,6 +20,7 @@
package org.sonar.api.batch.sensor;
import java.io.Serializable;
+import org.sonar.api.SonarProduct;
import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.batch.fs.InputModule;
import org.sonar.api.batch.rule.ActiveRules;
@@ -75,10 +76,10 @@ public interface SensorContext {
Version getRuntimeApiVersion();
/**
- * Test if plugin is currently executed in SonarLint. This can allow to implement a different behavior.
+ * Test the product the plugin is currently executed in. This can allow to implement a different behavior.
* @since 6.0
*/
- boolean isSonarLintRuntime();
+ SonarProduct getRuntimeProduct();
// ----------- MEASURES --------------
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java
index 9c3c8476028..53a66952c17 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java
@@ -30,6 +30,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.CheckForNull;
+import org.sonar.api.SonarProduct;
+import org.sonar.api.SonarQubeSide;
import org.sonar.api.SonarQubeVersion;
import org.sonar.api.batch.fs.InputModule;
import org.sonar.api.batch.fs.TextRange;
@@ -58,7 +60,7 @@ import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure;
import org.sonar.api.batch.sensor.symbol.NewSymbolTable;
import org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable;
import org.sonar.api.config.Settings;
-import org.sonar.api.internal.RuntimeApiVersionFactory;
+import org.sonar.api.internal.SonarRuntimeFactory;
import org.sonar.api.measures.Metric;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.Version;
@@ -95,7 +97,7 @@ public class SensorContextTester implements SensorContext {
this.activeRules = new ActiveRulesBuilder().build();
this.sensorStorage = new InMemorySensorStorage();
this.module = new DefaultInputModule("projectKey");
- this.sqVersion = RuntimeApiVersionFactory.create(System2.INSTANCE, false);
+ this.sqVersion = SonarRuntimeFactory.create(System2.INSTANCE, SonarProduct.SONARQUBE, SonarQubeSide.SCANNER);
}
public static SensorContextTester create(File moduleBaseDir) {
@@ -142,21 +144,21 @@ public class SensorContextTester implements SensorContext {
*/
@Override
public Version getSonarQubeVersion() {
- return sqVersion.get();
+ return sqVersion.getApiVersion();
}
@Override
public Version getRuntimeApiVersion() {
- return sqVersion.get();
+ return sqVersion.getApiVersion();
}
@Override
- public boolean isSonarLintRuntime() {
- return sqVersion.isSonarlintRuntime();
+ public SonarProduct getRuntimeProduct() {
+ return sqVersion.getProduct();
}
- public SensorContextTester setRuntime(Version version, boolean isSonarLint) {
- this.sqVersion = new SonarQubeVersion(version, isSonarLint);
+ public SensorContextTester setRuntime(Version version, SonarProduct product, SonarQubeSide sonarQubeSide) {
+ this.sqVersion = new SonarQubeVersion(version, product, sonarQubeSide);
return this;
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/internal/RuntimeApiVersionFactory.java b/sonar-plugin-api/src/main/java/org/sonar/api/internal/SonarRuntimeFactory.java
index fd098bd4a64..b47189b58a8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/internal/RuntimeApiVersionFactory.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/internal/SonarRuntimeFactory.java
@@ -23,6 +23,9 @@ import com.google.common.io.Resources;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
+import javax.annotation.Nullable;
+import org.sonar.api.SonarProduct;
+import org.sonar.api.SonarQubeSide;
import org.sonar.api.SonarQubeVersion;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.Version;
@@ -30,19 +33,19 @@ import org.sonar.api.utils.Version;
/**
* For internal use only.
*/
-public class RuntimeApiVersionFactory {
+public class SonarRuntimeFactory {
private static final String FILE_PATH = "/sq-version.txt";
- private RuntimeApiVersionFactory() {
+ private SonarRuntimeFactory() {
// prevents instantiation
}
- public static SonarQubeVersion create(System2 system, boolean isSonarLint) {
+ public static SonarQubeVersion create(System2 system, SonarProduct product, @Nullable SonarQubeSide sonarQubeSide) {
try {
URL url = system.getResource(FILE_PATH);
String versionInFile = Resources.toString(url, StandardCharsets.UTF_8);
- return new SonarQubeVersion(Version.parse(versionInFile), isSonarLint);
+ return new SonarQubeVersion(Version.parse(versionInFile), product, sonarQubeSide);
} catch (IOException e) {
throw new IllegalStateException("Can not load " + FILE_PATH + " from classpath", e);
}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java
index 853a48bd59c..caa022c0290 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java
@@ -23,13 +23,13 @@ import java.util.Arrays;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.api.RuntimeApiVersion.V5_5;
+import static org.sonar.api.SonarRuntime.V5_5;
public class PluginTest {
@Test
public void test_context() {
- Plugin.Context context = new Plugin.Context(V5_5, true);
+ Plugin.Context context = new Plugin.Context(new SonarRuntime(V5_5, SonarProduct.SONARQUBE, SonarQubeSide.SERVER));
assertThat(context.getSonarQubeVersion()).isEqualTo(V5_5);
assertThat(context.getExtensions()).isEmpty();
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/SonarQubeVersionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/SonarQubeVersionTest.java
index e5ef829db69..8ee63aa98fd 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/SonarQubeVersionTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/SonarQubeVersionTest.java
@@ -34,9 +34,8 @@ public class SonarQubeVersionTest {
@Test
public void isGte() {
Version version = Version.parse("1.2.3");
- SonarQubeVersion qubeVersion = new SonarQubeVersion(version, true);
+ SonarQubeVersion qubeVersion = new SonarQubeVersion(version, SonarProduct.SONARLINT, null);
assertThat(qubeVersion.get()).isEqualTo(version);
- assertThat(qubeVersion.isSonarlintRuntime()).isTrue();
assertThat(qubeVersion.isGreaterThanOrEqual(version)).isTrue();
assertThat(qubeVersion.isGreaterThanOrEqual(Version.parse("1.1"))).isTrue();
assertThat(qubeVersion.isGreaterThanOrEqual(Version.parse("1.3"))).isFalse();
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/SonarRuntimeTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/SonarRuntimeTest.java
new file mode 100644
index 00000000000..6d26a5678ce
--- /dev/null
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/SonarRuntimeTest.java
@@ -0,0 +1,73 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program 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.
+ *
+ * This program 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.api;
+
+import org.assertj.core.api.Assertions;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.sonar.api.utils.Version;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class SonarRuntimeTest {
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Test
+ public void isGteInSQ() {
+ Version version = Version.parse("1.2.3");
+ SonarRuntime apiVersion = new SonarRuntime(version, SonarProduct.SONARQUBE, SonarQubeSide.SCANNER);
+ assertThat(apiVersion.getApiVersion()).isEqualTo(version);
+ assertThat(apiVersion.getProduct()).isEqualTo(SonarProduct.SONARQUBE);
+ assertThat(apiVersion.getSonarQubeSide()).isEqualTo(SonarQubeSide.SCANNER);
+ assertThat(apiVersion.isGreaterThanOrEqual(version)).isTrue();
+ assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.1"))).isTrue();
+ assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.3"))).isFalse();
+ }
+
+ @Test
+ public void inSL() {
+ Version version = Version.parse("1.2.3");
+ SonarRuntime apiVersion = new SonarRuntime(version, SonarProduct.SONARLINT, null);
+ assertThat(apiVersion.getApiVersion()).isEqualTo(version);
+ assertThat(apiVersion.getProduct()).isEqualTo(SonarProduct.SONARLINT);
+ assertThat(apiVersion.isGreaterThanOrEqual(version)).isTrue();
+ assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.1"))).isTrue();
+ assertThat(apiVersion.isGreaterThanOrEqual(Version.parse("1.3"))).isFalse();
+ try {
+ apiVersion.getSonarQubeSide();
+ Assertions.fail("Expected exception");
+ } catch (Exception e) {
+ assertThat(e).isInstanceOf(UnsupportedOperationException.class);
+ }
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testConstructorMissSide() throws Exception {
+ new SonarRuntime(Version.parse("1.2.3"), SonarProduct.SONARQUBE, null);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testConstructorNoSideOnSonarLint() throws Exception {
+ new SonarRuntime(Version.parse("1.2.3"), SonarProduct.SONARLINT, SonarQubeSide.COMPUTE_ENGINE);
+ }
+}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/internal/RuntimeApiVersionFactoryTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeFactoryTest.java
index 69b3cca8c54..4db26447ca5 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/internal/RuntimeApiVersionFactoryTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeFactoryTest.java
@@ -23,6 +23,7 @@ import java.io.File;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.sonar.api.SonarProduct;
import org.sonar.api.SonarQubeVersion;
import org.sonar.api.utils.System2;
@@ -31,17 +32,17 @@ import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
-public class RuntimeApiVersionFactoryTest {
+public class SonarRuntimeFactoryTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Test
public void create() {
- SonarQubeVersion version = RuntimeApiVersionFactory.create(System2.INSTANCE, true);
+ SonarQubeVersion version = SonarRuntimeFactory.create(System2.INSTANCE, SonarProduct.SONARLINT, null);
assertThat(version).isNotNull();
- assertThat(version.get().major()).isGreaterThanOrEqualTo(5);
- assertThat(version.isSonarlintRuntime()).isTrue();
+ assertThat(version.getApiVersion().major()).isGreaterThanOrEqualTo(5);
+ assertThat(version.getProduct()).isEqualTo(SonarProduct.SONARLINT);
}
@Test
@@ -51,7 +52,7 @@ public class RuntimeApiVersionFactoryTest {
System2 system = spy(System2.class);
when(system.getResource(anyString())).thenReturn(new File("target/unknown").toURI().toURL());
- RuntimeApiVersionFactory.create(system, false);
+ SonarRuntimeFactory.create(system, SonarProduct.SONARLINT, null);
}
}