bec-lib 3.151.1__tar.gz → 3.151.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bec_lib-3.151.1 → bec_lib-3.151.3}/PKG-INFO +1 -1
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/macro_update_handler.py +1 -2
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/managed_redis_connection.py +13 -4
- {bec_lib-3.151.1 → bec_lib-3.151.3}/pyproject.toml +1 -1
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_redis_connector_fakeredis.py +29 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_user_macros.py +5 -5
- {bec_lib-3.151.1 → bec_lib-3.151.3}/.gitignore +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/README.md +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/_print_versions.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/acl_login.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/actors.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/alarm_handler.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/atlas_models.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_errors.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_service.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_yaml_loader.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bl_state_manager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bl_states.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/builtin_actor_hli.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/callback_handler.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/channel_monitor.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/client.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/codecs.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/config_helper.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/config_values.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/demo_config.yaml +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/openapi_schema.json +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/connector.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/dap_plugin_objects.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/dap_plugins.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/device.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/devicemanager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/endpoints.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/file_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/live_scan_data.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/lmfit_serializer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/logger.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messages.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messaging_hooks.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messaging_services.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/metadata_schema.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/numpy_encoder.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/observer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/pdf_writer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/plugin_helper.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/helper.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/hli.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/status.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/queue_items.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/constants.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/hli.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/streams.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/validation.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/request_context.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/request_items.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_args.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_data_container.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_history.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_input_validator.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_items.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_manager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_number_container.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_repeat.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_report.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scans.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scibec_validator.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/script_executor.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/serialization.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/serialization_registry.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/service_config.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/signature_serializer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/fixtures.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/test_config.yaml +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/test_service_config.yaml +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/user_macros.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/copier_jinja_filters.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/import_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/json_extended.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/_constants.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/_util.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/device.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/scan.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/templates/v4_scan.py.jinja +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/main.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/proxy.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/pydantic_pretty_print.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/rpc_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/scan_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/threading_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/user_acls_test.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/__init__.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/_additional_for_signature_serializer_test.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/conftest.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_acl_login.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_alarm_handler.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_atlas_models.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_beamline_states.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_logger.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_messages.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_service.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_callback_handler.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_channel_monitor.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_client.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_config_helper.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_core_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_dap_plugins.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_data_container.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_device_hashing.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_device_manager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_devices.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_file_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_hli_connector_fakeredis.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_hli_redis_connector.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_import_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_jinja_plugins.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_lmfit_serializer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_managed_config_values.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_managed_redis_connection.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_messaging_hooks.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_messaging_service.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_metadata_schema.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_observer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_pdf_writer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_helper.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_manager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_system.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_pydantic_pretty_print.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_queue_items.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_context.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_data.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_history.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_items.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_manager.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_object.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_repeat.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_report.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scibec_validator.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_script_executor.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_serializer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_signature_serializer.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_signature_serializer_with_future_import.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_stream_subs.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_utils.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_yaml_loader.py +0 -0
- {bec_lib-3.151.1 → bec_lib-3.151.3}/util_scripts/init_config.py +0 -0
|
@@ -271,12 +271,11 @@ class MacroUpdateHandler:
|
|
|
271
271
|
self.forget_user_macro(name)
|
|
272
272
|
self.load_user_macro(file, ignore_existing=True)
|
|
273
273
|
|
|
274
|
-
def _macro_update_callback(self, msg
|
|
274
|
+
def _macro_update_callback(self, msg):
|
|
275
275
|
"""Callback to handle macro update messages.
|
|
276
276
|
|
|
277
277
|
Args:
|
|
278
278
|
msg: The message containing the macro update information.
|
|
279
|
-
parent: The UserMacros instance.
|
|
280
279
|
"""
|
|
281
280
|
msg = msg.value
|
|
282
281
|
if not isinstance(msg, messages.MacroUpdateMessage):
|
|
@@ -595,7 +595,9 @@ class ManagedRedisConnection:
|
|
|
595
595
|
unsubscribe_list = []
|
|
596
596
|
with self._topics_cb_lock:
|
|
597
597
|
for topic in topics:
|
|
598
|
-
topics_cb = self._topics_cb
|
|
598
|
+
topics_cb = self._topics_cb.get(topic)
|
|
599
|
+
if topics_cb is None:
|
|
600
|
+
continue
|
|
599
601
|
# remove callback from list
|
|
600
602
|
self._topics_cb[topic] = list(
|
|
601
603
|
filter(lambda item: cb and item[0]() != cb, topics_cb)
|
|
@@ -631,9 +633,16 @@ class ManagedRedisConnection:
|
|
|
631
633
|
self._pubsub_conn.unsubscribe(unsubscribe_list)
|
|
632
634
|
else:
|
|
633
635
|
with self._topics_cb_lock:
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
636
|
+
registered_topics = list(self._topics_cb.keys())
|
|
637
|
+
direct_topics = [
|
|
638
|
+
topic for topic in registered_topics if not set("*?[]").intersection(topic)
|
|
639
|
+
]
|
|
640
|
+
pattern_topics = [topic for topic in registered_topics if topic not in direct_topics]
|
|
641
|
+
if direct_topics:
|
|
642
|
+
self.unregister(topics=direct_topics, cb=cb)
|
|
643
|
+
if pattern_topics:
|
|
644
|
+
self.unregister(patterns=pattern_topics, cb=cb)
|
|
645
|
+
self.unregister(topics=self._stream_subs.all_topics, cb=cb)
|
|
637
646
|
|
|
638
647
|
def _unregister_stream(self, topics: list[str], cb: Callable | None = None) -> bool:
|
|
639
648
|
"""Unregister callbacks from a list of topics. Returns true if any were removed"""
|
|
@@ -148,6 +148,35 @@ def test_redis_connector_unregister(connected_connector):
|
|
|
148
148
|
assert len(connector._topics_cb) == 0
|
|
149
149
|
|
|
150
150
|
|
|
151
|
+
def test_redis_connector_unregister_all_for_callback(connected_connector):
|
|
152
|
+
connector = connected_connector
|
|
153
|
+
cb_mock = mock.Mock(spec=[])
|
|
154
|
+
|
|
155
|
+
connector.register(topics=["topic1"], cb=cb_mock, start_thread=False)
|
|
156
|
+
connector.register(patterns=["topic2:*"], cb=cb_mock, start_thread=False)
|
|
157
|
+
connector.register(TestStreamEndpoint, cb=cb_mock, start_thread=False)
|
|
158
|
+
|
|
159
|
+
connector.send("topic1", TestMessage(msg="topic1"))
|
|
160
|
+
connector.poll_messages(timeout=1)
|
|
161
|
+
connector.send("topic2:a", TestMessage(msg="topic2"))
|
|
162
|
+
connector.poll_messages(timeout=1)
|
|
163
|
+
connector.xadd("test", {"data": 1})
|
|
164
|
+
connector.poll_messages(timeout=1)
|
|
165
|
+
assert cb_mock.call_count == 3
|
|
166
|
+
|
|
167
|
+
cb_mock.reset_mock()
|
|
168
|
+
connector.unregister(cb=cb_mock)
|
|
169
|
+
|
|
170
|
+
connector.send("topic1", TestMessage(msg="topic1"))
|
|
171
|
+
connector.send("topic2:a", TestMessage(msg="topic2"))
|
|
172
|
+
connector.xadd("test", {"data": 2})
|
|
173
|
+
with pytest.raises(TimeoutError):
|
|
174
|
+
connector.poll_messages(timeout=1)
|
|
175
|
+
assert cb_mock.call_count == 0
|
|
176
|
+
assert len(connector._topics_cb) == 0
|
|
177
|
+
assert connector._stream_subs.all_topics == []
|
|
178
|
+
|
|
179
|
+
|
|
151
180
|
def test_redis_connector_register_identical(connected_connector):
|
|
152
181
|
connector = connected_connector
|
|
153
182
|
|
|
@@ -457,7 +457,7 @@ def test_macro_update_callback_valid_message(user_macros):
|
|
|
457
457
|
# Mock the on_macro_update method
|
|
458
458
|
with mock.patch.object(macros._update_handler, "on_macro_update") as mock_on_update:
|
|
459
459
|
# Call the callback
|
|
460
|
-
macros._update_handler._macro_update_callback(mock_msg
|
|
460
|
+
macros._update_handler._macro_update_callback(mock_msg)
|
|
461
461
|
|
|
462
462
|
# Verify on_macro_update was called with the correct message
|
|
463
463
|
mock_on_update.assert_called_once_with(mock_msg.value)
|
|
@@ -475,7 +475,7 @@ def test_macro_update_callback_invalid_message_type(user_macros):
|
|
|
475
475
|
# Mock on_macro_update to ensure it's not called
|
|
476
476
|
with mock.patch.object(macros._update_handler, "on_macro_update") as mock_on_update:
|
|
477
477
|
# Call the callback
|
|
478
|
-
macros._update_handler._macro_update_callback(mock_msg
|
|
478
|
+
macros._update_handler._macro_update_callback(mock_msg)
|
|
479
479
|
|
|
480
480
|
# Verify error was logged and on_macro_update was not called
|
|
481
481
|
mock_logger.assert_called_once_with("Received invalid message type: <class 'str'>")
|
|
@@ -489,21 +489,21 @@ def test_macro_update_callback_with_different_message_types(user_macros):
|
|
|
489
489
|
# Test with None
|
|
490
490
|
mock_msg = mock.MagicMock()
|
|
491
491
|
mock_msg.value = None
|
|
492
|
-
macros._update_handler._macro_update_callback(mock_msg
|
|
492
|
+
macros._update_handler._macro_update_callback(mock_msg)
|
|
493
493
|
mock_logger.assert_called_with("Received invalid message type: <class 'NoneType'>")
|
|
494
494
|
|
|
495
495
|
mock_logger.reset_mock()
|
|
496
496
|
|
|
497
497
|
# Test with integer
|
|
498
498
|
mock_msg.value = 123
|
|
499
|
-
macros._update_handler._macro_update_callback(mock_msg
|
|
499
|
+
macros._update_handler._macro_update_callback(mock_msg)
|
|
500
500
|
mock_logger.assert_called_with("Received invalid message type: <class 'int'>")
|
|
501
501
|
|
|
502
502
|
mock_logger.reset_mock()
|
|
503
503
|
|
|
504
504
|
# Test with dict
|
|
505
505
|
mock_msg.value = {"not": "a_message"}
|
|
506
|
-
macros._update_handler._macro_update_callback(mock_msg
|
|
506
|
+
macros._update_handler._macro_update_callback(mock_msg)
|
|
507
507
|
mock_logger.assert_called_with("Received invalid message type: <class 'dict'>")
|
|
508
508
|
|
|
509
509
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/templates/v4_scan.py.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|