summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2022-07-27 01:25:26 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2022-07-27 13:02:08 +0300
commita72f2e7466cb59af91ca45c5b81d3cf539552366 (patch)
tree44f7f947e46e2a21520132abdff02f7a9cb0ab49 /tests
parent032e5ef97fb252227717f21a7150cc73e19f41c3 (diff)
downloadapscheduler-a72f2e7466cb59af91ca45c5b81d3cf539552366.tar.gz
Implemented (un)marshalling for events
This fixes JSON (de)serialization of certain events.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_serializers.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/test_serializers.py b/tests/test_serializers.py
new file mode 100644
index 0000000..e5d1f18
--- /dev/null
+++ b/tests/test_serializers.py
@@ -0,0 +1,28 @@
+from __future__ import annotations
+
+from uuid import uuid4
+
+import pytest
+
+from apscheduler.abc import Serializer
+from apscheduler.events import Event, JobAdded
+
+
+@pytest.mark.parametrize(
+ "event",
+ [
+ pytest.param(
+ JobAdded(
+ job_id=uuid4(),
+ task_id="task",
+ schedule_id="schedule",
+ tags=frozenset(["tag1", "tag2"]),
+ ),
+ id="job_added",
+ )
+ ],
+)
+def test_serialize_event(event: Event, serializer: Serializer) -> None:
+ payload = serializer.serialize(event.marshal(serializer))
+ deserialized = type(event).unmarshal(serializer, serializer.deserialize(payload))
+ assert deserialized == event