test: pytest suite (31 tests) + lazy config validation + CI pytest job
Lint / hadolint (pull_request) Successful in 28s
CI Shared Jobs / hadolint (pull_request) Successful in 28s
CI Shared Jobs / build-test (pull_request) Successful in 2m33s
CI Shared Jobs / pytest (pull_request) Successful in 2m57s
PR Checks / ci (pull_request) Successful in 3m26s

- src/server.py: CALDAV_DATA_PATH validation moved from import-time to
  _validate_startup_config(), called on __main__ or MCP_ICS_VALIDATE_ON_IMPORT=1.
  Module is now importable in tests without env setup.
- tests/: Radicale fixture tree (VCALENDAR/VADDRESSBOOK, hidden dirs, corrupt
  props, bad ics), covers discover_calendars, parse_ics_files, component_to_dt,
  format_dt, format_component (exclude/birthday filters, VEVENT vs VTODO shape),
  get_events_in_range (RRULE expansion, cross-calendar aggregation, sort),
  get_agenda (default +7d end, error dict, flag forwarding), /health endpoint,
  _validate_startup_config. 31 tests, <2s.
- .gitea/workflows/_ci-common.yaml: new pytest job running the test suite
  inside the built CI image (prod requirements).
- pkg/Dockerfile: COPY tests/
This commit is contained in:
jcabillot committed 2026-10-09 00:06:27 +00:00
1 parent 70d7306129
commit ef3ec3ba54
6 files changed
+498 -6

No files matched your search

+3
View File
@@ -16,5 +16,8 @@ RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt
# Copy the source code
COPY src/ ./src/
# Copy tests (used by CI; harmless in production)
COPY tests/ ./tests/
# Command to run the MCP server
CMD ["python", "src/server.py"]