diff --git a/.github/workflows/build-nightly.yml b/.github/workflows/build-nightly.yml index ba1ca033..cab6d240 100644 --- a/.github/workflows/build-nightly.yml +++ b/.github/workflows/build-nightly.yml @@ -2,6 +2,7 @@ name: "Nightly build" on: + workflow_dispatch: schedule: - cron: '0 7 * * 1-5' @@ -11,3 +12,20 @@ jobs: with: nightly: true secrets: inherit + + mongo-atlas-tests: + name: MongoDB Atlas 7 Test + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Harness Foundational Test Suite Run on Atlas 7 + run: mvn -Dtest="HarnessNoSqlCompatibility" -DconfigFile=/harness-config-cloud.yml -DdbName=mongodb -DdbUsername=${{secrets.TH_DB_ADMIN}} -DdbPassword=${{secrets.TH_DB_PASSWD}} -DdbUrl='${{secrets.TH_MONGO_ATLAS_URL}}' clean package + + - name: Archive Mongo Atlas Test Results + uses: actions/upload-artifact@v4 + with: + name: mongodb-test-results + path: build/spock-reports \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba27869c..b65a3c48 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -163,7 +163,7 @@ jobs: docker-compose -f ./src/test/resources/docker/docker-compose.yml up -d docker ps -a - - name: Harness Foundational Test Suite Run - Java ${{ matrix.java }} + - name: Harness Foundational Test Suite Run on Docker - Java ${{ matrix.java }} run: mvn -Dtest="HarnessNoSqlCompatibility" -DdbName=mongodb clean package - name: Stop Docker Databases diff --git a/src/test/groovy/liquibase/harness/compatibility/foundational/HarnessNoSqlCompatibility.groovy b/src/test/groovy/liquibase/harness/compatibility/foundational/HarnessNoSqlCompatibility.groovy index 2dc9c339..e839b4c7 100644 --- a/src/test/groovy/liquibase/harness/compatibility/foundational/HarnessNoSqlCompatibility.groovy +++ b/src/test/groovy/liquibase/harness/compatibility/foundational/HarnessNoSqlCompatibility.groovy @@ -24,6 +24,9 @@ class HarnessNoSqlCompatibility extends Specification { @Shared List databases + @Shared + Map argsMap = new HashMap() + def setupSpec() { databases = TestConfig.instance.getFilteredDatabasesUnderTest() strategy = MongoTestUtils.chooseRollbackStrategy() @@ -34,7 +37,6 @@ class HarnessNoSqlCompatibility extends Specification { given: "read input data" String expectedResultSet = getJSONFileContent(testInput.change, testInput.databaseName, testInput.version, "liquibase/harness/compatibility/foundational/expectedResultSet/" + testInput.inputFormat + "_changelog") - Map argsMap = new HashMap() argsMap.put("url", testInput.url) argsMap.put("username", testInput.username) argsMap.put("password", testInput.password) @@ -100,5 +102,6 @@ class HarnessNoSqlCompatibility extends Specification { def cleanupSpec() { strategy.cleanupDatabase(databases) + MongoTestUtils.executeCommandScope("dropAll", argsMap) } } diff --git a/src/test/resources/harness-config-cloud.yml b/src/test/resources/harness-config-cloud.yml new file mode 100644 index 00000000..c5487cab --- /dev/null +++ b/src/test/resources/harness-config-cloud.yml @@ -0,0 +1,9 @@ +inputFormat: xml +context: testContext + +databasesUnderTest: + - name: mongodb + version: atlas + url: DBENDPOINT + username: USERNAME + password: PASSWORD \ No newline at end of file