M8-R01A: align lifespan DSMR reconcile mock contract
This commit is contained in:
@@ -261,6 +261,8 @@ def test_lifespan_exception_still_shuts_serial_before_other_runtime_teardown(mon
|
||||
import app.main as main
|
||||
|
||||
events = []
|
||||
runtime_settings = object()
|
||||
applied_dsmr_settings = []
|
||||
|
||||
class _Scheduler:
|
||||
def __init__(self, **_kwargs): pass
|
||||
@@ -279,8 +281,13 @@ def test_lifespan_exception_still_shuts_serial_before_other_runtime_teardown(mon
|
||||
monkeypatch.setattr(main, "ensure_auth_db_ready", lambda: None)
|
||||
monkeypatch.setattr(main, "BackgroundScheduler", _Scheduler)
|
||||
monkeypatch.setattr(main, "get_session_local", lambda: _Session)
|
||||
monkeypatch.setattr(main, "build_runtime_settings", lambda *_args: object())
|
||||
monkeypatch.setattr(main, "apply_dsmr_subscription", lambda: None)
|
||||
monkeypatch.setattr(main, "build_runtime_settings", lambda *_args: runtime_settings)
|
||||
|
||||
def apply_dsmr_subscription(settings=runtime_settings):
|
||||
assert settings is runtime_settings
|
||||
applied_dsmr_settings.append(settings)
|
||||
|
||||
monkeypatch.setattr(main, "apply_dsmr_subscription", apply_dsmr_subscription)
|
||||
monkeypatch.setattr(main.mqtt_manager, "connect", lambda _settings: events.append("mqtt-start"))
|
||||
monkeypatch.setattr(main.mqtt_manager, "disconnect", lambda: events.append("mqtt-stop"))
|
||||
monkeypatch.setattr(main, "warmtelink_worker_manager", _Manager())
|
||||
@@ -293,6 +300,7 @@ def test_lifespan_exception_still_shuts_serial_before_other_runtime_teardown(mon
|
||||
pass
|
||||
|
||||
anyio.run(exercise)
|
||||
assert applied_dsmr_settings == [runtime_settings]
|
||||
assert events.index("serial-stop-close-join") < events.index("mqtt-stop") < events.index("scheduler-stop")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user