66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
from src.caldav_client import CalDAVClient
|
|
from datetime import datetime, timedelta
|
|
import os
|
|
|
|
def test_client():
|
|
print("Testing CalDAV Client...")
|
|
try:
|
|
client = CalDAVClient()
|
|
print("Client initialized.")
|
|
|
|
print("\nListing Calendars:")
|
|
calendars = client.list_calendars()
|
|
for c in calendars:
|
|
print(f"- {c['name']} ({c['url']})")
|
|
|
|
if not calendars:
|
|
print("No calendars found.")
|
|
return
|
|
|
|
test_calendar = calendars[0]['name']
|
|
print(f"\nUsing calendar: {test_calendar}")
|
|
|
|
print("\nCreating Test Event...")
|
|
start = datetime.now()
|
|
end = start + timedelta(hours=1)
|
|
uid = client.create_event(test_calendar, "MCP Test Event", start, end, "This is a test event created by MCP")
|
|
print(f"Event created with UID: {uid}")
|
|
|
|
print("\nListing Events (Verification):")
|
|
events = client.list_events(test_calendar)
|
|
found = False
|
|
for e in events:
|
|
if e['uid'] == uid:
|
|
print(f"Found event: {e['summary']} - {e['start']}")
|
|
found = True
|
|
break
|
|
|
|
if found:
|
|
print("\nUpdating Event...")
|
|
new_summary = "MCP Test Event (Updated)"
|
|
client.update_event(test_calendar, uid, summary=new_summary)
|
|
print("Event updated.")
|
|
|
|
print("\nListing ALL Events (Global Filter Test):")
|
|
all_events = client.list_events() # No calendar name provided
|
|
global_found = False
|
|
for e in all_events:
|
|
if e['uid'] == uid:
|
|
print(f"Found event in global list: {e['summary']} (Calendar: {e['calendar']})")
|
|
global_found = True
|
|
break
|
|
if not global_found:
|
|
print("Error: Created event not found in global list.")
|
|
|
|
print("\nDeleting Event...")
|
|
client.delete_event(test_calendar, uid)
|
|
print("Event deleted.")
|
|
else:
|
|
print("Error: Created event not found in list.")
|
|
|
|
except Exception as e:
|
|
print(f"Test failed: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
test_client()
|