| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | from collections.abc import Generatorimport pytestfrom extensions.storage.base_storage import BaseStoragedef get_example_folder() -> str:    return "~/dify"def get_example_bucket() -> str:    return "dify"def get_opendal_bucket() -> str:    return "./dify"def get_example_filename() -> str:    return "test.txt"def get_example_data() -> bytes:    return b"test"def get_example_filepath() -> str:    return "~/test"class BaseStorageTest:    @pytest.fixture(autouse=True)    def setup_method(self, *args, **kwargs):        """Should be implemented in child classes to setup specific storage."""        self.storage: BaseStorage    def test_save(self):        """Test saving data."""        self.storage.save(get_example_filename(), get_example_data())    def test_load_once(self):        """Test loading data once."""        assert self.storage.load_once(get_example_filename()) == get_example_data()    def test_load_stream(self):        """Test loading data as a stream."""        generator = self.storage.load_stream(get_example_filename())        assert isinstance(generator, Generator)        assert next(generator) == get_example_data()    def test_download(self):        """Test downloading data."""        self.storage.download(get_example_filename(), get_example_filepath())    def test_exists(self):        """Test checking if a file exists."""        assert self.storage.exists(get_example_filename())    def test_delete(self):        """Test deleting a file."""        self.storage.delete(get_example_filename())
 |