From d81ecd6bdd46ef4085d554347104889dbaa93136 Mon Sep 17 00:00:00 2001 From: Aaron Guise Date: Thu, 19 Feb 2026 23:38:31 +1300 Subject: [PATCH] =?UTF-8?q?fix:=20migrate=20remaining=20session.query()=20?= =?UTF-8?q?calls=20to=20SQLAlchemy=202.0=20select()=20=F0=9F=94=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- directdnsonly/app/api/internal.py | 18 ++++++++---------- tests/test_peer_sync.py | 14 +++++++++++--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/directdnsonly/app/api/internal.py b/directdnsonly/app/api/internal.py index 600ded8..f7598bb 100644 --- a/directdnsonly/app/api/internal.py +++ b/directdnsonly/app/api/internal.py @@ -1,6 +1,7 @@ import cherrypy import json from loguru import logger +from sqlalchemy import select from directdnsonly.app.db import connect from directdnsonly.app.db.models import Domain @@ -30,12 +31,11 @@ class InternalAPI: session = connect() try: if domain: - record = ( - session.query(Domain) + record = session.execute( + select(Domain) .filter_by(domain=domain) - .filter(Domain.zone_data.isnot(None)) - .first() - ) + .where(Domain.zone_data.isnot(None)) + ).scalar_one_or_none() if not record: cherrypy.response.status = 404 return json.dumps({"error": "not found"}).encode() @@ -53,11 +53,9 @@ class InternalAPI: } ).encode() else: - records = ( - session.query(Domain) - .filter(Domain.zone_data.isnot(None)) - .all() - ) + records = session.execute( + select(Domain).where(Domain.zone_data.isnot(None)) + ).scalars().all() return json.dumps( [ { diff --git a/tests/test_peer_sync.py b/tests/test_peer_sync.py index b6d56cb..0fc2475 100644 --- a/tests/test_peer_sync.py +++ b/tests/test_peer_sync.py @@ -65,6 +65,7 @@ def test_start_skips_when_disabled(caplog): def test_start_warns_when_no_peers(caplog): import logging + worker = PeerSyncWorker({"enabled": True, "peers": []}) with patch.object(worker, "_run"): worker.start() @@ -131,7 +132,9 @@ def test_sync_creates_new_local_record(patch_connect, monkeypatch): def test_sync_updates_older_local_record(patch_connect, monkeypatch): """When local zone_data is older than peer's, it is overwritten.""" session = patch_connect - session.add(Domain(domain="example.com", zone_data="old data", zone_updated_at=OLDER)) + session.add( + Domain(domain="example.com", zone_data="old data", zone_updated_at=OLDER) + ) session.commit() worker = PeerSyncWorker(BASE_CONFIG) @@ -149,7 +152,10 @@ def test_sync_updates_older_local_record(patch_connect, monkeypatch): worker._sync_from_peer(_make_peer()) - record = session.query(Domain).filter_by(domain="example.com").first() + from sqlalchemy import select + record = session.execute( + select(Domain).filter_by(domain="example.com") + ).scalar_one_or_none() assert record.zone_data == ZONE_DATA assert record.zone_updated_at == NOW @@ -157,7 +163,9 @@ def test_sync_updates_older_local_record(patch_connect, monkeypatch): def test_sync_skips_when_local_is_newer(patch_connect, monkeypatch): """When local zone_data is newer than peer's, it is not overwritten.""" session = patch_connect - session.add(Domain(domain="example.com", zone_data="newer local", zone_updated_at=NOW)) + session.add( + Domain(domain="example.com", zone_data="newer local", zone_updated_at=NOW) + ) session.commit() worker = PeerSyncWorker(BASE_CONFIG)