| | from collections.abc import Generator |
| |
|
| | import pytest |
| |
|
| | from extensions.storage.base_storage import BaseStorage |
| |
|
| |
|
| | def get_example_folder() -> str: |
| | return "/dify" |
| |
|
| |
|
| | def get_example_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): |
| | """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()) |
| |
|