import os import shutil from os import path import pytest from core.Sheerka import Sheerka from sdp.sheerkaDataProvider import SheerkaDataProvider class BaseTest: @pytest.fixture() def sdp(self) -> SheerkaDataProvider: return SheerkaDataProvider("mem://", name="test") class UsingFileBasedSheerka(BaseTest): TESTS_ROOT_DIRECTORY = path.abspath("../build/tests") SHEERKA_ROOT_DIR = os.path.join(TESTS_ROOT_DIRECTORY, ".sheerka") @pytest.fixture(scope="class") def sheerka_fb(self): """ the default fixture to get Sheerka is overriden :return: :rtype: """ # first, make sure to create a fresh environment if path.exists(self.SHEERKA_ROOT_DIR): shutil.rmtree(self.SHEERKA_ROOT_DIR) # create the new Sheerka instance sheerka = Sheerka() sheerka.initialize(root_folder=self.SHEERKA_ROOT_DIR) return sheerka