mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-05-02 12:54:18 +02:00
31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from unittest.mock import patch
|
|
|
|
from bec_widgets.utils import plugin_utils
|
|
from bec_widgets.utils.rpc_widget_handler import RPCWidgetHandler
|
|
|
|
|
|
def test_rpc_widget_handler():
|
|
handler = RPCWidgetHandler()
|
|
assert "Image" in handler.widget_classes
|
|
assert "RingProgressBar" in handler.widget_classes
|
|
assert "BECDockArea" in handler.widget_classes
|
|
assert isinstance(handler.widget_classes["Image"], tuple)
|
|
|
|
|
|
@patch(
|
|
"bec_widgets.utils.bec_plugin_helper.get_plugin_rpc_widget_registry",
|
|
return_value={
|
|
"Image": ("plugin.module", "PluginImage"),
|
|
"NewPluginWidget": ("plugin.module", "NewPluginWidget"),
|
|
},
|
|
)
|
|
def test_duplicate_plugins_not_allowed(_):
|
|
plugin_utils.rpc_widget_registry.cache_clear()
|
|
|
|
try:
|
|
handler = RPCWidgetHandler()
|
|
assert handler.widget_classes["Image"] != ("plugin.module", "PluginImage")
|
|
assert handler.widget_classes["NewPluginWidget"] == ("plugin.module", "NewPluginWidget")
|
|
finally:
|
|
plugin_utils.rpc_widget_registry.cache_clear()
|