0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

fix(test_fake_redis): TestMessage fixed to pydantic BaseModel

This commit is contained in:
2024-04-11 11:13:12 +02:00
parent 49327a8dbd
commit 0b86a0009d
5 changed files with 22 additions and 6 deletions

View File

@ -35,7 +35,7 @@ class BECConnector:
def __init__(self, client=None, config: ConnectionConfig = None, gui_id: str = None):
# BEC related connections
self.bec_dispatcher = BECDispatcher()
self.bec_dispatcher = BECDispatcher(client=client)
self.client = self.bec_dispatcher.client if client is None else client
if config:

View File

@ -96,7 +96,6 @@ class BECDispatcher:
except redis.exceptions.ConnectionError:
print("Could not connect to Redis, skipping start of BECClient.")
self._initialized = True
@classmethod

View File

@ -1,7 +1,9 @@
# pylint: disable = no-name-in-module,missing-class-docstring, missing-module-docstring
from unittest.mock import MagicMock, patch
import fakeredis
import pytest
from bec_lib import BECClient, RedisConnector
from bec_lib.device import Positioner
from bec_lib.devicemanager import DeviceContainer
@ -92,12 +94,24 @@ DEVICES = [
]
def fake_redis_server(host, port):
redis = fakeredis.FakeRedis()
return redis
@pytest.fixture(scope="function")
def mocked_client():
def mocked_client(bec_dispatcher):
connector = RedisConnector("localhost:1", redis_cls=fake_redis_server)
# Create a MagicMock object
client = MagicMock()
client = MagicMock() # TODO change to real BECClient
# Shutdown the original client
bec_dispatcher.client.shutdown()
# Mock the connector attribute
bec_dispatcher.client = client
# Mock the device_manager.devices attribute
client.connector = connector
client.device_manager = DMMock()
client.device_manager.add_devives(DEVICES)
@ -121,3 +135,4 @@ def mocked_client():
with patch("builtins.isinstance", new=isinstance_mock):
yield client
connector.shutdown() # TODO change to real BECClient

View File

@ -8,6 +8,7 @@ from bec_lib.connector import MessageObject
from bec_lib.messages import ScanMessage
from bec_lib.redis_connector import RedisConnector
from bec_lib.serialization import MsgpackSerialization
from bec_widgets.utils.bec_dispatcher import QtRedisConnector
@ -29,7 +30,7 @@ def bec_dispatcher_w_connector(bec_dispatcher, topics_msg_list):
yield bec_dispatcher
dummy_msg = MsgpackSerialization.dumps(ScanMessage(point_id=0, scan_id=0, data={}))
dummy_msg = MsgpackSerialization.dumps(ScanMessage(point_id=0, scan_id="0", data={}))
@pytest.mark.parametrize(

View File

@ -16,7 +16,8 @@ def bec_figure(qtbot, mocked_client):
widget = BECFigure(client=mocked_client)
qtbot.addWidget(widget)
qtbot.waitExposed(widget)
return widget
yield widget
widget.close()
def test_bec_figure_init(bec_figure):