aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src/test/java
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2019-04-30 10:52:55 -0500
committersonartech <sonartech@sonarsource.com>2019-05-06 11:01:03 +0200
commita517a4c1b6afe3c3c202801249dcbea41cfdec4c (patch)
treeb3ffb242da45497fb6f3583123f1f7b58d7eb46c /sonar-plugin-api/src/test/java
parent140aa8271a5af00a84154698b18dc254d5f7bae9 (diff)
downloadsonarqube-a517a4c1b6afe3c3c202801249dcbea41cfdec4c.tar.gz
sonarqube-a517a4c1b6afe3c3c202801249dcbea41cfdec4c.zip
SONAR-11969 Make Edition available for analyzers in the Scanner API
Diffstat (limited to 'sonar-plugin-api/src/test/java')
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/PluginTest.java2
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/internal/MetadataLoaderTest.java (renamed from sonar-plugin-api/src/test/java/org/sonar/api/internal/ApiVersionTest.java)33
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeImplTest.java10
3 files changed, 33 insertions, 12 deletions
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 70064a5b00c..53b84c86164 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
@@ -34,7 +34,7 @@ public class PluginTest {
@Test
public void test_context() {
- SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(VERSION_5_6, SonarQubeSide.SERVER);
+ SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(VERSION_5_6, SonarQubeSide.SERVER, SonarEdition.COMMUNITY);
MapSettings settings = new MapSettings().setProperty("foo", "bar");
Plugin.Context context = new PluginContextImpl.Builder()
.setSonarRuntime(runtime)
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/internal/ApiVersionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/internal/MetadataLoaderTest.java
index 4013878e9dd..d62ebdcf762 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/internal/ApiVersionTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/internal/MetadataLoaderTest.java
@@ -20,6 +20,8 @@
package org.sonar.api.internal;
import java.io.File;
+import java.net.MalformedURLException;
+import org.sonar.api.SonarEdition;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -28,29 +30,50 @@ import org.sonar.api.utils.Version;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-public class ApiVersionTest {
+public class MetadataLoaderTest {
+ private System2 system = mock(System2.class);
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Test
public void load_version_from_file_in_classpath() {
- Version version = ApiVersion.load(System2.INSTANCE);
+ Version version = MetadataLoader.loadVersion(System2.INSTANCE);
assertThat(version).isNotNull();
assertThat(version.major()).isGreaterThanOrEqualTo(5);
}
@Test
+ public void load_edition_from_file_in_classpath() {
+ SonarEdition edition = MetadataLoader.loadEdition(System2.INSTANCE);
+ assertThat(edition).isNotNull();
+ }
+
+ @Test
+ public void load_edition_defaults_to_community_if_file_not_found() throws MalformedURLException {
+ when(system.getResource(anyString())).thenReturn(new File("target/unknown").toURI().toURL());
+ SonarEdition edition = MetadataLoader.loadEdition(System2.INSTANCE);
+ assertThat(edition).isEqualTo(SonarEdition.COMMUNITY);
+ }
+
+ @Test
+ public void throw_ISE_if_edition_is_invalid() {
+ expectedException.expect(IllegalStateException.class);
+ expectedException.expectMessage("Invalid edition found in '/sonar-edition.txt': 'TRASH'");
+
+ MetadataLoader.parseEdition("trash");
+ }
+
+ @Test
public void throw_ISE_if_fail_to_load_version() throws Exception {
expectedException.expect(IllegalStateException.class);
expectedException.expectMessage("Can not load /sonar-api-version.txt from classpath");
- System2 system = spy(System2.class);
when(system.getResource(anyString())).thenReturn(new File("target/unknown").toURI().toURL());
- ApiVersion.load(system);
+ MetadataLoader.loadVersion(system);
}
}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeImplTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeImplTest.java
index 5179ef530d9..8e439af9339 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeImplTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/internal/SonarRuntimeImplTest.java
@@ -19,6 +19,7 @@
*/
package org.sonar.api.internal;
+import org.sonar.api.SonarEdition;
import org.assertj.core.api.Assertions;
import org.junit.Rule;
import org.junit.Test;
@@ -30,7 +31,6 @@ import org.sonar.api.utils.Version;
import static org.assertj.core.api.Assertions.assertThat;
-
public class SonarRuntimeImplTest {
private static final Version A_VERSION = Version.parse("6.0");
@@ -40,7 +40,7 @@ public class SonarRuntimeImplTest {
@Test
public void sonarQube_environment() {
- SonarRuntime apiVersion = SonarRuntimeImpl.forSonarQube(A_VERSION, SonarQubeSide.SCANNER);
+ SonarRuntime apiVersion = SonarRuntimeImpl.forSonarQube(A_VERSION, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY);
assertThat(apiVersion.getApiVersion()).isEqualTo(A_VERSION);
assertThat(apiVersion.getProduct()).isEqualTo(SonarProduct.SONARQUBE);
assertThat(apiVersion.getSonarQubeSide()).isEqualTo(SonarQubeSide.SCANNER);
@@ -60,10 +60,8 @@ public class SonarRuntimeImplTest {
}
@Test(expected = IllegalArgumentException.class)
- public void sonarqube_requires_side() throws Exception {
- SonarRuntimeImpl.forSonarQube(A_VERSION, null);
+ public void sonarqube_requires_side() {
+ SonarRuntimeImpl.forSonarQube(A_VERSION, null, null);
}
-
-
}