From 15a2ae2948b34ec44ade58e79ef9ceaee25d518a Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Fri, 17 Nov 2023 15:06:33 +0100 Subject: [PATCH] test: Debug restore in CI --- .github/workflows/ci.yaml | 6 ++++++ tests/test_nethsm_system.py | 23 ++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b594d49..3c16770 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -97,6 +97,12 @@ jobs: run: | . venv/bin/activate make test + - name: Upload artifacts + uses: actions/upload-artifact@v3 + if: ${{ failure() }} + with: + name: backup + path: backupNethsm.bin - name: upload coverage uses: codecov/codecov-action@v3 with: diff --git a/tests/test_nethsm_system.py b/tests/test_nethsm_system.py index 0e1d4a6..514131f 100644 --- a/tests/test_nethsm_system.py +++ b/tests/test_nethsm_system.py @@ -104,13 +104,22 @@ def test_state_restore(nethsm: NetHSM) -> None: system_time = datetime.datetime.now(datetime.timezone.utc) assert nethsm.get_state().value == "Unprovisioned" - try: - with open(C.FILENAME_BACKUP, "rb") as f: - nethsm.restore(f, C.BACKUP_PASSPHRASE, system_time) - nethsm.unlock(C.UNLOCK_PASSPHRASE) - except OSError as e: - print(e, type(e)) - assert False + successful_try = None + last_exception = None + for i in range(10): + try: + with open(C.FILENAME_BACKUP, "rb") as f: + nethsm.restore(f, C.BACKUP_PASSPHRASE, system_time) + successful_try = i + except nethsm.ApiException as e: + last_exception = e + continue + + if successful_try != 0: + print(f"successful try: {successful_try}") + raise last_exception + + nethsm.unlock(C.UNLOCK_PASSPHRASE) assert nethsm.list_keys() == [C.KEY_ID_GENERATED]