From 5590c85c5470cb46a9f1a49d08eede0952d5f58d Mon Sep 17 00:00:00 2001 From: Shu Shen Date: Thu, 2 Nov 2023 15:22:53 -0400 Subject: [PATCH 1/2] chore: add Python 3.11 and 3.12 to test matrix --- .github/workflows/pythonapp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pythonapp.yml b/.github/workflows/pythonapp.yml index 914de85..fd3e14a 100644 --- a/.github/workflows/pythonapp.yml +++ b/.github/workflows/pythonapp.yml @@ -21,7 +21,7 @@ jobs: max-parallel: 6 matrix : os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} From cdce4a52c3be041fff3bc8ff6ec503ddeb28f7da Mon Sep 17 00:00:00 2001 From: Shu Shen Date: Fri, 3 Nov 2023 13:19:12 -0400 Subject: [PATCH 2/2] wip: improve test setup error handling --- tests/integration/integration_test_base.py | 13 +++++++++---- tests/integration/test_session_management.py | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/integration/integration_test_base.py b/tests/integration/integration_test_base.py index fb63a28..7a446d0 100644 --- a/tests/integration/integration_test_base.py +++ b/tests/integration/integration_test_base.py @@ -32,14 +32,19 @@ def __init__(self, ledger_name, region): def force_delete_ledger(self): try: logger.info("Deleting ledger %s", self.ledger_name) - self.qldb.update_ledger(Name=self.ledger_name, DeletionProtection=False) self.delete_ledger() - except ClientError as ce: - logger.warning("Encountered an error while force deleting ledger %s: %s", self.ledger_name, ce) + except (self.qldb.exceptions.ResourceInUseException, self.qldb.exceptions.ResourcePreconditionNotMetException) as e: + logger.warning(e) + # Test deleting state + self.wait_for_active() + self.delete_ledger() def delete_ledger(self): logger.info("Deleting ledger %s", self.ledger_name) - self.qldb.update_ledger(Name=self.ledger_name, DeletionProtection=False) + try: + self.qldb.update_ledger(Name=self.ledger_name, DeletionProtection=False) + except self.qldb.exceptions.ResourceNotFoundException: + return self.qldb.delete_ledger(Name=self.ledger_name) self.wait_for_deletion() diff --git a/tests/integration/test_session_management.py b/tests/integration/test_session_management.py index cd97177..2f05b15 100644 --- a/tests/integration/test_session_management.py +++ b/tests/integration/test_session_management.py @@ -30,7 +30,7 @@ def setUpClass(cls): @classmethod def tearDownClass(cls): - cls.integration_test_base.delete_ledger() + cls.integration_test_base.force_delete_ledger() def test_connect_to_non_existent_ledger(self): with self.integration_test_base.qldb_driver("nonExistentLedger") as qldb_driver: