mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
tests: add test for rpcrefernce on rpcbase object
This commit is contained in:
28
tests/unit_tests/test_rpc_base.py
Normal file
28
tests/unit_tests/test_rpc_base.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from bec_widgets.cli.rpc.rpc_base import DeletedWidgetError, RPCBase, RPCReference
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def rpc_base():
|
||||||
|
yield RPCBase(gui_id="rpc_base_test", name="test")
|
||||||
|
|
||||||
|
|
||||||
|
def test_rpc_base(rpc_base):
|
||||||
|
"""Test registry and reference creation"""
|
||||||
|
registry = {rpc_base._gui_id: rpc_base}
|
||||||
|
ref = RPCReference(registry, rpc_base._gui_id)
|
||||||
|
|
||||||
|
assert ref._gui_id == rpc_base._gui_id
|
||||||
|
assert ref.widget_name == rpc_base.widget_name
|
||||||
|
assert ref.__str__() == rpc_base.__str__()
|
||||||
|
assert ref.__repr__() == rpc_base.__repr__()
|
||||||
|
|
||||||
|
# Remove object from registry
|
||||||
|
registry.pop(rpc_base._gui_id)
|
||||||
|
|
||||||
|
assert ref.__str__() == f"<Deleted widget with gui_id {rpc_base._gui_id}>"
|
||||||
|
assert ref.__repr__() == f"<Deleted widget with gui_id {rpc_base._gui_id}>"
|
||||||
|
|
||||||
|
with pytest.raises(DeletedWidgetError):
|
||||||
|
ref.widget_name # Object no longer referenced in registry
|
Reference in New Issue
Block a user