diff --git a/pom.xml b/pom.xml
index cff0069..f2a6b60 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,6 +135,13 @@
test
+
+ net.postgis
+ postgis-jdbc
+ 2023.1.0
+ test
+
+
ru.yandex.clickhouse
clickhouse-jdbc
diff --git a/src/main/java/io/ebean/test/containers/PostgisContainer.java b/src/main/java/io/ebean/test/containers/PostgisContainer.java
index bc9f0a4..1ebf64b 100644
--- a/src/main/java/io/ebean/test/containers/PostgisContainer.java
+++ b/src/main/java/io/ebean/test/containers/PostgisContainer.java
@@ -35,6 +35,8 @@ private PostgisContainer(Builder config) {
*/
public static class Builder extends BaseDbBuilder {
+ private boolean useLW;
+
private Builder(String version) {
super("postgis", 6432, 5432, version);
this.image = "ghcr.io/baosystems/postgis:" + version;
@@ -44,19 +46,32 @@ private Builder(String version) {
this.extraDbExtensions = extensions;
}
+ private String prefix() {
+ return useLW ? "jdbc:postgresql_lwgis://" : "jdbc:postgresql://";
+ }
+
@Override
protected String buildJdbcUrl() {
- return "jdbc:postgresql://" + host + ":" + port + "/" + dbName;
+ return prefix() + host + ":" + port + "/" + dbName;
}
@Override
protected String buildJdbcAdminUrl() {
- return "jdbc:postgresql://" + host + ":" + port + "/postgres";
+ return prefix() + host + ":" + port + "/postgres";
}
@Override
protected String buildExtraJdbcUrl() {
- return "jdbc:postgresql://" + host + ":" + port + "/" + extraDb;
+ return prefix() + host + ":" + port + "/" + extraDb;
+ }
+
+ /**
+ * Set to use HexWKB and DriverWrapperLW. The JDBC URL will prefix with
+ * jdbc:postgresql_lwgis:// instead of jdbc:postgresql://.
+ */
+ Builder useLW(boolean useLW) {
+ this.useLW = useLW;
+ return this;
}
@Override
diff --git a/src/test/java/io/ebean/test/containers/PostgisContainerTest.java b/src/test/java/io/ebean/test/containers/PostgisContainerTest.java
index 550cc7b..6a9e099 100644
--- a/src/test/java/io/ebean/test/containers/PostgisContainerTest.java
+++ b/src/test/java/io/ebean/test/containers/PostgisContainerTest.java
@@ -16,6 +16,7 @@ class PostgisContainerTest {
void extraDb() throws java.sql.SQLException {
PostgisContainer container = PostgisContainer.builder("15")
.port(0)
+ .useLW(true)
.extraDb("myextra")
.build();
@@ -27,6 +28,7 @@ void extraDb() throws java.sql.SQLException {
String jdbcUrl = container.config().jdbcUrl();
assertThat(jdbcUrl).contains(":" + containerConfig.port());
+ assertThat(jdbcUrl).startsWith("jdbc:postgresql_lwgis://");
runSomeSql(container);
DataSourcePool dataSource = container.ebean().dataSourceBuilder().build();