diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index d7a38b4..39612b7 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -13,6 +13,8 @@ on: jobs: linkChecker: runs-on: ubuntu-latest + permissions: + contents: read defaults: run: shell: "bash" diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml index 8886e10..e8302fe 100644 --- a/.github/workflows/ci-build-next-java.yml +++ b/.github/workflows/ci-build-next-java.yml @@ -15,7 +15,6 @@ jobs: shell: "bash" permissions: contents: read - checks: write # Allow scacap/action-surefire-report concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -35,9 +34,3 @@ jobs: mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \ -Djava.version=17 \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: Publish Test Report for Java 17 - uses: scacap/action-surefire-report@v1 - if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - fail_if_no_tests: false diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 6b4a779..551fc79 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -15,8 +15,7 @@ jobs: shell: bash } permissions: { - contents: read, - checks: write + contents: read } concurrency: { group: '${{ github.workflow }}-${{ github.ref }}-${{ matrix.exasol_db_version }}', @@ -26,12 +25,12 @@ jobs: fail-fast: false matrix: exasol_db_version: [ - 7.1.25, - 8.24.0 + 8.31.0, + 7.1.29 ] env: { - DEFAULT_EXASOL_DB_VERSION: 7.1.25 + DEFAULT_EXASOL_DB_VERSION: 8.31.0 } steps: - name: Free Disk Space diff --git a/.github/workflows/dependencies_update.yml b/.github/workflows/dependencies_update.yml index 9f536ee..0fa7180 100644 --- a/.github/workflows/dependencies_update.yml +++ b/.github/workflows/dependencies_update.yml @@ -61,14 +61,6 @@ jobs: env: { CREATED_ISSUES: '${{ inputs.vulnerability_issues }}' } - - name: Project Keeper Fix - id: project-keeper-fix - run: | - mvn --batch-mode com.exasol:project-keeper-maven-plugin:fix --projects . - - name: Project Keeper Fix for updated Project Keeper version - id: project-keeper-fix-2 - run: | - mvn --batch-mode com.exasol:project-keeper-maven-plugin:fix --projects . - name: Generate Pull Request comment id: pr-comment run: | @@ -81,7 +73,11 @@ jobs: echo 'It updates dependencies.' >> "$GITHUB_OUTPUT" fi echo >> "$GITHUB_OUTPUT" - echo '# ⚠️ This PR does not trigger CI workflows by default ⚠️' >> "$GITHUB_OUTPUT" + echo '# ⚠️ Notes ⚠️' >> "$GITHUB_OUTPUT" + echo '## Run PK fix manually' >> "$GITHUB_OUTPUT" + echo 'Due to restrictions workflow `dependencies_update.yml` cannot update other workflows, see https://github.com/exasol/project-keeper/issues/578 for details.' >> "$GITHUB_OUTPUT" + echo 'Please checkout this PR locally and run `mvn com.exasol:project-keeper-maven-plugin:fix --projects .`' >> "$GITHUB_OUTPUT" + echo '## This PR does not trigger CI workflows' >> "$GITHUB_OUTPUT" echo 'Please click the **Close pull request** button and then **Reopen pull request** to trigger running checks.' >> "$GITHUB_OUTPUT" echo 'See https://github.com/exasol/project-keeper/issues/534 for details.' >> "$GITHUB_OUTPUT" echo 'EOF' >> "$GITHUB_OUTPUT" diff --git a/.project-keeper.yml b/.project-keeper.yml index 7f6589a..9f1c856 100644 --- a/.project-keeper.yml +++ b/.project-keeper.yml @@ -5,11 +5,9 @@ sources: - integration_tests - jar_artifact linkReplacements: -excludes: -- "E-PK-CORE-17: Missing required file: 'release_config.yml'" build: runnerOs: ubuntu-20.04 freeDiskSpace: false exasolDbVersions: - - "7.1.25" - - "8.24.0" \ No newline at end of file + - "8.31.0" + - "7.1.29" diff --git a/.vscode/settings.json b/.vscode/settings.json index ed0f857..5d41d4f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,19 +1,20 @@ { "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.organizeImports": true, - "source.generate.finalModifiers": true + "source.organizeImports": "explicit", + "source.generate.finalModifiers": "explicit" }, "java.saveActions.organizeImports": true, "java.sources.organizeImports.starThreshold": 3, "java.sources.organizeImports.staticStarThreshold": 3, "java.test.config": { "vmArgs": [ - "-Djava.util.logging.config.file=src/test/resources/logging.properties" + "-Djava.util.logging.config.file=src/test/resources/logging.properties", + "-Dcom.exasol.dockerdb.image=8.31.0" ] }, "sonarlint.connectedMode.project": { "connectionId": "exasol", "projectKey": "com.exasol:bigquery-virtual-schema" } -} \ No newline at end of file +} diff --git a/dependencies.md b/dependencies.md index ac6d9be..8874f2d 100644 --- a/dependencies.md +++ b/dependencies.md @@ -13,47 +13,50 @@ | Dependency | License | | ----------------------------------------------- | -------------------------------- | | [Virtual Schema Common JDBC][0] | [MIT License][1] | -| [Hamcrest][4] | [BSD License 3][5] | +| [Hamcrest][4] | [BSD-3-Clause][5] | | [JUnit Jupiter (Aggregator)][6] | [Eclipse Public License v2.0][7] | | [mockito-junit-jupiter][8] | [MIT][9] | | [Testcontainers :: JUnit Jupiter Extension][10] | [MIT][11] | | [Testcontainers :: JDBC][10] | [MIT][11] | | [exasol-test-setup-abstraction-java][12] | [MIT License][13] | -| [Test Database Builder for Java][14] | [MIT License][15] | -| [udf-debugging-java][16] | [MIT License][17] | -| [Matcher for SQL Result Sets][18] | [MIT License][19] | -| [BigQuery][20] | [Apache-2.0][21] | -| [JSON in Java][22] | [Public Domain][23] | -| [SLF4J JDK14 Provider][24] | [MIT License][25] | +| [Test containers for Exasol on Docker][14] | [MIT License][15] | +| [BucketFS Java][16] | [MIT License][17] | +| [Test Database Builder for Java][18] | [MIT License][19] | +| [udf-debugging-java][20] | [MIT License][21] | +| [Matcher for SQL Result Sets][22] | [MIT License][23] | +| [BigQuery][24] | [Apache-2.0][25] | +| [JSON in Java][26] | [Public Domain][27] | +| [Protocol Buffers [Core]][28] | [BSD-3-Clause][29] | +| [SLF4J JDK14 Provider][30] | [MIT License][31] | ## Plugin Dependencies | Dependency | License | | ------------------------------------------------------- | --------------------------------- | -| [SonarQube Scanner for Maven][26] | [GNU LGPL 3][27] | -| [Apache Maven Toolchains Plugin][28] | [Apache License, Version 2.0][21] | -| [Apache Maven Compiler Plugin][29] | [Apache-2.0][21] | -| [Apache Maven Enforcer Plugin][30] | [Apache-2.0][21] | -| [Maven Flatten Plugin][31] | [Apache Software Licenese][21] | -| [org.sonatype.ossindex.maven:ossindex-maven-plugin][32] | [ASL2][33] | -| [Maven Surefire Plugin][34] | [Apache-2.0][21] | -| [Versions Maven Plugin][35] | [Apache License, Version 2.0][21] | -| [duplicate-finder-maven-plugin Maven Mojo][36] | [Apache License 2.0][37] | -| [Apache Maven Assembly Plugin][38] | [Apache-2.0][21] | -| [Apache Maven JAR Plugin][39] | [Apache License, Version 2.0][21] | -| [Artifact reference checker and unifier][40] | [MIT License][41] | -| [Project Keeper Maven plugin][42] | [The MIT License][43] | -| [Maven Failsafe Plugin][44] | [Apache-2.0][21] | -| [JaCoCo :: Maven Plugin][45] | [EPL-2.0][46] | -| [error-code-crawler-maven-plugin][47] | [MIT License][48] | -| [Reproducible Build Maven Plugin][49] | [Apache 2.0][33] | +| [SonarQube Scanner for Maven][32] | [GNU LGPL 3][33] | +| [Apache Maven Toolchains Plugin][34] | [Apache-2.0][25] | +| [Apache Maven Compiler Plugin][35] | [Apache-2.0][25] | +| [Apache Maven Enforcer Plugin][36] | [Apache-2.0][25] | +| [Maven Flatten Plugin][37] | [Apache Software Licenese][25] | +| [org.sonatype.ossindex.maven:ossindex-maven-plugin][38] | [ASL2][39] | +| [Maven Surefire Plugin][40] | [Apache-2.0][25] | +| [Versions Maven Plugin][41] | [Apache License, Version 2.0][25] | +| [duplicate-finder-maven-plugin Maven Mojo][42] | [Apache License 2.0][43] | +| [Apache Maven Assembly Plugin][44] | [Apache-2.0][25] | +| [Apache Maven JAR Plugin][45] | [Apache-2.0][25] | +| [Artifact reference checker and unifier][46] | [MIT License][47] | +| [Project Keeper Maven plugin][48] | [The MIT License][49] | +| [Maven Failsafe Plugin][50] | [Apache-2.0][25] | +| [JaCoCo :: Maven Plugin][51] | [EPL-2.0][52] | +| [error-code-crawler-maven-plugin][53] | [MIT License][54] | +| [Reproducible Build Maven Plugin][55] | [Apache 2.0][39] | [0]: https://github.com/exasol/virtual-schema-common-jdbc/ [1]: https://github.com/exasol/virtual-schema-common-jdbc/blob/main/LICENSE [2]: https://github.com/exasol/error-reporting-java/ [3]: https://github.com/exasol/error-reporting-java/blob/main/LICENSE [4]: http://hamcrest.org/JavaHamcrest/ -[5]: http://opensource.org/licenses/BSD-3-Clause +[5]: https://raw.githubusercontent.com/hamcrest/JavaHamcrest/master/LICENSE [6]: https://junit.org/junit5/ [7]: https://www.eclipse.org/legal/epl-v20.html [8]: https://github.com/mockito/mockito @@ -62,39 +65,45 @@ [11]: http://opensource.org/licenses/MIT [12]: https://github.com/exasol/exasol-test-setup-abstraction-java/ [13]: https://github.com/exasol/exasol-test-setup-abstraction-java/blob/main/LICENSE -[14]: https://github.com/exasol/test-db-builder-java/ -[15]: https://github.com/exasol/test-db-builder-java/blob/main/LICENSE -[16]: https://github.com/exasol/udf-debugging-java/ -[17]: https://github.com/exasol/udf-debugging-java/blob/main/LICENSE -[18]: https://github.com/exasol/hamcrest-resultset-matcher/ -[19]: https://github.com/exasol/hamcrest-resultset-matcher/blob/main/LICENSE -[20]: https://github.com/googleapis/java-bigquery -[21]: https://www.apache.org/licenses/LICENSE-2.0.txt -[22]: https://github.com/douglascrockford/JSON-java -[23]: https://github.com/stleary/JSON-java/blob/master/LICENSE -[24]: http://www.slf4j.org -[25]: http://www.opensource.org/licenses/mit-license.php -[26]: http://sonarsource.github.io/sonar-scanner-maven/ -[27]: http://www.gnu.org/licenses/lgpl.txt -[28]: https://maven.apache.org/plugins/maven-toolchains-plugin/ -[29]: https://maven.apache.org/plugins/maven-compiler-plugin/ -[30]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ -[31]: https://www.mojohaus.org/flatten-maven-plugin/ -[32]: https://sonatype.github.io/ossindex-maven/maven-plugin/ -[33]: http://www.apache.org/licenses/LICENSE-2.0.txt -[34]: https://maven.apache.org/surefire/maven-surefire-plugin/ -[35]: https://www.mojohaus.org/versions/versions-maven-plugin/ -[36]: https://basepom.github.io/duplicate-finder-maven-plugin -[37]: http://www.apache.org/licenses/LICENSE-2.0.html -[38]: https://maven.apache.org/plugins/maven-assembly-plugin/ -[39]: https://maven.apache.org/plugins/maven-jar-plugin/ -[40]: https://github.com/exasol/artifact-reference-checker-maven-plugin/ -[41]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE -[42]: https://github.com/exasol/project-keeper/ -[43]: https://github.com/exasol/project-keeper/blob/main/LICENSE -[44]: https://maven.apache.org/surefire/maven-failsafe-plugin/ -[45]: https://www.jacoco.org/jacoco/trunk/doc/maven.html -[46]: https://www.eclipse.org/legal/epl-2.0/ -[47]: https://github.com/exasol/error-code-crawler-maven-plugin/ -[48]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE -[49]: http://zlika.github.io/reproducible-build-maven-plugin +[14]: https://github.com/exasol/exasol-testcontainers/ +[15]: https://github.com/exasol/exasol-testcontainers/blob/main/LICENSE +[16]: https://github.com/exasol/bucketfs-java/ +[17]: https://github.com/exasol/bucketfs-java/blob/main/LICENSE +[18]: https://github.com/exasol/test-db-builder-java/ +[19]: https://github.com/exasol/test-db-builder-java/blob/main/LICENSE +[20]: https://github.com/exasol/udf-debugging-java/ +[21]: https://github.com/exasol/udf-debugging-java/blob/main/LICENSE +[22]: https://github.com/exasol/hamcrest-resultset-matcher/ +[23]: https://github.com/exasol/hamcrest-resultset-matcher/blob/main/LICENSE +[24]: https://github.com/googleapis/java-bigquery +[25]: https://www.apache.org/licenses/LICENSE-2.0.txt +[26]: https://github.com/douglascrockford/JSON-java +[27]: https://github.com/stleary/JSON-java/blob/master/LICENSE +[28]: https://developers.google.com/protocol-buffers/protobuf-java/ +[29]: https://opensource.org/licenses/BSD-3-Clause +[30]: http://www.slf4j.org +[31]: http://www.opensource.org/licenses/mit-license.php +[32]: http://sonarsource.github.io/sonar-scanner-maven/ +[33]: http://www.gnu.org/licenses/lgpl.txt +[34]: https://maven.apache.org/plugins/maven-toolchains-plugin/ +[35]: https://maven.apache.org/plugins/maven-compiler-plugin/ +[36]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ +[37]: https://www.mojohaus.org/flatten-maven-plugin/ +[38]: https://sonatype.github.io/ossindex-maven/maven-plugin/ +[39]: http://www.apache.org/licenses/LICENSE-2.0.txt +[40]: https://maven.apache.org/surefire/maven-surefire-plugin/ +[41]: https://www.mojohaus.org/versions/versions-maven-plugin/ +[42]: https://basepom.github.io/duplicate-finder-maven-plugin +[43]: http://www.apache.org/licenses/LICENSE-2.0.html +[44]: https://maven.apache.org/plugins/maven-assembly-plugin/ +[45]: https://maven.apache.org/plugins/maven-jar-plugin/ +[46]: https://github.com/exasol/artifact-reference-checker-maven-plugin/ +[47]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE +[48]: https://github.com/exasol/project-keeper/ +[49]: https://github.com/exasol/project-keeper/blob/main/LICENSE +[50]: https://maven.apache.org/surefire/maven-failsafe-plugin/ +[51]: https://www.jacoco.org/jacoco/trunk/doc/maven.html +[52]: https://www.eclipse.org/legal/epl-2.0/ +[53]: https://github.com/exasol/error-code-crawler-maven-plugin/ +[54]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE +[55]: http://zlika.github.io/reproducible-build-maven-plugin diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index 5e5a0c1..837b1e6 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [3.0.3](changes_3.0.3.md) * [3.0.2](changes_3.0.2.md) * [3.0.1](changes_3.0.1.md) * [3.0.0](changes_3.0.0.md) diff --git a/doc/changes/changes_3.0.3.md b/doc/changes/changes_3.0.3.md new file mode 100644 index 0000000..8d4d3d5 --- /dev/null +++ b/doc/changes/changes_3.0.3.md @@ -0,0 +1,37 @@ +# Virtual Schema for BigQuery 3.0.3, released 2024-09-23 + +Code name: Fix CVE-2024-7254 in test dependency `com.google.protobuf:protobuf-java:3.25.2` + +## Summary + +This release fixes CVE-2024-7254 in transitive test dependency `com.google.protobuf:protobuf-java:3.25.2`. + +## Security + +* #39: Fixed CVE-2024-7254 test dependency `com.google.protobuf:protobuf-java:3.25.2` + +## Dependency Updates + +### Test Dependency Updates + +* Added `com.exasol:bucketfs-java:3.2.0` +* Updated `com.exasol:exasol-test-setup-abstraction-java:2.1.2` to `2.1.4` +* Added `com.exasol:exasol-testcontainers:7.1.1` +* Updated `com.exasol:hamcrest-resultset-matcher:1.6.5` to `1.7.0` +* Updated `com.google.cloud:google-cloud-bigquery:2.38.2` to `2.42.3` +* Added `com.google.protobuf:protobuf-java:3.25.5` +* Updated `org.hamcrest:hamcrest:2.2` to `3.0` +* Updated `org.junit.jupiter:junit-jupiter:5.10.2` to `5.11.0` +* Updated `org.mockito:mockito-junit-jupiter:5.11.0` to `5.13.0` +* Updated `org.slf4j:slf4j-jdk14:2.0.12` to `2.0.16` +* Updated `org.testcontainers:jdbc:1.19.7` to `1.20.1` +* Updated `org.testcontainers:junit-jupiter:1.19.7` to `1.20.1` + +### Plugin Dependency Updates + +* Updated `com.exasol:error-code-crawler-maven-plugin:2.0.2` to `2.0.3` +* Updated `com.exasol:project-keeper-maven-plugin:4.3.0` to `4.3.3` +* Updated `org.apache.maven.plugins:maven-enforcer-plugin:3.4.1` to `3.5.0` +* Updated `org.apache.maven.plugins:maven-jar-plugin:3.3.0` to `3.4.1` +* Updated `org.apache.maven.plugins:maven-toolchains-plugin:3.1.0` to `3.2.0` +* Updated `org.sonarsource.scanner.maven:sonar-maven-plugin:3.11.0.3922` to `4.0.0.4121` diff --git a/doc/user_guide/bigquery_user_guide.md b/doc/user_guide/bigquery_user_guide.md index 4c398b7..8221f23 100644 --- a/doc/user_guide/bigquery_user_guide.md +++ b/doc/user_guide/bigquery_user_guide.md @@ -34,7 +34,7 @@ List all the JAR files from the JDBC driver. ```sql CREATE JAVA ADAPTER SCRIPT SCHEMA_FOR_VS_SCRIPT.ADAPTER_SCRIPT_BIGQUERY AS %scriptclass com.exasol.adapter.RequestDispatcher; - %jar /buckets///virtual-schema-dist-12.0.0-bigquery-3.0.2.jar; + %jar /buckets///virtual-schema-dist-12.0.0-bigquery-3.0.3.jar; %jar /buckets///GoogleBigQueryJDBC42.jar; ... ... diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom index 0f56669..5f8c01f 100644 --- a/pk_generated_parent.pom +++ b/pk_generated_parent.pom @@ -3,7 +3,7 @@ 4.0.0 com.exasol bigquery-virtual-schema-generated-parent - 3.0.2 + 3.0.3 pom UTF-8 @@ -39,12 +39,12 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.11.0.3922 + 4.0.0.4121 org.apache.maven.plugins maven-toolchains-plugin - 3.1.0 + 3.2.0 @@ -77,7 +77,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 enforce-maven @@ -230,7 +230,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.1 default-jar @@ -315,7 +315,7 @@ com.exasol error-code-crawler-maven-plugin - 2.0.2 + 2.0.3 verify diff --git a/pom.xml b/pom.xml index 48cafa3..4363ff2 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.exasol bigquery-virtual-schema - 3.0.2 + 3.0.3 Virtual Schema for BigQuery Virtual Schema for connecting Big Query as a data source to Exasol @@ -31,38 +31,54 @@ org.hamcrest hamcrest - 2.2 + 3.0 test org.junit.jupiter junit-jupiter - 5.10.2 + 5.11.0 test org.mockito mockito-junit-jupiter - 5.11.0 + 5.13.0 test org.testcontainers junit-jupiter - 1.19.7 + 1.20.1 test org.testcontainers jdbc - 1.19.7 + 1.20.1 test com.exasol exasol-test-setup-abstraction-java - 2.1.2 + 2.1.4 + test + + + + com.exasol + exasol-testcontainers + 7.1.1 + test + + + + com.exasol + bucketfs-java + 3.2.0 test @@ -80,13 +96,13 @@ com.exasol hamcrest-resultset-matcher - 1.6.5 + 1.7.0 test com.google.cloud google-cloud-bigquery - 2.38.2 + 2.42.3 test @@ -96,11 +112,18 @@ 20240303 test + + + com.google.protobuf + protobuf-java + 3.25.5 + test + org.slf4j slf4j-jdk14 - 2.0.12 + 2.0.16 test @@ -125,7 +148,7 @@ com.exasol project-keeper-maven-plugin - 4.3.0 + 4.3.3 @@ -169,13 +192,23 @@ + + org.codehaus.mojo + versions-maven-plugin + + + + com.google.protobuf:protobuf-java:jar:*:* + + + https://github.com/exasol/bigquery-virtual-schema/ bigquery-virtual-schema-generated-parent com.exasol - 3.0.2 + 3.0.3 pk_generated_parent.pom diff --git a/src/test/java/com/exasol/adapter/dialects/bigquery/util/IntegrationTestSetup.java b/src/test/java/com/exasol/adapter/dialects/bigquery/util/IntegrationTestSetup.java index bb7b6e0..1ff3884 100644 --- a/src/test/java/com/exasol/adapter/dialects/bigquery/util/IntegrationTestSetup.java +++ b/src/test/java/com/exasol/adapter/dialects/bigquery/util/IntegrationTestSetup.java @@ -3,7 +3,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.net.InetSocketAddress; -import java.net.URISyntaxException; import java.nio.file.Path; import java.sql.*; import java.util.*; @@ -23,7 +22,7 @@ public class IntegrationTestSetup implements AutoCloseable { private static final Logger LOGGER = Logger.getLogger(IntegrationTestSetup.class.getName()); - private static final String ADAPTER_JAR = "virtual-schema-dist-12.0.0-bigquery-3.0.2.jar"; + private static final String ADAPTER_JAR = "virtual-schema-dist-12.0.0-bigquery-3.0.3.jar"; public static final String BUCKETFS_ROOT_PATH = "/buckets/bfsdefault/default/"; public static final Path ADAPTER_JAR_LOCAL_PATH = Path.of("target", ADAPTER_JAR); @@ -39,7 +38,7 @@ public class IntegrationTestSetup implements AutoCloseable { private final BigQueryDatasetFixture bigQueryDataset; private IntegrationTestSetup(final BigQueryTestSetup bigQueryTestSetup, final ExasolTestSetup exasolTestSetup) - throws SQLException, BucketAccessException, TimeoutException, IOException, URISyntaxException { + throws SQLException, BucketAccessException, TimeoutException, IOException { this.bigQueryTestSetup = bigQueryTestSetup; this.bigQueryDataset = BigQueryDatasetFixture.create(bigQueryTestSetup.getClient(), bigQueryTestSetup.getProjectId()); @@ -65,9 +64,8 @@ public static IntegrationTestSetup create(final TestConfig config) { try { final ExasolTestSetup exasolTestSetup = new ExasolTestSetupFactory( Path.of("cloudSetup/generated/testConfig.json")).getTestSetup(); - final IntegrationTestSetup setup = new IntegrationTestSetup(bigQueryTestSetup, exasolTestSetup); - return setup; - } catch (SQLException | BucketAccessException | TimeoutException | IOException | URISyntaxException exception) { + return new IntegrationTestSetup(bigQueryTestSetup, exasolTestSetup); + } catch (SQLException | BucketAccessException | TimeoutException | IOException exception) { throw new IllegalStateException("Failed to create test setup: " + exception.getMessage(), exception); } }