From 3112a3b8c936527c8e2e4c9bc53e9e6003f064ec Mon Sep 17 00:00:00 2001 From: appel_c Date: Mon, 24 Mar 2025 14:03:29 +0100 Subject: [PATCH] tests: add test for rpcrefernce on rpcbase object --- tests/unit_tests/test_rpc_base.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/unit_tests/test_rpc_base.py diff --git a/tests/unit_tests/test_rpc_base.py b/tests/unit_tests/test_rpc_base.py new file mode 100644 index 00000000..cbb85c30 --- /dev/null +++ b/tests/unit_tests/test_rpc_base.py @@ -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"" + assert ref.__repr__() == f"" + + with pytest.raises(DeletedWidgetError): + ref.widget_name # Object no longer referenced in registry