@Test public void testSetProperty() { String key = "System2Test.testSetProperty"; String value = randomUUID().toString(); System2.INSTANCE.setProperty(key, value); assertThat(System2.INSTANCE.property(key)).isEqualTo(value); }
private void startServer(File dbHome) { String url = getRequiredSetting(JDBC_URL.getKey()); String port = getRequiredSetting(JDBC_EMBEDDED_PORT.getKey()); String user = getSetting(JDBC_USERNAME.getKey()); String password = getSetting(JDBC_PASSWORD.getKey()); try { // Db is used only by web server and compute engine. No need // to make it accessible from outside. system2.setProperty("h2.bindAddress", InetAddress.getLoopbackAddress().getHostAddress()); if (url.contains("/mem:")) { server = Server.createTcpServer("-tcpPort", port, "-baseDir", dbHome.getAbsolutePath()); } else { createDatabase(dbHome, user, password); server = Server.createTcpServer("-tcpPort", port, "-ifExists", "-baseDir", dbHome.getAbsolutePath()); } LOG.info("Starting embedded database on port " + server.getPort() + " with url " + url); server.start(); LOG.info("Embedded database started. Data stored in: " + dbHome.getAbsolutePath()); } catch (SQLException e) { throw new IllegalStateException("Unable to start database", e); } }
@Test public void start_creates_db_and_adds_tcp_listener() throws IOException { int port = NetworkUtilsImpl.INSTANCE.getNextAvailablePort(InetAddress.getLoopbackAddress()); settings .setProperty(PATH_DATA.getKey(), temporaryFolder.newFolder().getAbsolutePath()) .setProperty(JDBC_URL.getKey(), "jdbc url") .setProperty(JDBC_EMBEDDED_PORT.getKey(), "" + port) .setProperty(JDBC_USERNAME.getKey(), "foo") .setProperty(JDBC_PASSWORD.getKey(), "bar"); underTest.start(); checkDbIsUp(port, "foo", "bar"); // H2 listens on loopback address only verify(system2).setProperty("h2.bindAddress", LOOPBACK_ADDRESS); }
private void startServer(File dbHome) { String url = getRequiredSetting(JDBC_URL.getKey()); String port = getRequiredSetting(JDBC_EMBEDDED_PORT.getKey()); String user = getSetting(JDBC_USERNAME.getKey()); String password = getSetting(JDBC_PASSWORD.getKey()); try { // Db is used only by web server and compute engine. No need // to make it accessible from outside. system2.setProperty("h2.bindAddress", InetAddress.getLoopbackAddress().getHostAddress()); if (url.contains("/mem:")) { server = Server.createTcpServer("-tcpPort", port, "-baseDir", dbHome.getAbsolutePath()); } else { createDatabase(dbHome, user, password); server = Server.createTcpServer("-tcpPort", port, "-ifExists", "-baseDir", dbHome.getAbsolutePath()); } LOG.info("Starting embedded database on port " + server.getPort() + " with url " + url); server.start(); LOG.info("Embedded database started. Data stored in: " + dbHome.getAbsolutePath()); } catch (SQLException e) { throw new IllegalStateException("Unable to start database", e); } }