diff options
Diffstat (limited to 'server/sonar-main')
-rw-r--r-- | server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java | 3 | ||||
-rw-r--r-- | server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java | 52 |
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. */ |