chore: add local storage test (#9827)
This commit is contained in:
58
api/tests/unit_tests/oss/__mock/base.py
Normal file
58
api/tests/unit_tests/oss/__mock/base.py
Normal file
@@ -0,0 +1,58 @@
|
||||
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())
|
Reference in New Issue
Block a user