mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 15:28:34 +01:00
Intermediate PR in removing path_info from our code base. It is completely removed from the main codebase and is still being used in tests, which will be migrated in the followups. For fs-specific simple path manipulation, we've introduced `fs.path` helper (similar to `os.path`). Fixes #6774
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import pytest
|
|
|
|
from dvc.config import RemoteNotFoundError
|
|
from dvc.fs import get_fs_cls, get_fs_config
|
|
from dvc.fs.hdfs import HDFSFileSystem
|
|
from dvc.fs.http import HTTPFileSystem
|
|
from dvc.fs.https import HTTPSFileSystem
|
|
from dvc.fs.local import LocalFileSystem
|
|
from dvc.fs.s3 import S3FileSystem
|
|
from dvc.fs.ssh import SSHFileSystem
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"url, cls",
|
|
[
|
|
("s3://bucket/path", S3FileSystem),
|
|
("ssh://example.com:/dir/path", SSHFileSystem),
|
|
("hdfs://example.com/dir/path", HDFSFileSystem),
|
|
("http://example.com/path/to/file", HTTPFileSystem),
|
|
("https://example.com/path/to/file", HTTPSFileSystem),
|
|
("path/to/file", LocalFileSystem),
|
|
("path\\to\\file", LocalFileSystem),
|
|
("file", LocalFileSystem),
|
|
("./file", LocalFileSystem),
|
|
(".\\file", LocalFileSystem),
|
|
("../file", LocalFileSystem),
|
|
("..\\file", LocalFileSystem),
|
|
("unknown://path", LocalFileSystem),
|
|
],
|
|
)
|
|
def test_get_fs_cls(url, cls):
|
|
assert get_fs_cls({"url": url}) == cls
|
|
|
|
|
|
def test_get_fs_config():
|
|
with pytest.raises(RemoteNotFoundError):
|
|
get_fs_config(None, {"remote": {}}, name="myremote")
|