refactor(db)!: finalize pooled WNDB v2 migration
This commit is contained in:
@@ -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],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user