From 5bf3c1a709cb2fe8116a34681ff93670212f0908 Mon Sep 17 00:00:00 2001 From: huangsong Date: Mon, 10 Jan 2022 09:56:48 +0800 Subject: [PATCH] fix ut coverage --- ormar/decorators/signals.py | 17 +++++++++++------ ormar/signals/signal.py | 2 +- tests/test_signals/test_signals.py | 7 +++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ormar/decorators/signals.py b/ormar/decorators/signals.py index 468fc0c..62abac0 100644 --- a/ormar/decorators/signals.py +++ b/ormar/decorators/signals.py @@ -1,4 +1,4 @@ -from typing import Callable, List, TYPE_CHECKING, Type, Union +from typing import Callable, List, Type, TYPE_CHECKING, Union if TYPE_CHECKING: # pragma: no cover from ormar import Model @@ -54,7 +54,8 @@ def post_save(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: return receiver(signal="post_save", senders=senders) -def post_update(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: +def post_update(senders: Union[Type["Model"], List[Type["Model"]]] +) -> Callable: """ Connect given function to all senders for post_update signal. @@ -67,7 +68,8 @@ def post_update(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: return receiver(signal="post_update", senders=senders) -def post_delete(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: +def post_delete(senders: Union[Type["Model"], List[Type["Model"]]] +) -> Callable: """ Connect given function to all senders for post_delete signal. @@ -119,7 +121,8 @@ def pre_delete(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: return receiver(signal="pre_delete", senders=senders) -def pre_relation_add(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: +def pre_relation_add(senders: Union[Type["Model"], List[Type["Model"]]] +) -> Callable: """ Connect given function to all senders for pre_relation_add signal. @@ -132,7 +135,8 @@ def pre_relation_add(senders: Union[Type["Model"], List[Type["Model"]]]) -> Call return receiver(signal="pre_relation_add", senders=senders) -def post_relation_add(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: +def post_relation_add(senders: Union[Type["Model"], List[Type["Model"]]] +) -> Callable: """ Connect given function to all senders for post_relation_add signal. @@ -145,7 +149,8 @@ def post_relation_add(senders: Union[Type["Model"], List[Type["Model"]]]) -> Cal return receiver(signal="post_relation_add", senders=senders) -def pre_relation_remove(senders: Union[Type["Model"], List[Type["Model"]]]) -> Callable: +def pre_relation_remove(senders: Union[Type["Model"], List[Type["Model"]]] +) -> Callable: """ Connect given function to all senders for pre_relation_remove signal. diff --git a/ormar/signals/signal.py b/ormar/signals/signal.py index 32d73cd..d5b4a5c 100644 --- a/ormar/signals/signal.py +++ b/ormar/signals/signal.py @@ -105,5 +105,5 @@ class SignalEmitter(dict): def __setattr__(self, key: str, value: Signal) -> None: if not isinstance(value, Signal): - raise ValueError(f"{value} is not valid signal") + raise SignalDefinitionError(f"{value} is not valid signal") self[key] = value diff --git a/tests/test_signals/test_signals.py b/tests/test_signals/test_signals.py index 4832682..3dbcfa6 100644 --- a/tests/test_signals/test_signals.py +++ b/tests/test_signals/test_signals.py @@ -7,6 +7,7 @@ import sqlalchemy import ormar from ormar import post_delete, post_save, post_update, pre_delete, pre_save, pre_update +from ormar.signals import SignalEmitter from ormar.exceptions import SignalDefinitionError from tests.settings import DATABASE_URL @@ -77,6 +78,12 @@ def test_passing_callable_without_kwargs(): pass +def test_invalid_signal(): + emitter = SignalEmitter() + with pytest.raises(SignalDefinitionError): + emitter.save = 1 + + @pytest.mark.asyncio async def test_signal_functions(cleanup): async with database: