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
|
import app.main as main
|
||||||
|
|
||||||
events = []
|
events = []
|
||||||
|
runtime_settings = object()
|
||||||
|
applied_dsmr_settings = []
|
||||||
|
|
||||||
class _Scheduler:
|
class _Scheduler:
|
||||||
def __init__(self, **_kwargs): pass
|
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, "ensure_auth_db_ready", lambda: None)
|
||||||
monkeypatch.setattr(main, "BackgroundScheduler", _Scheduler)
|
monkeypatch.setattr(main, "BackgroundScheduler", _Scheduler)
|
||||||
monkeypatch.setattr(main, "get_session_local", lambda: _Session)
|
monkeypatch.setattr(main, "get_session_local", lambda: _Session)
|
||||||
monkeypatch.setattr(main, "build_runtime_settings", lambda *_args: object())
|
monkeypatch.setattr(main, "build_runtime_settings", lambda *_args: runtime_settings)
|
||||||
monkeypatch.setattr(main, "apply_dsmr_subscription", lambda: None)
|
|
||||||
|
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, "connect", lambda _settings: events.append("mqtt-start"))
|
||||||
monkeypatch.setattr(main.mqtt_manager, "disconnect", lambda: events.append("mqtt-stop"))
|
monkeypatch.setattr(main.mqtt_manager, "disconnect", lambda: events.append("mqtt-stop"))
|
||||||
monkeypatch.setattr(main, "warmtelink_worker_manager", _Manager())
|
monkeypatch.setattr(main, "warmtelink_worker_manager", _Manager())
|
||||||
@@ -293,6 +300,7 @@ def test_lifespan_exception_still_shuts_serial_before_other_runtime_teardown(mon
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
anyio.run(exercise)
|
anyio.run(exercise)
|
||||||
|
assert applied_dsmr_settings == [runtime_settings]
|
||||||
assert events.index("serial-stop-close-join") < events.index("mqtt-stop") < events.index("scheduler-stop")
|
assert events.index("serial-stop-close-join") < events.index("mqtt-stop") < events.index("scheduler-stop")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user