Skip to content

Commit 5cc27c0

Browse files
committed
Added offline events test
1 parent 37707e3 commit 5cc27c0

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/unit/test_events.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from simvue.api.objects import Events, Folder, Run
99
from simvue.models import DATETIME_FORMAT
10+
from simvue.sender import sender
1011

1112
@pytest.mark.api
1213
@pytest.mark.online
@@ -30,3 +31,39 @@ def test_events_creation_online() -> None:
3031
_run.delete()
3132
_folder.delete(recursive=True, delete_runs=True, runs_only=False)
3233

34+
@pytest.mark.api
35+
@pytest.mark.offline
36+
def test_events_creation_offline() -> None:
37+
_uuid: str = f"{uuid.uuid4()}".split("-")[0]
38+
_folder_name = f"/simvue_unit_testing/{_uuid}"
39+
_folder = Folder.new(path=_folder_name, offline=True)
40+
_run = Run.new(folder=_folder_name, offline=True)
41+
_folder.commit()
42+
_run.commit()
43+
_timestamp = datetime.datetime.now().strftime(DATETIME_FORMAT)
44+
_events = Events.new(
45+
run=_run.id,
46+
events=[
47+
{"message": "This is a test!", "timestamp": _timestamp}
48+
],
49+
offline=True
50+
)
51+
_events.commit()
52+
with _events._local_staging_file.open() as in_f:
53+
_local_data = json.load(in_f)
54+
55+
assert _local_data.get("run") == _run.id
56+
assert _local_data.get("events")[0].get("message") == "This is a test!"
57+
assert _local_data.get("events")[0].get("timestamp") == _timestamp
58+
59+
_id_mapping = sender(_events._local_staging_file.parents[1], 1, 10, ["folders", "runs", "events"])
60+
time.sleep(1)
61+
62+
# Get online version of events
63+
_online_events = Events(_id_mapping.get(_events.id))
64+
_event_content = next(_online_events.get(run_id=_id_mapping.get(_run.id)))
65+
assert _event_content.message == "This is a test!"
66+
assert _event_content.timestamp == _timestamp
67+
68+
_run.delete()
69+
_folder.delete(recursive=True, delete_runs=True, runs_only=False)

0 commit comments

Comments
 (0)