diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2cc4432..e1ec202 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,6 @@ on: pull_request: branches: [ master ] paths-ignore: - - '.github/**' - '.idea/**' - '.run/**' @@ -20,7 +19,8 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ "3.8", "3.9", "3.10", "3.11" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] + liquibase-version: [ "4.11.0", "4.24.0", "4.30.0" ] steps: - uses: actions/checkout@v4 @@ -28,20 +28,15 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Build & Install + liquibase-version: ${{ matrix.liquibase-version }} + - name: Build & Install & Test + env: + TEST_LIQUIBASE_VERSION: ${{ matrix.liquibase-version }} run: | python3 --version - python3 -m pip install coverage pylint pytest + python3 -m pip install coverage pylint pytest setuptools python3 -m compileall -f pyliquibase setup.py python3 setup.py -q install --user python3 -m coverage report -m ./pyliquibase/*.py setup.py python3 -m coverage run --source=./tests/ -m unittest discover -s tests/ python3 -m pylint pyliquibase setup.py - - - name: Test with Unittest - run: | - python3 -m coverage run --source=./tests/ -m unittest discover -s tests/ - python3 setup.py -q install --user - bash tests/test_pyliquibase_version.sh - cd tests - pyliquibase --defaultsFile=resources/liquibase.properties updateSQL diff --git a/tests/test_pyliquibase.py b/tests/test_pyliquibase.py index 80eace5..a1f8971 100644 --- a/tests/test_pyliquibase.py +++ b/tests/test_pyliquibase.py @@ -45,15 +45,16 @@ def test_update(self): self.assertTrue(True) def test_exception(self): - lb = Pyliquibase( - defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase-fail.properties") + lb = Pyliquibase(version=self.TEST_LIQUIBASE_VERSION, + defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase-fail.properties") try: lb.status() except Exception as e: self.assertTrue("Liquibase execution failed" in str(e)) def test_download_additional_java_library(self): - lb = Pyliquibase(defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase.properties") + lb = Pyliquibase(version=self.TEST_LIQUIBASE_VERSION, + defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase.properties") lb.download_additional_java_library(url="https://github.com/liquibase/liquibase-snowflake/releases/download/liquibase-snowflake-4.11.0/liquibase-snowflake-4.11.0.jar") # test re downloading succeeds lb.download_additional_java_library(url="https://github.com/liquibase/liquibase-snowflake/releases/download/liquibase-snowflake-4.11.0/liquibase-snowflake-4.11.0.jar") @@ -63,7 +64,8 @@ def test_download_additional_java_library(self): lb.download_additional_java_library(url="https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.13.33/snowflake-jdbc-3.13.33.jar") def test_download_additional_zip_library(self): - lb = Pyliquibase(defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase.properties") + lb = Pyliquibase(version=self.TEST_LIQUIBASE_VERSION, + defaultsFile=os.path.dirname(os.path.realpath(__file__)) + "/resources/liquibase.properties") # download Bigquery jdbc lb.download_additional_java_library( url="https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery42_1.3.3.1004.zip") diff --git a/tests/test_pyliquibase_version.sh b/tests/test_pyliquibase_version.sh deleted file mode 100644 index 732f365..0000000 --- a/tests/test_pyliquibase_version.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -set -e - -declare -a lbVersionList=("4.9.0" "4.10.0" "4.11.0" "4.21.1" "4.23.2" "4.24.0") -for version in "${lbVersionList[@]}"; do - export TEST_LIQUIBASE_VERSION=$version - echo "Testing TEST_LIQUIBASE_VERSION ${TEST_LIQUIBASE_VERSION}" - python -m unittest -v tests.test_pyliquibase.TestPyliquibase.test_update -done \ No newline at end of file