diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index 2f4b5c524a0b96a48417fb67cd5acac1416411fe..d36a6b25ad6893731bff9816bb03ffc4e90077a0 100644 --- a/tests/test_issues_server.py +++ b/tests/test_issues_server.py @@ -24,6 +24,10 @@ """Tests for issues on gitlab.com, project caosdb-server.""" +import os +import tempfile +import time + import caosdb as db from caosdb.exceptions import EntityError, TransactionError import pytest @@ -137,3 +141,27 @@ def test_issue_85_b(): C.update() C.add_parent(A) C.update() # Failed at this step + + +def test_issue_99(): + """Checksum updating failed with versioning enabled. + """ + + # Using files in extroot, because this allows us to update the file content from the outside. + local_dir = os.path.join(db.get_config().get("IntegrationTests", + "test_files.test_insert_files_in_dir.local"), + "test_issue_99") + docker_dir = os.path.join(db.get_config().get("IntegrationTests", + "test_files.test_insert_files_in_dir.server"), + "test_issue_99") + with tempfile.NamedTemporaryFile(dir=local_dir) as file_99: + # Create File entity in CaosDB + c = db.Container() + c.insert(unique=False, raise_exception_on_error=False, + flags={"InsertFilesInDir": docker_dir}) + dbfile = c[0] + + # Checksum should exist after a short time + time.sleep(0.5) + dbfile.retrieve() + assert dbfile.checksum is not None