diff --git a/swh/storage/tests/test_in_memory.py b/swh/storage/tests/test_in_memory.py --- a/swh/storage/tests/test_in_memory.py +++ b/swh/storage/tests/test_in_memory.py @@ -2,80 +2,30 @@ # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information -import unittest import pytest -from swh.storage.in_memory import Storage, ENABLE_ORIGIN_IDS - -from swh.storage.tests.test_storage import ( - TestStorage as _TestStorage, - TestStorageCommonProp as _TestStorageCommonProp) - - -@pytest.mark.xfail -class TestInMemoryStorage(_TestStorage, unittest.TestCase): - """Test the in-memory storage API - - This class doesn't define any tests as we want identical - functionality between local and remote storage. All the tests are - therefore defined in CommonTestStorage. - """ - _test_origin_ids = ENABLE_ORIGIN_IDS - - def setUp(self): - super().setUp() - self.reset_storage() - - @pytest.mark.skip('postgresql-specific test') - def test_content_add_db(self): - pass - - @pytest.mark.skip('postgresql-specific test') - def test_skipped_content_add_db(self): - pass - - @pytest.mark.skip('postgresql-specific test') - def test_content_add_metadata_db(self): - pass - - if not _test_origin_ids: - @pytest.mark.skip('requires origin ids') - def test_origin_metadata_add(self): - pass - - @pytest.mark.skip('requires origin ids') - def test_origin_metadata_get(self): - pass - - @pytest.mark.skip('requires origin ids') - def test_origin_metadata_get_by_provider_type(self): - pass - - def reset_storage(self): - self.storage = Storage(journal_writer={'cls': 'memory'}) - self.journal_writer = self.storage.journal_writer - - -@pytest.mark.xfail -@pytest.mark.property_based -class PropTestInMemoryStorage(_TestStorageCommonProp, unittest.TestCase): - """Test the in-memory storage API - - This class doesn't define any tests as we want identical - functionality between local and remote storage. All the tests are - therefore defined in CommonPropTestStorage. - """ - _test_origin_ids = ENABLE_ORIGIN_IDS - - def setUp(self): - super().setUp() - self.storage = Storage() - - def reset_storage(self): - self.storage = Storage() - - if not _test_origin_ids: - @pytest.mark.skip('requires origin ids') - def test_origin_get_range(self, new_origins): - pass +from swh.storage import get_storage + +from swh.storage.tests.test_storage import ( # noqa + TestStorage, TestStorageGeneratedData) + + +# tests are executed using imported classes (TestStorage and +# TestStorageGeneratedData) using overloaded swh_storage fixture +# below + +@pytest.fixture +def swh_storage(tmp_path): + objdir = tmp_path / 'objstorage' + objdir.mkdir() + storage_config = { + 'cls': 'memory', + 'args': { + 'journal_writer': { + 'cls': 'inmemory', + }, + }, + } + storage = get_storage(**storage_config) + return storage