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.
Files changed (154) hide show
  1. {bec_lib-3.151.1 → bec_lib-3.151.3}/PKG-INFO +1 -1
  2. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/macro_update_handler.py +1 -2
  3. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/managed_redis_connection.py +13 -4
  4. {bec_lib-3.151.1 → bec_lib-3.151.3}/pyproject.toml +1 -1
  5. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_redis_connector_fakeredis.py +29 -0
  6. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_user_macros.py +5 -5
  7. {bec_lib-3.151.1 → bec_lib-3.151.3}/.gitignore +0 -0
  8. {bec_lib-3.151.1 → bec_lib-3.151.3}/README.md +0 -0
  9. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/__init__.py +0 -0
  10. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/_print_versions.py +0 -0
  11. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/acl_login.py +0 -0
  12. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/actors.py +0 -0
  13. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/alarm_handler.py +0 -0
  14. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/atlas_models.py +0 -0
  15. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_errors.py +0 -0
  16. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_service.py +0 -0
  17. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bec_yaml_loader.py +0 -0
  18. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bl_state_manager.py +0 -0
  19. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/bl_states.py +0 -0
  20. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/builtin_actor_hli.py +0 -0
  21. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/callback_handler.py +0 -0
  22. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/channel_monitor.py +0 -0
  23. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/client.py +0 -0
  24. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/codecs.py +0 -0
  25. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/config_helper.py +0 -0
  26. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/config_values.py +0 -0
  27. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/__init__.py +0 -0
  28. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/demo_config.yaml +0 -0
  29. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/configs/openapi_schema.json +0 -0
  30. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/connector.py +0 -0
  31. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/dap_plugin_objects.py +0 -0
  32. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/dap_plugins.py +0 -0
  33. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/device.py +0 -0
  34. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/devicemanager.py +0 -0
  35. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/endpoints.py +0 -0
  36. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/file_utils.py +0 -0
  37. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/live_scan_data.py +0 -0
  38. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/lmfit_serializer.py +0 -0
  39. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/logger.py +0 -0
  40. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messages.py +0 -0
  41. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messaging_hooks.py +0 -0
  42. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/messaging_services.py +0 -0
  43. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/metadata_schema.py +0 -0
  44. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/numpy_encoder.py +0 -0
  45. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/observer.py +0 -0
  46. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/pdf_writer.py +0 -0
  47. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/plugin_helper.py +0 -0
  48. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/__init__.py +0 -0
  49. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/helper.py +0 -0
  50. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/hli.py +0 -0
  51. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/procedures/status.py +0 -0
  52. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/queue_items.py +0 -0
  53. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/__init__.py +0 -0
  54. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/constants.py +0 -0
  55. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/hli.py +0 -0
  56. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/streams.py +0 -0
  57. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/redis_connector/validation.py +0 -0
  58. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/request_context.py +0 -0
  59. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/request_items.py +0 -0
  60. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_args.py +0 -0
  61. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_data_container.py +0 -0
  62. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_history.py +0 -0
  63. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_input_validator.py +0 -0
  64. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_items.py +0 -0
  65. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_manager.py +0 -0
  66. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_number_container.py +0 -0
  67. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_repeat.py +0 -0
  68. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scan_report.py +0 -0
  69. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scans.py +0 -0
  70. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/scibec_validator.py +0 -0
  71. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/script_executor.py +0 -0
  72. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/serialization.py +0 -0
  73. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/serialization_registry.py +0 -0
  74. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/service_config.py +0 -0
  75. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/signature_serializer.py +0 -0
  76. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/__init__.py +0 -0
  77. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/fixtures.py +0 -0
  78. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/test_config.yaml +0 -0
  79. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/test_service_config.yaml +0 -0
  80. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/tests/utils.py +0 -0
  81. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/user_macros.py +0 -0
  82. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/__init__.py +0 -0
  83. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/copier_jinja_filters.py +0 -0
  84. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/import_utils.py +0 -0
  85. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/json_extended.py +0 -0
  86. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/__init__.py +0 -0
  87. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/_constants.py +0 -0
  88. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/_util.py +0 -0
  89. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/__init__.py +0 -0
  90. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/device.py +0 -0
  91. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/scan.py +0 -0
  92. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/create/templates/v4_scan.py.jinja +0 -0
  93. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/plugin_manager/main.py +0 -0
  94. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/proxy.py +0 -0
  95. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/pydantic_pretty_print.py +0 -0
  96. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/rpc_utils.py +0 -0
  97. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/scan_utils.py +0 -0
  98. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/threading_utils.py +0 -0
  99. {bec_lib-3.151.1 → bec_lib-3.151.3}/bec_lib/utils/user_acls_test.py +0 -0
  100. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/__init__.py +0 -0
  101. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/_additional_for_signature_serializer_test.py +0 -0
  102. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/conftest.py +0 -0
  103. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_acl_login.py +0 -0
  104. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_alarm_handler.py +0 -0
  105. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_atlas_models.py +0 -0
  106. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_beamline_states.py +0 -0
  107. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_logger.py +0 -0
  108. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_messages.py +0 -0
  109. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_bec_service.py +0 -0
  110. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_callback_handler.py +0 -0
  111. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_channel_monitor.py +0 -0
  112. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_client.py +0 -0
  113. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_config_helper.py +0 -0
  114. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_core_utils.py +0 -0
  115. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_dap_plugins.py +0 -0
  116. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_data_container.py +0 -0
  117. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_device_hashing.py +0 -0
  118. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_device_manager.py +0 -0
  119. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_devices.py +0 -0
  120. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_file_utils.py +0 -0
  121. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_hli_connector_fakeredis.py +0 -0
  122. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_hli_redis_connector.py +0 -0
  123. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_import_utils.py +0 -0
  124. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_jinja_plugins.py +0 -0
  125. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_lmfit_serializer.py +0 -0
  126. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_managed_config_values.py +0 -0
  127. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_managed_redis_connection.py +0 -0
  128. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_messaging_hooks.py +0 -0
  129. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_messaging_service.py +0 -0
  130. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_metadata_schema.py +0 -0
  131. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_observer.py +0 -0
  132. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_pdf_writer.py +0 -0
  133. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_helper.py +0 -0
  134. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_manager.py +0 -0
  135. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_plugin_system.py +0 -0
  136. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_pydantic_pretty_print.py +0 -0
  137. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_queue_items.py +0 -0
  138. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_context.py +0 -0
  139. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_data.py +0 -0
  140. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_history.py +0 -0
  141. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_items.py +0 -0
  142. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_manager.py +0 -0
  143. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_object.py +0 -0
  144. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_repeat.py +0 -0
  145. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scan_report.py +0 -0
  146. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_scibec_validator.py +0 -0
  147. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_script_executor.py +0 -0
  148. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_serializer.py +0 -0
  149. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_signature_serializer.py +0 -0
  150. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_signature_serializer_with_future_import.py +0 -0
  151. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_stream_subs.py +0 -0
  152. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_utils.py +0 -0
  153. {bec_lib-3.151.1 → bec_lib-3.151.3}/tests/test_yaml_loader.py +0 -0
  154. {bec_lib-3.151.1 → bec_lib-3.151.3}/util_scripts/init_config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_lib
3
- Version: 3.151.1
3
+ Version: 3.151.3
4
4
  Summary: BEC library
5
5
  Project-URL: Bug Tracker, https://github.com/bec-project/bec/issues
6
6
  Project-URL: Homepage, https://github.com/bec-project/bec
@@ -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, parent):
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[topic]
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
- topics = list(self._topics_cb.keys())
635
- self.unregister(topics, cb)
636
- self.unregister(self._stream_subs.all_topics, cb)
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"""
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_lib"
7
- version = "3.151.1"
7
+ version = "3.151.3"
8
8
  description = "BEC library"
9
9
  requires-python = ">=3.11"
10
10
  classifiers = [
@@ -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, macros._update_handler)
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, macros._update_handler)
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, macros._update_handler)
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, macros._update_handler)
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, macros._update_handler)
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