diff --git a/tests/conftest.py b/tests/conftest.py index 6caff3b..06950d6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,12 +1,15 @@ from dataclasses import dataclass from os import environ -from typing import Literal +from typing import Iterator, Literal + +import pytest from nethsm import ( DecryptMode, KeyMechanism, KeyType, LogLevel, + NetHSM, Role, UnattendedBootStatus, ) @@ -122,4 +125,21 @@ class Constants: ADMIN_USER, ] - # nitropy nethsm --host nethsmdemo.nitrokey.com --no-verify-tls info + +@pytest.fixture(scope="module") +def nethsm() -> Iterator[NetHSM]: + """Start Docker container with Nethsm image and connect to Nethsm + + This Pytest Fixture will run before the tests to provide the tests with + a nethsm instance via Docker container, also the first provision of the + NetHSM will be done in here""" + + from utilities import connect, provision, start_nethsm + + container = start_nethsm() + + with connect(Constants.ADMIN_USER) as nethsm: + provision(nethsm) + yield nethsm + + container.kill() diff --git a/tests/test_nethsm_config.py b/tests/test_nethsm_config.py index e39bfe1..7599c7e 100644 --- a/tests/test_nethsm_config.py +++ b/tests/test_nethsm_config.py @@ -3,7 +3,7 @@ import pytest from conftest import Constants as C -from utilities import lock, nethsm, self_sign_csr, unlock # noqa: F401 +from utilities import lock, self_sign_csr, unlock import nethsm as nethsm_module from nethsm import NetHSM, TlsKeyType diff --git a/tests/test_nethsm_keys.py b/tests/test_nethsm_keys.py index 331408e..0bc6e74 100644 --- a/tests/test_nethsm_keys.py +++ b/tests/test_nethsm_keys.py @@ -3,7 +3,6 @@ from Crypto import Random from Crypto.Cipher import AES from Crypto.Hash import SHA256 -from utilities import nethsm # noqa: F401 from utilities import ( add_user, connect, diff --git a/tests/test_nethsm_other.py b/tests/test_nethsm_other.py index dd673c0..a38af42 100644 --- a/tests/test_nethsm_other.py +++ b/tests/test_nethsm_other.py @@ -3,7 +3,6 @@ import docker # type: ignore import pytest from conftest import Constants as C -from utilities import nethsm # noqa: F401 from utilities import add_user, connect, lock, provision, start_nethsm, unlock import nethsm as nethsm_sdk diff --git a/tests/test_nethsm_system.py b/tests/test_nethsm_system.py index a0e647b..f92996b 100644 --- a/tests/test_nethsm_system.py +++ b/tests/test_nethsm_system.py @@ -4,7 +4,6 @@ import pytest from conftest import Constants as C from test_nethsm_keys import generate_key -from utilities import nethsm # noqa: F401 from utilities import ( add_user, connect, diff --git a/tests/test_nethsm_users.py b/tests/test_nethsm_users.py index ba9dd74..fafe030 100644 --- a/tests/test_nethsm_users.py +++ b/tests/test_nethsm_users.py @@ -1,7 +1,6 @@ import pytest from conftest import Constants as C from conftest import UserData -from utilities import nethsm # noqa: F401 from utilities import add_user, connect import nethsm as nethsm_module diff --git a/tests/utilities.py b/tests/utilities.py index 80d85bc..5d97ab8 100644 --- a/tests/utilities.py +++ b/tests/utilities.py @@ -25,26 +25,6 @@ from nethsm import Authentication, Base64, NetHSM, RsaPrivateKey -@pytest.fixture(scope="module") -def nethsm() -> Iterator[NetHSM]: - """Start Docker container with Nethsm image and connect to Nethsm - - This Pytest Fixture will run before the tests to provide the tests with - a nethsm instance via Docker container, also the first provision of the - NetHSM will be done in here""" - - container = start_nethsm() - - with connect(C.ADMIN_USER) as nethsm: - provision(nethsm) - yield nethsm - - try: - container.kill() - except docker.errors.APIError: - pass - - class KeyfenderManager: def __init__(self) -> None: pass