0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 19:21:50 +02:00

tests: add test for rpcrefernce on rpcbase object

This commit is contained in:
2025-03-24 14:03:29 +01:00
committed by wyzula-jan
parent a5f06c8f83
commit c8bdcaabde

View 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