From 7db772e69a0f20aacdbaddcce2fcda2db7523954 Mon Sep 17 00:00:00 2001 From: David Hartmann Date: Fri, 19 Nov 2021 14:25:15 +0100 Subject: [PATCH 1/2] event: added method event.exists(event_name) --- src/miniflask/event.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/miniflask/event.py b/src/miniflask/event.py index 35b84e78..8b832037 100644 --- a/src/miniflask/event.py +++ b/src/miniflask/event.py @@ -421,6 +421,22 @@ def named_call(self, event_name, *args, **kwargs): results = [results] return dict(zip(self._data[event_name]["modules"], results)) + def exists(self, event_name): + r""" + Check if an event has been registered. + + Args: + - `event_name`: (required) + Eventname to check. + + Examples: + ```python + if event.exists('to_be_called'): + event.to_be_called() + ``` + """ # noqa: W291 + return event_name in self._mf.event_objs + # disables deepcopy(event), as it is tightly bounded to other miniflask objects def __deepcopy__(self, memo): del memo From ee4e57948f6835d62b22913ab806fd0dbf575e44 Mon Sep 17 00:00:00 2001 From: David Hartmann Date: Fri, 19 Nov 2021 14:33:22 +0100 Subject: [PATCH 2/2] tests: added test for event.exists(event_name) --- .../event/register_event/test_event_exists.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tests/event/register_event/test_event_exists.py diff --git a/tests/event/register_event/test_event_exists.py b/tests/event/register_event/test_event_exists.py new file mode 100644 index 00000000..e8311b39 --- /dev/null +++ b/tests/event/register_event/test_event_exists.py @@ -0,0 +1,22 @@ +from pathlib import Path +import miniflask # noqa: E402 + + +def init_mf(): + return miniflask.init(module_dirs=str(Path(__file__).parent / "modules"), debug=True) + + +def test_event_exists_false(): + mf = init_mf() + mf.run(argv=[], modules=[]) + assert not mf.event.exists("main") + assert not mf.event.exists("add_test") + assert not mf.event.exists("sub_test") + + +def test_event_exists_true(): + mf = init_mf() + mf.run(argv=[], modules=["register_event_during_event"]) + assert mf.event.exists("main") + assert mf.event.exists("add_test") + assert not mf.event.exists("sub_test")