diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2019-04-30 10:52:55 -0500 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2019-05-06 11:01:03 +0200 |
commit | a517a4c1b6afe3c3c202801249dcbea41cfdec4c (patch) | |
tree | b3ffb242da45497fb6f3583123f1f7b58d7eb46c /sonar-plugin-api/src/test/java | |
parent | 140aa8271a5af00a84154698b18dc254d5f7bae9 (diff) | |
download | sonarqube-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.java | 2 | ||||
-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.java | 10 |
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); } - - } |