OffGridSchedula / tests /test_calendar.py
ParetoOptimal's picture
Initial Commit
0366d65
Raw
History Blame Contribute Delete
866 Bytes
import base64
import os
import tempfile
from calendar_out.ics import events_to_ics
from server.imageutil import to_data_uri
from server.schema import Event
_TINY_PNG = base64.b64decode(
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+M8AAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
)
def test_ics_has_vevent():
ics = events_to_ics([Event(title="X", start="2026-06-10T13:00:00", end="2026-06-10T14:00:00")])
assert b"BEGIN:VCALENDAR" in ics
assert b"BEGIN:VEVENT" in ics
def test_to_data_uri_png():
p = os.path.join(tempfile.gettempdir(), "ci_tiny.png")
with open(p, "wb") as f:
f.write(_TINY_PNG)
uri = to_data_uri(p)
assert uri and uri.startswith("data:image/png;base64,")
def test_to_data_uri_rejects_non_image(tmp_path):
p = tmp_path / "note.txt"
p.write_text("hello")
assert to_data_uri(str(p)) is None