feat: add Todoist app test suite with live API testing
loading diff…
We have no end-to-end tests that exercise Mercury app actions against real APIs. When action schemas change, response formats shift, or API versions are deprecated, we don't find out until production workflows break. This establishes the pattern for app-level regression testing.
tests/app_suites/ framework for live API testing of Mercury apps via Composio OAuth connectionsTodoistHelper class with automatic resource cleanup in teardown (reverse dependency order)conftest.py with load_action() / execute_action() helpers reusable for any Mercury appapp_suite pytest marker in pyproject.tomlCOMPOSIO_API_KEY=<from doppler> \
COMPOSIO_ADMIN_TOKEN=<from doppler> \
MERCURY_PATH=/path/to/mercury \
DD_TRACE_ENABLED=false \
uv run python -m pytest tests/app_suites/todoist/ -v -o "addopts="
Expected: 35 passed, 1 skipped (project creation skipped due to OAuth scope)
ca_uVLqfemao_ck for Todoist OAuth — no hardcoded API keysget_all_tasks is paginated so listing tests verify structure rather than assuming all tasks appear on first pagepytest.skip()tests/app_suites/<app>/conftest.py with an <App>Helper class🤖 Generated with Claude Code