aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-main
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-main')
-rw-r--r--server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java3
-rw-r--r--server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java52
2 files changed, 54 insertions, 1 deletions
diff --git a/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java b/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java
index 5bb7aaafd2e..b9f9e9d18d1 100644
--- a/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java
+++ b/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java
@@ -46,7 +46,8 @@ public class EsJvmOptions extends JvmOptions<EsJvmOptions> {
fromJvmDotOptionsFile(tmpDir, res);
fromSystemJvmOptionsClass(tmpDir, res);
- if (!props.value("sonar.jdbc.url", "").contains("jdbc:h2") && !props.valueAsBoolean("sonar.es.bootstrap.checks.disable")) {
+ boolean defaultDisableBootstrapChecks = props.value("sonar.jdbc.url", "").contains("jdbc:h2");
+ if (!props.valueAsBoolean("sonar.es.bootstrap.checks.disable", defaultDisableBootstrapChecks)) {
res.put("-Des.enforce.bootstrap.checks=", "true");
}
diff --git a/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java b/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java
index fe9cc2b40ab..8d0abbe22aa 100644
--- a/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java
+++ b/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java
@@ -112,6 +112,58 @@ public class EsJvmOptionsTest {
.doesNotContain("-Des.enforce.bootstrap.checks=true");
}
+ @Test
+ public void boostrap_checks_can_be_set_true_if_h2() throws IOException {
+ properties.put("sonar.jdbc.url", "jdbc:h2:tcp://ffoo:bar/sonar");
+ properties.put("sonar.es.bootstrap.checks.disable", "true");
+
+ File tmpDir = temporaryFolder.newFolder();
+ EsJvmOptions underTest = new EsJvmOptions(new Props(properties), tmpDir);
+
+ assertThat(underTest.getAll())
+ .isNotEmpty()
+ .doesNotContain("-Des.enforce.bootstrap.checks=true");
+ }
+
+ @Test
+ public void boostrap_checks_can_be_set_false_if_h2() throws IOException {
+ properties.put("sonar.jdbc.url", "jdbc:h2:tcp://ffoo:bar/sonar");
+ properties.put("sonar.es.bootstrap.checks.disable", "false");
+
+ File tmpDir = temporaryFolder.newFolder();
+ EsJvmOptions underTest = new EsJvmOptions(new Props(properties), tmpDir);
+
+ assertThat(underTest.getAll())
+ .isNotEmpty()
+ .contains("-Des.enforce.bootstrap.checks=true");
+ }
+
+ @Test
+ public void boostrap_checks_can_be_set_true_if_jdbc_other_than_h2() throws IOException {
+ properties.put("sonar.jdbc.url", randomAlphanumeric(53));
+ properties.put("sonar.es.bootstrap.checks.disable", "true");
+
+ File tmpDir = temporaryFolder.newFolder();
+ EsJvmOptions underTest = new EsJvmOptions(new Props(properties), tmpDir);
+
+ assertThat(underTest.getAll())
+ .isNotEmpty()
+ .doesNotContain("-Des.enforce.bootstrap.checks=true");
+ }
+
+ @Test
+ public void boostrap_checks_can_be_set_false_if_jdbc_other_than_h2() throws IOException {
+ properties.put("sonar.jdbc.url", randomAlphanumeric(53));
+ properties.put("sonar.es.bootstrap.checks.disable", "false");
+
+ File tmpDir = temporaryFolder.newFolder();
+ EsJvmOptions underTest = new EsJvmOptions(new Props(properties), tmpDir);
+
+ assertThat(underTest.getAll())
+ .isNotEmpty()
+ .contains("-Des.enforce.bootstrap.checks=true");
+ }
+
/**
* This test may fail if SQ's test are not executed with target Java version 8.
*/