Improve Vfs interface + refactoring.
This commit is contained in:
@@ -175,20 +175,50 @@ def test_metadata(fs: VirtualFileSystem):
|
||||
assert md.path == PurePosixPath("/test_file")
|
||||
assert md.permissions == file_permissions
|
||||
assert md.type == "file"
|
||||
assert md.is_file
|
||||
assert not md.is_dir
|
||||
assert not md.is_symlink
|
||||
assert not md.is_other
|
||||
assert md.modification_time == file_time
|
||||
assert md.byte_size == len(file_content)
|
||||
assert not md.is_hidden_files
|
||||
assert fs.metadata("/test_file") == md
|
||||
assert fs.is_file("/test_file")
|
||||
assert not fs.is_dir("/test_file")
|
||||
assert not fs.is_symlink("/test_file")
|
||||
assert not fs.is_other("/test_file")
|
||||
|
||||
fs.set_permissions("/test_file", Permissions(0o644))
|
||||
assert fs.metadata("/test_file") != md
|
||||
|
||||
fs.mkdir("/.test_dir")
|
||||
assert fs.metadata("/.test_dir").type == "dir"
|
||||
md = fs.metadata("/.test_dir")
|
||||
assert md.type == "dir"
|
||||
assert not md.is_file
|
||||
assert md.is_dir
|
||||
assert not md.is_symlink
|
||||
assert not md.is_other
|
||||
assert fs.metadata("/.test_dir").is_hidden_files
|
||||
assert not fs.is_file("/.test_dir")
|
||||
assert fs.is_dir("/.test_dir")
|
||||
assert not fs.is_symlink("/.test_dir")
|
||||
assert not fs.is_other("/.test_dir")
|
||||
|
||||
fs.make_link("/test_link", "/link_target")
|
||||
assert fs.metadata("/test_link").type == "link"
|
||||
md = fs.metadata("/test_link")
|
||||
assert md.type == "symlink"
|
||||
assert not md.is_file
|
||||
assert not md.is_dir
|
||||
assert md.is_symlink
|
||||
assert not md.is_other
|
||||
assert not fs.is_file("/test_link")
|
||||
assert not fs.is_dir("/test_link")
|
||||
assert fs.is_symlink("/test_link")
|
||||
assert not fs.is_other("/test_link")
|
||||
|
||||
assert fs.metadata_or_none("/does_not_exist") is None
|
||||
with pytest.raises(FsError):
|
||||
fs.metadata("/does_not_exist")
|
||||
|
||||
|
||||
########################################################################################
|
||||
@@ -199,14 +229,14 @@ def test_iter_dir(fs: VirtualFileSystem):
|
||||
expected = [
|
||||
(PurePosixPath("/dir"), "dir"),
|
||||
(PurePosixPath("/file"), "file"),
|
||||
(PurePosixPath("/link"), "link"),
|
||||
(PurePosixPath("/link"), "symlink"),
|
||||
]
|
||||
for path, file_type in expected:
|
||||
if file_type == "dir":
|
||||
fs.mkdir(path)
|
||||
elif file_type == "file":
|
||||
fs.write_bytes(path, b"")
|
||||
elif file_type == "link":
|
||||
elif file_type == "symlink":
|
||||
fs.make_link(path, "/foobar")
|
||||
|
||||
items_metadata = sorted(fs.iter_dir("/"))
|
||||
|
||||
Reference in New Issue
Block a user