Skip to content

Commit f3144b5

Browse files
committed
test(java/driver/jni): add tests with drivers besides SQLite
Closes #4230.
1 parent 3a06be0 commit f3144b5

14 files changed

Lines changed: 1395 additions & 9 deletions

File tree

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ ADBC_JDBC_POSTGRESQL_URL=localhost:5432/postgres
5555
ADBC_JDBC_POSTGRESQL_USER=postgres
5656
ADBC_JDBC_POSTGRESQL_PASSWORD=password
5757
ADBC_JDBC_POSTGRESQL_DATABASE=postgres
58+
ADBC_MSSQL_TEST_URI="sqlserver://SA:Password1!@localhost:1433"
5859
ADBC_POSTGRESQL_TEST_URI="postgresql://localhost:5432/postgres?user=postgres&password=password"
5960
ADBC_SQLITE_FLIGHTSQL_URI=grpc+tcp://localhost:8080
6061
ADBC_TEST_FLIGHTSQL_URI=grpc+tls://localhost:41414

.github/workflows/java.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ jobs:
219219
cache: "maven"
220220
distribution: "temurin"
221221
java-version: 11
222-
- name: Build/Test
222+
- name: Build
223223
run: |
224224
set -x
225225
pushd artifacts
@@ -228,10 +228,34 @@ jobs:
228228
done
229229
popd
230230
cp -r artifacts/*/jni/adbc_driver_jni java/driver/jni/src/main/resources
231+
env BUILD_JNI=ON ./ci/scripts/java_build.sh $(pwd)
232+
233+
- name: Start Dependencies
234+
if: matrix.os == 'Linux' && matrix.arch == 'amd64'
235+
run: |
236+
docker compose up --detach --wait mssql-test postgres-test
237+
cat .env | grep -v -e '^#' | grep -e '^ADBC_' | awk NF | sed 's/"//g' | tee -a $GITHUB_ENV
238+
239+
- name: Download thirdparty driver
240+
if: matrix.os == 'Linux' && matrix.arch == 'amd64'
241+
run: |
242+
wget https://dbc-cdn.columnar.tech/mssql/v1.3.1/mssql_linux_amd64_v1.3.1.tar.gz
243+
echo "e6723cf417403f313fb75c1ac03aea9b9ff857d4a947608c8ae44eacc1aa22b3 mssql_linux_amd64_v1.3.1.tar.gz" > mssql_linux_amd64_v1.3.1.tar.gz.sha256
244+
sha256sum -c mssql_linux_amd64_v1.3.1.tar.gz.sha256
245+
246+
tar xvf mssql_linux_amd64_v1.3.1.tar.gz
247+
mkdir -p ~/.config/adbc/drivers/
248+
mv libadbc_driver_mssql.so ~/.config/adbc/drivers/
249+
echo "manifest_version = 1" > ~/.config/adbc/drivers/mssql.toml
250+
echo "[Driver]" >> ~/.config/adbc/drivers/mssql.toml
251+
echo "shared = '$HOME/.config/adbc/drivers/libadbc_driver_mssql.so'" >> ~/.config/adbc/drivers/mssql.toml
252+
cat ~/.config/adbc/drivers/mssql.toml
253+
254+
- name: Test
255+
run: |
231256
for driver in artifacts/*/driver; do
232257
export LD_LIBRARY_PATH=$(pwd)/$driver:${LD_LIBRARY_PATH:-}
233258
export DYLD_LIBRARY_PATH=$(pwd)/$driver:${DYLD_LIBRARY_PATH:-}
234259
done
235-
env BUILD_JNI=ON ./ci/scripts/java_build.sh $(pwd)
236260
cd java
237-
mvn -B -Pjni test -pl :adbc-driver-jni
261+
mvn -B -Pjni test -pl :adbc-driver-jni -pl :adbc-driver-jni-validation

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ export ADBC_USE_ASAN=OFF
361361
export ADBC_USE_UBSAN=OFF
362362
export BUILD_ALL=OFF
363363
export BUILD_DRIVER_MANAGER=ON
364+
export BUILD_DRIVER_POSTGRESQL=ON
364365
export BUILD_DRIVER_SQLITE=ON
365366
./ci/scripts/cpp_build.sh $(pwd) $(pwd)/build $(pwd)/local
366367
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

29-
<artifactId>adbc-driver-jni-validation-sqlite</artifactId>
29+
<artifactId>adbc-driver-jni-validation</artifactId>
3030
<packaging>jar</packaging>
3131
<name>Arrow ADBC Driver JNI Validation with SQLite</name>
3232
<description>Tests validating the JNI driver against SQLite.</description>

java/driver/jni-validation-sqlite/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteConnectionMetadataTest.java renamed to java/driver/jni-validation/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteConnectionMetadataTest.java

File renamed without changes.

java/driver/jni-validation-sqlite/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteConnectionTest.java renamed to java/driver/jni-validation/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteConnectionTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,22 @@
1919

2020
import org.apache.arrow.adbc.driver.testsuite.AbstractConnectionTest;
2121
import org.junit.jupiter.api.BeforeAll;
22+
import org.junit.jupiter.api.Disabled;
23+
import org.junit.jupiter.api.Test;
2224

2325
public class JniSqliteConnectionTest extends AbstractConnectionTest {
2426
@BeforeAll
2527
static void beforeAll() {
2628
quirks = new JniSqliteQuirks();
2729
}
30+
31+
@Test
32+
@Disabled
33+
@Override
34+
protected void readOnly() {}
35+
36+
@Test
37+
@Disabled
38+
@Override
39+
protected void isolationLevel() {}
2840
}

java/driver/jni-validation-sqlite/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteQuirks.java renamed to java/driver/jni-validation/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteQuirks.java

File renamed without changes.

java/driver/jni-validation-sqlite/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteStatementTest.java renamed to java/driver/jni-validation/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteStatementTest.java

File renamed without changes.

java/driver/jni-validation-sqlite/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteTransactionTest.java renamed to java/driver/jni-validation/src/test/java/org/apache/arrow/adbc/driver/jni/JniSqliteTransactionTest.java

File renamed without changes.

0 commit comments

Comments
 (0)