def test_signature_functionality(folder_model):
"""Ensure that the FieldSignatureMixin works as expected."""
# Create a Folder named 'etc' in the root of the file system.
etc_folder = folder_model(name='etc')
etc_folder.save()
assert etc_folder.signature
assert len(etc_folder.signature) == 40
# No other Folders in the root may be named 'etc
with pytest.raises(peewee.IntegrityError):
folder_model(name='etc').save()
# Let's test this with a child Folder of 'etc'
apt_folder = folder_model(name='apt', parent_folder=etc_folder)
apt_folder.save()
assert apt_folder.signature
assert len(apt_folder.signature) == 40
# Can't have another named 'apt' in 'etc'
with pytest.raises(peewee.IntegrityError):
folder_model(name='apt', parent_folder=etc_folder).save()
# If a Folder is archived, it's signature is nulled out
etc_folder.archive_instance()
assert etc_folder.signature is None
评论列表
文章目录