Traktor/myenv/Lib/site-packages/fsspec/implementations/tests/conftest.py

40 lines
941 B
Python
Raw Normal View History

2024-05-26 05:12:46 +02:00
import tempfile
import pytest
from fsspec.implementations.arrow import ArrowFSWrapper
from fsspec.implementations.local import LocalFileSystem
from fsspec.implementations.memory import MemoryFileSystem
# A dummy filesystem that has a list of protocols
class MultiProtocolFileSystem(LocalFileSystem):
protocol = ["file", "other"]
FILESYSTEMS = {
"local": LocalFileSystem,
"multi": MultiProtocolFileSystem,
"memory": MemoryFileSystem,
}
READ_ONLY_FILESYSTEMS = []
@pytest.fixture(scope="function")
def fs(request):
pyarrow_fs = pytest.importorskip("pyarrow.fs")
FileSystem = pyarrow_fs.FileSystem
if request.param == "arrow":
fs = ArrowFSWrapper(FileSystem.from_uri("file:///")[0])
return fs
cls = FILESYSTEMS[request.param]
return cls()
@pytest.fixture(scope="function")
def temp_file():
with tempfile.TemporaryDirectory() as temp_dir:
return temp_dir + "test-file"