test_ical_feeds.py 691 B

1234567891011121314151617181920
  1. import pytest
  2. from room_cal._utils import CalendarEntry
  3. from room_cal.ical_feeds import fetch_calendar
  4. from room_cal.store._backend import EventRecord
  5. _FIRE_ENTRY = CalendarEntry(name='Fire', url='webcal://cal.4114.us/fire.ics')
  6. def _assert_events(events: list[EventRecord], expected_calendar: str):
  7. assert isinstance(events, list), "fetch_calendar should return a list"
  8. for e in events:
  9. assert isinstance(e, EventRecord), f"Expected EventRecord, got {type(e)}"
  10. assert e._meta.get('calendar') == expected_calendar
  11. assert e.end >= e.start
  12. @pytest.mark.asyncio
  13. async def test_fire_http_ical():
  14. events = await fetch_calendar(_FIRE_ENTRY)
  15. _assert_events(events, 'Fire')