chore: complete SQLAlchemy 2.0 migration in coredns_mysql backend and tests ⬆️

Migrate remaining session.query() calls in coredns_mysql.py to
select()/session.execute() style; update bulk delete to delete()
construct and count to func.count(); drop sessionmaker(bind=).
Update test fixtures and assertions to match.

Zero session.query() calls remaining across the entire codebase.
This commit is contained in:
2026-02-19 23:43:54 +13:00
parent d81ecd6bdd
commit f9907d2859
3 changed files with 41 additions and 38 deletions

View File

@@ -3,6 +3,7 @@
import datetime
import json
import pytest
from sqlalchemy import select, func
from unittest.mock import patch, MagicMock
from directdnsonly.app.peer_sync import PeerSyncWorker
@@ -123,7 +124,9 @@ def test_sync_creates_new_local_record(patch_connect, monkeypatch):
worker._sync_from_peer(_make_peer())
record = session.query(Domain).filter_by(domain="example.com").first()
record = session.execute(
select(Domain).filter_by(domain="example.com")
).scalar_one_or_none()
assert record is not None
assert record.zone_data == ZONE_DATA
assert record.zone_updated_at == NOW
@@ -152,7 +155,6 @@ def test_sync_updates_older_local_record(patch_connect, monkeypatch):
worker._sync_from_peer(_make_peer())
from sqlalchemy import select
record = session.execute(
select(Domain).filter_by(domain="example.com")
).scalar_one_or_none()
@@ -187,7 +189,9 @@ def test_sync_skips_when_local_is_newer(patch_connect, monkeypatch):
# zone_data fetch should not have been called
assert not fetch_calls
record = session.query(Domain).filter_by(domain="example.com").first()
record = session.execute(
select(Domain).filter_by(domain="example.com")
).scalar_one_or_none()
assert record.zone_data == "newer local"
@@ -219,7 +223,7 @@ def test_sync_skips_peer_with_bad_status(patch_connect, monkeypatch):
worker._sync_from_peer(_make_peer())
# No records should have been created
assert session.query(Domain).count() == 0
assert session.execute(select(func.count()).select_from(Domain)).scalar() == 0
def test_sync_skips_missing_zone_data_in_response(patch_connect, monkeypatch):
@@ -241,7 +245,7 @@ def test_sync_skips_missing_zone_data_in_response(patch_connect, monkeypatch):
worker._sync_from_peer(_make_peer())
assert session.query(Domain).count() == 0
assert session.execute(select(func.count()).select_from(Domain)).scalar() == 0
def test_sync_empty_peer_list(patch_connect, monkeypatch):