#1714: fixing minor error in test + adding a check for existing uuid when adding file
This commit is contained in:
@@ -25,9 +25,13 @@ class FileSystemFolder(FileSystemItem):
|
|||||||
if file is None or not isinstance(file, FileSystemFile):
|
if file is None or not isinstance(file, FileSystemFile):
|
||||||
raise Exception(f"Invalid file: {file}")
|
raise Exception(f"Invalid file: {file}")
|
||||||
|
|
||||||
# add to list
|
# check if file with id already exists in folder
|
||||||
self.files[file.uuid] = file
|
if self.get_file_by_id(file.uuid) is not None:
|
||||||
self.size += file.size
|
_LOGGER.debug(f"File with id {file.uuid} already exists in folder")
|
||||||
|
else:
|
||||||
|
# add to list
|
||||||
|
self.files[file.uuid] = file
|
||||||
|
self.size += file.size
|
||||||
|
|
||||||
def remove_file(self, file: Optional[FileSystemFile]):
|
def remove_file(self, file: Optional[FileSystemFile]):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
from primaite.simulator.file_system.file_system import FileSystem
|
from primaite.simulator.file_system.file_system import FileSystem
|
||||||
|
from primaite.simulator.file_system.file_system_file import FileSystemFile
|
||||||
from primaite.simulator.file_system.file_system_folder import FileSystemFolder
|
from primaite.simulator.file_system.file_system_folder import FileSystemFolder
|
||||||
|
|
||||||
|
|
||||||
@@ -37,7 +38,7 @@ def test_delete_file():
|
|||||||
|
|
||||||
file_system.delete_file(file=file)
|
file_system.delete_file(file=file)
|
||||||
assert len(file_system.folders) is 1
|
assert len(file_system.folders) is 1
|
||||||
assert len(file_system.get_folder_by_id(folder.uuid).files) is 0
|
assert len(folder.files) is 0
|
||||||
|
|
||||||
|
|
||||||
def test_delete_non_existent_file():
|
def test_delete_non_existent_file():
|
||||||
@@ -45,16 +46,20 @@ def test_delete_non_existent_file():
|
|||||||
file_system = FileSystem()
|
file_system = FileSystem()
|
||||||
|
|
||||||
file = file_system.create_file(file_name="test_file", size=10)
|
file = file_system.create_file(file_name="test_file", size=10)
|
||||||
not_added_file = file_system.create_file(file_name="test_file", size=10)
|
not_added_file = FileSystemFile(name="not_added")
|
||||||
|
# folder should be created
|
||||||
assert len(file_system.folders) is 1
|
assert len(file_system.folders) is 1
|
||||||
|
# should only have 1 file in the file system
|
||||||
folder_id = list(file_system.folders.keys())[0]
|
folder_id = list(file_system.folders.keys())[0]
|
||||||
folder = file_system.get_folder_by_id(folder_id)
|
folder = file_system.get_folder_by_id(folder_id)
|
||||||
|
assert len(list(folder.files)) is 1
|
||||||
|
|
||||||
assert folder.get_file_by_id(file.uuid) is file
|
assert folder.get_file_by_id(file.uuid) is file
|
||||||
|
|
||||||
|
# deleting should not change how many files are in folder
|
||||||
file_system.delete_file(file=not_added_file)
|
file_system.delete_file(file=not_added_file)
|
||||||
assert len(file_system.folders) is 1
|
assert len(file_system.folders) is 1
|
||||||
assert len(file_system.get_folder_by_id(folder.uuid).files) is 1
|
assert len(list(folder.files)) is 1
|
||||||
|
|
||||||
|
|
||||||
def test_delete_folder():
|
def test_delete_folder():
|
||||||
|
|||||||
Reference in New Issue
Block a user