From f3444b7fd861380fbe2ed66196c4f025fc14b4ec Mon Sep 17 00:00:00 2001 From: Nathan Voxland Date: Tue, 24 May 2022 15:42:32 -0500 Subject: [PATCH] Run integration tests on pull request runs (#263) Run integration tests on pull request runs --- .github/workflows/pull-request.yml | 40 ++++++++++++++++--- .../nosql/executor/NoSqlExecutor.java | 2 +- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index a072142d..8f34d384 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,4 +1,4 @@ -name: Run Unit Tests +name: Build & Test on: pull_request: @@ -9,7 +9,7 @@ on: jobs: unit-test: - name: Java ${{ matrix.java }} + name: Unit Tests - Java ${{ matrix.java }} runs-on: ubuntu-latest strategy: matrix: @@ -25,9 +25,37 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: java-version: ${{ matrix.java }} - distribution: 'adopt' - - name: Run Unit Tests With Maven - run: mvn surefire:test --file pom.xml + distribution: 'temurin' + cache: 'maven' + + - name: Unit Tests - Java ${{ matrix.java }} + run: mvn -B surefire:test --file pom.xml + + integration-tests: + name: Integration Test - Java ${{ matrix.java }} + runs-on: ubuntu-latest + needs: unit-test + strategy: + matrix: + java: [8, 11, 17] + mongodb: [4] + services: + mongodb: + image: mongo:${{ matrix.mongodb }} + ports: + - 27017-27019:27017-27019 + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v3 + with: + java-version: ${{ matrix.java }} + distribution: 'temurin' + cache: 'maven' + - name: Integration Test - Java ${{ matrix.java }} + run: mvn -B clean test verify -Prun-its --file pom.xml diff --git a/src/main/java/liquibase/nosql/executor/NoSqlExecutor.java b/src/main/java/liquibase/nosql/executor/NoSqlExecutor.java index 0820107f..60743dc6 100644 --- a/src/main/java/liquibase/nosql/executor/NoSqlExecutor.java +++ b/src/main/java/liquibase/nosql/executor/NoSqlExecutor.java @@ -191,7 +191,7 @@ public void execute(final SqlStatement sql, final List sqlVisitors) } else if (sql instanceof UpdateStatement) { execute((UpdateStatement) sql); } else { - throw new IllegalArgumentException(); + throw new IllegalArgumentException("Mongodb cannot execute "+sql.getClass().getName()+" statements"); } }