From e4cabf9964dd196e91b0f25f2f381e7c32bee41c Mon Sep 17 00:00:00 2001 From: "Christoph J. Scherr" Date: Tue, 25 Feb 2025 15:21:27 +0100 Subject: [PATCH] test: store_manager sanity check Refs: OPS.19 --- tests/conftest.py | 7 +++++++ tests/test_store.py | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 tests/test_store.py diff --git a/tests/conftest.py b/tests/conftest.py index efe5392..27c4eb2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3,8 +3,15 @@ from pathlib import Path import pytest +from senju.store_manager import StoreManager + @pytest.fixture(scope="session") def temp_data_dir(): """Create a temporary directory for test data""" return Path(tempfile.mkdtemp()) + + +@pytest.fixture(scope="session") +def store_manager(temp_data_dir): + return StoreManager(temp_data_dir/"store.db") diff --git a/tests/test_store.py b/tests/test_store.py new file mode 100644 index 0000000..a992282 --- /dev/null +++ b/tests/test_store.py @@ -0,0 +1,21 @@ +# do not remove this import. This is needed for +# pytest fixtures to work +import pytest + +from senju.store_manager import StoreManager # noqa: F401 + + +def test_temp_data_dir(store_manager: StoreManager): + thing = { + "color": "blue", + "number": 19, + "inner": { + "no": "yes" + } + } + thing_id = store_manager.save(thing) + thing_loaded = store_manager.load(thing_id) + if thing_loaded is None: + assert False, "the store manager load did not return anything" + for key in thing.keys(): + assert thing[key] == thing_loaded[key]