From 40eb75f85a4d99d498b086a37e799276a9d2ac3f Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Fri, 26 Apr 2024 17:55:50 +0200 Subject: [PATCH] test(cli/rpc_register): rpc_register tests added --- tests/unit_tests/conftest.py | 7 ++++ tests/unit_tests/test_rpc_register.py | 52 +++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 tests/unit_tests/test_rpc_register.py diff --git a/tests/unit_tests/conftest.py b/tests/unit_tests/conftest.py index fc644108..a357f26d 100644 --- a/tests/unit_tests/conftest.py +++ b/tests/unit_tests/conftest.py @@ -1,8 +1,15 @@ import pytest +from bec_widgets.cli.rpc_register import RPCRegister from bec_widgets.utils import bec_dispatcher as bec_dispatcher_module +@pytest.fixture(autouse=True) +def rpc_register(): + yield RPCRegister() + RPCRegister.reset_singleton() + + @pytest.fixture(autouse=True) def bec_dispatcher(threads_check): bec_dispatcher = bec_dispatcher_module.BECDispatcher() diff --git a/tests/unit_tests/test_rpc_register.py b/tests/unit_tests/test_rpc_register.py new file mode 100644 index 00000000..e6e37dab --- /dev/null +++ b/tests/unit_tests/test_rpc_register.py @@ -0,0 +1,52 @@ +from bec_widgets.cli.rpc_register import RPCRegister + + +class FakeObject: + def __init__(self, gui_id): + self.gui_id = gui_id + + +def test_add_connection(rpc_register): + obj1 = FakeObject("id1") + obj2 = FakeObject("id2") + + rpc_register.add_rpc(obj1) + rpc_register.add_rpc(obj2) + + all_connections = rpc_register.list_all_connections() + + assert len(all_connections) == 2 + assert all_connections["id1"] == obj1 + assert all_connections["id2"] == obj2 + + +def test_remove_connection(rpc_register): + + obj1 = FakeObject("id1") + obj2 = FakeObject("id2") + + rpc_register.add_rpc(obj1) + rpc_register.add_rpc(obj2) + + rpc_register.remove_rpc(obj1) + + all_connections = rpc_register.list_all_connections() + + assert len(all_connections) == 1 + assert all_connections["id2"] == obj2 + + +def test_reset_singleton(rpc_register): + obj1 = FakeObject("id1") + obj2 = FakeObject("id2") + + rpc_register.add_rpc(obj1) + rpc_register.add_rpc(obj2) + + rpc_register.reset_singleton() + rpc_register = RPCRegister() + + all_connections = rpc_register.list_all_connections() + + assert len(all_connections) == 0 + assert all_connections == {}