package to.rtc.rtc2jira; import java.io.IOException; import java.nio.file.Path; import java.util.logging.Level; import java.util.logging.Logger; import org.junit.rules.TemporaryFolder; import to.rtc.rtc2jira.storage.StorageEngine; public final class TestDatabaseRule extends TemporaryFolder { private static final Logger LOGGER = Logger.getLogger(TestDatabaseRule.class.getName()); private StorageEngine engine; @Override protected final void before() throws Throwable { super.before(); engine = new StorageEngine(); Path testDatabasePath = newFolder("test_databases", "rtc2Jira").toPath(); String url = "plocal:" + testDatabasePath; engine.setConnectionUrl(url); LOGGER.info("Set connection url to " + url); } @Override protected final void after() { close(); super.after(); } public StorageEngine getEngine() { return engine; } private void close() { try { engine.close(); } catch (IOException e) { LOGGER.log(Level.SEVERE, "Error while closing testdatabase", e); } } }