mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2026-02-04 09:56:47 +00:00
ics non-sync bugfix
This commit is contained in:
@@ -319,21 +319,6 @@ class ICSSyncService:
|
|||||||
calendar = self.fetch_service.parse_ics(ics_content)
|
calendar = self.fetch_service.parse_ics(ics_content)
|
||||||
|
|
||||||
content_hash = hashlib.md5(ics_content.encode()).hexdigest()
|
content_hash = hashlib.md5(ics_content.encode()).hexdigest()
|
||||||
if room.ics_last_etag == content_hash:
|
|
||||||
logger.info("No changes in ICS for room", room_id=room.id)
|
|
||||||
room_url = f"{settings.UI_BASE_URL}/{room.name}"
|
|
||||||
events, total_events = self.fetch_service.extract_room_events(
|
|
||||||
calendar, room.name, room_url
|
|
||||||
)
|
|
||||||
return {
|
|
||||||
"status": SyncStatus.UNCHANGED,
|
|
||||||
"hash": content_hash,
|
|
||||||
"events_found": len(events),
|
|
||||||
"total_events": total_events,
|
|
||||||
"events_created": 0,
|
|
||||||
"events_updated": 0,
|
|
||||||
"events_deleted": 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
# Extract matching events
|
# Extract matching events
|
||||||
room_url = f"{settings.UI_BASE_URL}/{room.name}"
|
room_url = f"{settings.UI_BASE_URL}/{room.name}"
|
||||||
|
|||||||
@@ -189,14 +189,17 @@ async def test_ics_sync_service_sync_room_calendar():
|
|||||||
assert events[0].ics_uid == "sync-event-1"
|
assert events[0].ics_uid == "sync-event-1"
|
||||||
assert events[0].title == "Sync Test Meeting"
|
assert events[0].title == "Sync Test Meeting"
|
||||||
|
|
||||||
# Second sync with same content (should be unchanged)
|
# Second sync with same content (calendar unchanged, but sync always runs)
|
||||||
# Refresh room to get updated etag and force sync by setting old sync time
|
# Refresh room to get updated etag and force sync by setting old sync time
|
||||||
room = await rooms_controller.get_by_id(room.id)
|
room = await rooms_controller.get_by_id(room.id)
|
||||||
await rooms_controller.update(
|
await rooms_controller.update(
|
||||||
room, {"ics_last_sync": datetime.now(timezone.utc) - timedelta(minutes=10)}
|
room, {"ics_last_sync": datetime.now(timezone.utc) - timedelta(minutes=10)}
|
||||||
)
|
)
|
||||||
result = await sync_service.sync_room_calendar(room)
|
result = await sync_service.sync_room_calendar(room)
|
||||||
assert result["status"] == "unchanged"
|
assert result["status"] == "success"
|
||||||
|
assert result["events_created"] == 0
|
||||||
|
assert result["events_updated"] == 0
|
||||||
|
assert result["events_deleted"] == 0
|
||||||
|
|
||||||
# Third sync with updated event
|
# Third sync with updated event
|
||||||
event["summary"] = "Updated Meeting Title"
|
event["summary"] = "Updated Meeting Title"
|
||||||
|
|||||||
Reference in New Issue
Block a user