Repository: incubator-beam Updated Branches: refs/heads/master 3f8db06bd -> 48917845b
[BEAM-856] Use free network port for the Derby test instance Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/67215786 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/67215786 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/67215786 Branch: refs/heads/master Commit: 67215786f99d640283c730e41c70179ae1a5519a Parents: 3f8db06 Author: Jean-Baptiste Onofré <[email protected]> Authored: Wed Nov 2 19:22:16 2016 +0100 Committer: Davor Bonaci <[email protected]> Committed: Thu Nov 10 14:30:01 2016 -0800 ---------------------------------------------------------------------- .../org/apache/beam/sdk/io/jdbc/JdbcIOTest.java | 25 +++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/67215786/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java ---------------------------------------------------------------------- diff --git a/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java b/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java index c7b2de8..fe574af 100644 --- a/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java +++ b/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java @@ -22,6 +22,7 @@ import static org.junit.Assert.assertTrue; import java.io.Serializable; import java.net.InetAddress; +import java.net.ServerSocket; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -59,18 +60,26 @@ public class JdbcIOTest implements Serializable { private static NetworkServerControl derbyServer; private static ClientDataSource dataSource; + private static int port; + @BeforeClass public static void startDatabase() throws Exception { + ServerSocket socket = new ServerSocket(0); + port = socket.getLocalPort(); + socket.close(); + + LOGGER.info("Starting Derby database on {}", port); + System.setProperty("derby.stream.error.file", "target/derby.log"); - derbyServer = new NetworkServerControl(InetAddress.getByName("localhost"), 1527); + derbyServer = new NetworkServerControl(InetAddress.getByName("localhost"), port); derbyServer.start(null); dataSource = new ClientDataSource(); dataSource.setCreateDatabase("create"); dataSource.setDatabaseName("target/beam"); dataSource.setServerName("localhost"); - dataSource.setPortNumber(1527); + dataSource.setPortNumber(port); try (Connection connection = dataSource.getConnection()) { try (Statement statement = connection.createStatement()) { @@ -129,7 +138,7 @@ public class JdbcIOTest implements Serializable { public void testDataSourceConfigurationDriverAndUrl() throws Exception { JdbcIO.DataSourceConfiguration config = JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam"); + "jdbc:derby://localhost:" + port + "/target/beam"); try (Connection conn = config.getConnection()) { assertTrue(conn.isValid(0)); } @@ -139,7 +148,7 @@ public class JdbcIOTest implements Serializable { public void testDataSourceConfigurationUsernameAndPassword() throws Exception { JdbcIO.DataSourceConfiguration config = JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam") + "jdbc:derby://localhost:" + port + "/target/beam") .withUsername("sa") .withPassword("sa"); try (Connection conn = config.getConnection()) { @@ -151,7 +160,7 @@ public class JdbcIOTest implements Serializable { public void testDataSourceConfigurationNullPassword() throws Exception { JdbcIO.DataSourceConfiguration config = JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam") + "jdbc:derby://localhost:" + port + "/target/beam") .withUsername("sa") .withPassword(null); try (Connection conn = config.getConnection()) { @@ -163,7 +172,7 @@ public class JdbcIOTest implements Serializable { public void testDataSourceConfigurationNullUsernameAndPassword() throws Exception { JdbcIO.DataSourceConfiguration config = JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam") + "jdbc:derby://localhost:" + port + "/target/beam") .withUsername(null) .withPassword(null); try (Connection conn = config.getConnection()) { @@ -256,7 +265,7 @@ public class JdbcIOTest implements Serializable { .apply(JdbcIO.<KV<Integer, String>>write() .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam")) + "jdbc:derby://localhost:" + port + "/target/beam")) .withStatement("insert into BEAM values(?, ?)") .withPreparedStatementSetter(new JdbcIO.PreparedStatementSetter<KV<Integer, String>>() { public void setParameters(KV<Integer, String> element, PreparedStatement statement) @@ -289,7 +298,7 @@ public class JdbcIOTest implements Serializable { .apply(JdbcIO.<KV<Integer, String>>write() .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create( "org.apache.derby.jdbc.ClientDriver", - "jdbc:derby://localhost:1527/target/beam")) + "jdbc:derby://localhost:" + port + "/target/beam")) .withStatement("insert into BEAM values(?, ?)") .withPreparedStatementSetter(new JdbcIO.PreparedStatementSetter<KV<Integer, String>>() { public void setParameters(KV<Integer, String> element, PreparedStatement statement)
