fix: Complete major SQLAlchemy 2.0 test migration

Fixed multiple test files for SQLAlchemy 2.0 compatibility:
- test_search.py: Fixed query syntax and session parameters
- test_room_ics.py: Added session parameter to all controller calls
- test_ics_background_tasks.py: Fixed imports and query patterns
- test_cleanup.py: Fixed model fields and session handling
- test_calendar_event.py: Improved session fixture usage
- calendar_events.py: Added commits for test compatibility
- rooms.py: Fixed result parsing for scalars().all()
- worker/cleanup.py: Added session parameter to remove_by_id

Results: 116 tests now passing (up from 107), 29 failures (down from 38)
Remaining issues are primarily async event loop isolation problems
This commit is contained in:
2025-09-22 19:07:33 -06:00
parent 224e40225d
commit 4f70a7f593
9 changed files with 522 additions and 508 deletions

View File

@@ -115,8 +115,7 @@ async def test_cleanup_deletes_associated_meeting_and_recording(session):
await session.execute(
insert(MeetingModel).values(
id=meeting_id,
transcript_id=old_transcript.id,
room_id="test-room",
room_id=None,
room_name="test-room",
room_url="https://example.com/room",
host_room_url="https://example.com/room-host",
@@ -136,7 +135,6 @@ async def test_cleanup_deletes_associated_meeting_and_recording(session):
await session.execute(
insert(RecordingModel).values(
id=recording_id,
transcript_id=old_transcript.id,
meeting_id=meeting_id,
url="https://example.com/recording.mp4",
object_key="recordings/test.mp4",
@@ -258,8 +256,7 @@ async def test_meeting_consent_cascade_delete(session):
await session.execute(
insert(MeetingModel).values(
id=meeting_id,
transcript_id=transcript.id,
room_id="test-room",
room_id=None,
room_name="test-room",
room_url="https://example.com/room",
host_room_url="https://example.com/room-host",
@@ -275,19 +272,31 @@ async def test_meeting_consent_cascade_delete(session):
)
await session.commit()
# Update transcript with meeting_id
await session.execute(
update(TranscriptModel)
.where(TranscriptModel.id == transcript.id)
.values(meeting_id=meeting_id)
)
await session.commit()
# Create meeting_consent entries
await session.execute(
insert(MeetingConsentModel).values(
id="consent-1",
meeting_id=meeting_id,
user_name="User 1",
user_id="user-1",
consent_given=True,
consent_timestamp=old_date,
)
)
await session.execute(
insert(MeetingConsentModel).values(
id="consent-2",
meeting_id=meeting_id,
user_name="User 2",
user_id="user-2",
consent_given=True,
consent_timestamp=old_date,
)
)
await session.commit()