From a72f2e7466cb59af91ca45c5b81d3cf539552366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= Date: Wed, 27 Jul 2022 01:25:26 +0300 Subject: Implemented (un)marshalling for events This fixes JSON (de)serialization of certain events. --- tests/test_serializers.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/test_serializers.py (limited to 'tests') 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 -- cgit v1.2.1