20 lines
648 B
Python
20 lines
648 B
Python
import pytest
|
|
from robot_interface.endpoints.receiver_base import ReceiverBase
|
|
|
|
|
|
def test_receiver_base_not_implemented(monkeypatch):
|
|
"""
|
|
Ensure that the base ReceiverBase raises NotImplementedError when
|
|
handle_message is called on a subclass that does not implement it.
|
|
"""
|
|
# Patch the __abstractmethods__ to allow instantiation
|
|
monkeypatch.setattr(ReceiverBase, "__abstractmethods__", frozenset())
|
|
|
|
class DummyReceiver(ReceiverBase):
|
|
pass
|
|
|
|
dummy = DummyReceiver("dummy") # Can now instantiate
|
|
|
|
with pytest.raises(NotImplementedError):
|
|
dummy.handle_message({"endpoint": "dummy", "data": None})
|