refactor(db)!: finalize pooled WNDB v2 migration

This commit is contained in:
2026-08-27 17:26:22 +08:00
parent fa188af0b1
commit b74799a39d
105 changed files with 4988 additions and 5565 deletions
+28
View File
@@ -86,3 +86,31 @@ def test_update_scada_field_skips_insert_when_update_succeeds():
assert len(conn.cursor_instance.calls) == 1
assert "UPDATE scada.measurements SET" in conn.cursor_instance.calls[0][0]
def test_update_scada_field_batch_uses_one_set_based_statement():
ScadaRepository = _load_scada_repository()
conn = _FakeConnection(initial_rowcount=2)
first_time = datetime(2026, 1, 1, 0, 0, tzinfo=timezone.utc)
second_time = datetime(2026, 1, 1, 0, 5, tzinfo=timezone.utc)
updated = asyncio.run(
ScadaRepository.update_scada_field_batch(
conn,
[
(first_time, "170490", 26.5),
(second_time, "170491", 27.0),
],
"cleaned_value",
)
)
assert updated == 2
assert len(conn.cursor_instance.calls) == 1
query, params = conn.cursor_instance.calls[0]
assert "unnest" in query.lower()
assert params == (
[first_time, second_time],
["170490", "170491"],
[26.5, 27.0],
)