#1962: clean up tests + improve the show command which shows the folders and files in file system
This commit is contained in:
@@ -55,7 +55,23 @@ def test_file_repair_request(populated_file_system):
|
||||
|
||||
|
||||
def test_file_restore_request(populated_file_system):
|
||||
pass
|
||||
"""Test that an agent can request that a file can be restored."""
|
||||
fs, folder, file = populated_file_system
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid) is not None
|
||||
|
||||
fs.apply_request(request=["delete", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
fs.apply_request(request=["restore", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
fs.apply_request(request=["file", file.uuid, "corrupt"])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
fs.apply_request(request=["restore", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.GOOD
|
||||
|
||||
|
||||
def test_file_corrupt_request(populated_file_system):
|
||||
|
||||
@@ -18,6 +18,8 @@ def test_create_folder_and_file(file_system):
|
||||
|
||||
assert file_system.get_folder("test_folder").get_file("test_file.txt")
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_create_file_no_folder(file_system):
|
||||
"""Tests that creating a file without a folder creates a folder and sets that as the file's parent."""
|
||||
@@ -27,6 +29,8 @@ def test_create_file_no_folder(file_system):
|
||||
assert file_system.get_folder("root").get_file("test_file.txt").file_type == FileType.TXT
|
||||
assert file_system.get_folder("root").get_file("test_file.txt").size == 10
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_delete_file(file_system):
|
||||
"""Tests that a file can be deleted."""
|
||||
@@ -39,6 +43,8 @@ def test_delete_file(file_system):
|
||||
assert len(file_system.get_folder("root").files) == 0
|
||||
assert len(file_system.get_folder("root").deleted_files) == 1
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_delete_non_existent_file(file_system):
|
||||
"""Tests deleting a non existent file."""
|
||||
@@ -56,6 +62,8 @@ def test_delete_non_existent_file(file_system):
|
||||
# The folder should still have 1 file
|
||||
assert len(file_system.get_folder("root").files) == 1
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_delete_folder(file_system):
|
||||
file_system.create_folder(folder_name="test_folder")
|
||||
@@ -66,6 +74,8 @@ def test_delete_folder(file_system):
|
||||
|
||||
assert len(file_system.deleted_folders) == 1
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_create_duplicate_folder(file_system):
|
||||
"""Test that creating a duplicate folder throws exception."""
|
||||
@@ -78,6 +88,8 @@ def test_create_duplicate_folder(file_system):
|
||||
|
||||
assert len(file_system.folders) is 2
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_create_duplicate_file(file_system):
|
||||
"""Test that creating a duplicate file throws exception."""
|
||||
@@ -94,6 +106,8 @@ def test_create_duplicate_file(file_system):
|
||||
|
||||
assert len(file_system.get_folder("test_folder").files) == 1
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_deleting_a_non_existent_folder(file_system):
|
||||
file_system.create_folder(folder_name="test_folder")
|
||||
@@ -102,6 +116,8 @@ def test_deleting_a_non_existent_folder(file_system):
|
||||
file_system.delete_folder(folder_name="does not exist!")
|
||||
assert len(file_system.folders) == 2
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_deleting_root_folder_fails(file_system):
|
||||
assert len(file_system.folders) == 1
|
||||
@@ -109,6 +125,8 @@ def test_deleting_root_folder_fails(file_system):
|
||||
file_system.delete_folder(folder_name="root")
|
||||
assert len(file_system.folders) == 1
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_move_file(file_system):
|
||||
"""Tests the file move function."""
|
||||
@@ -127,6 +145,8 @@ def test_move_file(file_system):
|
||||
assert len(file_system.get_folder("dst_folder").files) == 1
|
||||
assert file_system.get_file("dst_folder", "test_file.txt").uuid == original_uuid
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_copy_file(file_system):
|
||||
"""Tests the file copy function."""
|
||||
@@ -145,6 +165,8 @@ def test_copy_file(file_system):
|
||||
assert len(file_system.get_folder("dst_folder").files) == 1
|
||||
assert file_system.get_file("dst_folder", "test_file.txt").uuid != original_uuid
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
def test_get_file(file_system):
|
||||
"""Test that files can be retrieved."""
|
||||
@@ -162,6 +184,8 @@ def test_get_file(file_system):
|
||||
file_system.delete_folder(folder_name="test_folder")
|
||||
assert file_system.get_file_by_id(file_uuid=file2.uuid, include_deleted=True) is not None
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Skipping until we tackle serialisation")
|
||||
def test_serialisation(file_system):
|
||||
@@ -172,3 +196,5 @@ def test_serialisation(file_system):
|
||||
deserialised_file_sys = FileSystem.model_validate_json(serialised_file_sys)
|
||||
|
||||
assert file_system.model_dump_json() == deserialised_file_sys.model_dump_json()
|
||||
|
||||
file_system.show(full=True)
|
||||
|
||||
@@ -23,6 +23,8 @@ def test_file_delete_request(populated_file_system):
|
||||
fs.apply_request(request=["delete", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
|
||||
fs.show(full=True)
|
||||
|
||||
|
||||
def test_folder_delete_request(populated_file_system):
|
||||
"""Test that an agent can request a folder deletion."""
|
||||
@@ -34,87 +36,4 @@ def test_folder_delete_request(populated_file_system):
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid) is None
|
||||
|
||||
|
||||
def test_file_restore_request(populated_file_system):
|
||||
"""Test that an agent can request that a file can be restored."""
|
||||
fs, folder, file = populated_file_system
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid) is not None
|
||||
|
||||
fs.apply_request(request=["delete", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
fs.apply_request(request=["restore", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
fs.apply_request(request=["file", file.uuid, "corrupt"])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
fs.apply_request(request=["restore", "file", folder.uuid, file.uuid])
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.GOOD
|
||||
|
||||
|
||||
def test_folder_restore_request(populated_file_system):
|
||||
"""Test that an agent can request that a folder can be restored."""
|
||||
fs, folder, file = populated_file_system
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid) is not None
|
||||
|
||||
# delete folder
|
||||
fs.apply_request(request=["delete", "folder", folder.uuid])
|
||||
assert fs.get_folder(folder_name=folder.name) is None
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).deleted is True
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
# restore folder
|
||||
fs.apply_request(request=["restore", "folder", folder.uuid])
|
||||
fs.apply_timestep(timestep=0)
|
||||
assert fs.get_folder(folder_name=folder.name) is not None
|
||||
assert (
|
||||
fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).health_status
|
||||
== FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
fs.apply_timestep(timestep=1)
|
||||
fs.apply_timestep(timestep=2)
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert (
|
||||
fs.get_file(folder_name=folder.name, file_name=file.name).health_status
|
||||
is not FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is False
|
||||
|
||||
# corrupt folder
|
||||
fs.apply_request(request=["folder", folder.uuid, "corrupt"])
|
||||
assert fs.get_folder(folder_name=folder.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
# restore folder
|
||||
fs.apply_request(request=["restore", "folder", folder.uuid])
|
||||
fs.apply_timestep(timestep=0)
|
||||
assert fs.get_folder(folder_name=folder.name).health_status == FileSystemItemHealthStatus.RESTORING
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
fs.apply_timestep(timestep=1)
|
||||
fs.apply_timestep(timestep=2)
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert (
|
||||
fs.get_file(folder_name=folder.name, file_name=file.name).health_status
|
||||
is not FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is False
|
||||
fs.show(full=True)
|
||||
|
||||
@@ -74,7 +74,68 @@ def test_folder_repair_request(populated_file_system):
|
||||
|
||||
|
||||
def test_folder_restore_request(populated_file_system):
|
||||
pass
|
||||
"""Test that an agent can request that a folder can be restored."""
|
||||
fs, folder, file = populated_file_system
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid) is not None
|
||||
|
||||
# delete folder
|
||||
fs.apply_request(request=["delete", "folder", folder.uuid])
|
||||
assert fs.get_folder(folder_name=folder.name) is None
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).deleted is True
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
# restore folder
|
||||
fs.apply_request(request=["restore", "folder", folder.uuid])
|
||||
fs.apply_timestep(timestep=0)
|
||||
assert fs.get_folder(folder_name=folder.name) is not None
|
||||
assert (
|
||||
fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).health_status
|
||||
== FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_folder_by_id(folder_uuid=folder.uuid, include_deleted=True).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is True
|
||||
|
||||
fs.apply_timestep(timestep=1)
|
||||
fs.apply_timestep(timestep=2)
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert (
|
||||
fs.get_file(folder_name=folder.name, file_name=file.name).health_status
|
||||
is not FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is False
|
||||
|
||||
# corrupt folder
|
||||
fs.apply_request(request=["folder", folder.uuid, "corrupt"])
|
||||
assert fs.get_folder(folder_name=folder.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
# restore folder
|
||||
fs.apply_request(request=["restore", "folder", folder.uuid])
|
||||
fs.apply_timestep(timestep=0)
|
||||
assert fs.get_folder(folder_name=folder.name).health_status == FileSystemItemHealthStatus.RESTORING
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).health_status == FileSystemItemHealthStatus.CORRUPT
|
||||
|
||||
fs.apply_timestep(timestep=1)
|
||||
fs.apply_timestep(timestep=2)
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert (
|
||||
fs.get_file(folder_name=folder.name, file_name=file.name).health_status
|
||||
is not FileSystemItemHealthStatus.RESTORING
|
||||
)
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name).deleted is False
|
||||
|
||||
assert fs.get_file(folder_name=folder.name, file_name=file.name) is not None
|
||||
assert fs.get_file_by_id(folder_uuid=folder.uuid, file_uuid=file.uuid, include_deleted=True).deleted is False
|
||||
|
||||
|
||||
def test_folder_corrupt_request(populated_file_system):
|
||||
|
||||
Reference in New Issue
Block a user