from caldav import DAVClient
from datetime import datetime

# %%
# Connect
client = DAVClient(
    ...
)

# %%
# Select calendar
calendar = client.calendar(
    url=...
)

# %%
# Find events starting from prior to -INT32_MAX-1
start = datetime.fromtimestamp(-2_147_483_649)

events = calendar.search(
    event=True,
    start=start,
    end=None,
)

assert len(events) == 0
# %%
# Find events starting from after -INT32_MAX-1
start = datetime.fromtimestamp(-2_147_483_648)
events = calendar.search(
    event=True,
    start=start,
    end=None,
)
assert len(events) > 0

# %%
# Due to a buffer underflow issue, searching even earlier dates may return events
start = datetime.fromtimestamp(-2_666_998_506)
events = calendar.search(
    event=True,
    start=start,
    end=None,
)
assert len(events) > 0

# %%
