@Test
  public void should_return_embedded_data_directory() throws Exception {

    Settings settings = testSettings(0);
    EmbeddedDatabase database = new EmbeddedDatabase(settings);

    File dataDirectory = database.getDataDirectory(settings);
    assertThat(dataDirectory).isNotNull();
    assertThat(dataDirectory.getPath()).endsWith("testDB");
  }
  @Test
  public void should_return_sonar_home_directory() throws Exception {
    Settings settings = testSettings(0);
    settings.setProperty(CoreProperties.SONAR_HOME, ".");
    settings.setProperty(DatabaseProperties.PROP_EMBEDDED_DATA_DIR, "");

    EmbeddedDatabase database = new EmbeddedDatabase(settings);

    File dataDirectory = database.getDataDirectory(settings);
    assertThat(dataDirectory).isNotNull();
    assertThat(dataDirectory.getPath()).endsWith("data");
  }
  @Test
  public void should_fail_on_invalid_sonar_home_directory() throws Exception {
    throwable.expect(IllegalStateException.class);

    String testPath = getClass().getResource(".").getPath();

    Settings settings = testSettings(0);
    settings.setProperty(CoreProperties.SONAR_HOME, testPath + "/unmatched_directory");
    settings.setProperty(DatabaseProperties.PROP_EMBEDDED_DATA_DIR, "");

    EmbeddedDatabase database = new EmbeddedDatabase(settings);
    database.getDataDirectory(settings);
  }