@@ -26,23 +26,34 @@ async def temporary_calendar(nc_client: NextcloudClient, test_calendar_name: str
2626 calendar_name = test_calendar_name
2727
2828 try :
29- # Create a test calendar if possible
30- # Note: Calendar creation might require admin permissions
31- # For now, we'll use an existing calendar or create events in default calendar
32-
33- # Try to find an existing calendar to use
34- calendars = await nc_client .calendar .list_calendars ()
35- if calendars :
36- calendar_name = calendars [0 ]["name" ]
37- logger .info (f"Using existing calendar: { calendar_name } " )
38- yield calendar_name
39- else :
40- pytest .skip ("No calendars available for testing" )
29+ # Create a test calendar
30+ logger .info (f"Creating temporary calendar: { calendar_name } " )
31+ result = await nc_client .calendar .create_calendar (
32+ calendar_name = calendar_name ,
33+ display_name = f"Test Calendar { calendar_name } " ,
34+ description = "Temporary calendar for integration testing" ,
35+ color = "#FF5722" ,
36+ )
37+
38+ if result ["status_code" ] not in [200 , 201 ]:
39+ pytest .skip (f"Failed to create temporary calendar: { result } " )
40+
41+ logger .info (f"Created temporary calendar: { calendar_name } " )
42+ yield calendar_name
4143
4244 except Exception as e :
4345 logger .error (f"Error setting up temporary calendar: { e } " )
4446 pytest .skip (f"Calendar setup failed: { e } " )
4547
48+ finally :
49+ # Cleanup: Delete the temporary calendar
50+ try :
51+ logger .info (f"Cleaning up temporary calendar: { calendar_name } " )
52+ await nc_client .calendar .delete_calendar (calendar_name )
53+ logger .info (f"Successfully deleted temporary calendar: { calendar_name } " )
54+ except Exception as e :
55+ logger .error (f"Error deleting temporary calendar { calendar_name } : { e } " )
56+
4657
4758@pytest .fixture
4859async def temporary_event (nc_client : NextcloudClient , temporary_calendar : str ):
@@ -236,11 +247,14 @@ async def test_list_events_in_range(nc_client: NextcloudClient, temporary_event:
236247 calendar_name = temporary_event ["calendar_name" ]
237248
238249 # Get events for the next week
239- start_date = datetime .now (). strftime ( "%Y%m%dT000000Z" )
240- end_date = ( datetime .now () + timedelta (days = 7 )). strftime ( "%Y%m%dT235959Z" )
250+ start_datetime = datetime .now ()
251+ end_datetime = datetime .now () + timedelta (days = 7 )
241252
242253 events = await nc_client .calendar .get_calendar_events (
243- calendar_name = calendar_name , start_date = start_date , end_date = end_date , limit = 50
254+ calendar_name = calendar_name ,
255+ start_datetime = start_datetime ,
256+ end_datetime = end_datetime ,
257+ limit = 50 ,
244258 )
245259
246260 assert isinstance (events , list )
0 commit comments