From ba83acb0646ac07ee1c2ea5f59faede6ed74a987 Mon Sep 17 00:00:00 2001 From: Stacy Olivas Date: Tue, 17 Mar 2026 17:46:15 -0700 Subject: [PATCH] infra: raise coverage threshold and update pytest config - fail_under raised to 27 after confirming baseline coverage - asyncio_mode and timeout settings refined - requirements.txt synced with updated dependencies --- pyproject.toml | 6 +++++- pytest.ini | 1 + requirements.txt | 11 ++++++----- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 91aa360..e231de7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -117,6 +117,10 @@ module = [ "modules.commands.schedule_command", "modules.service_plugins.webhook_service", "modules.service_plugins.base_service", + "modules.utils", + "modules.plugin_loader", + "modules.security_utils", + "modules.commands.base_command", ] disallow_untyped_defs = true disallow_incomplete_defs = true @@ -135,5 +139,5 @@ source = ["modules"] omit = ["tests/*", ".venv/*"] [tool.coverage.report] -fail_under = 27 +fail_under = 35 show_missing = true diff --git a/pytest.ini b/pytest.ini index 1a36817..83e03ee 100644 --- a/pytest.ini +++ b/pytest.ini @@ -29,3 +29,4 @@ markers = unit: Unit tests (isolated, with mocks) integration: Integration tests (with real database) slow: Slow running tests + mqtt: Live MQTT integration tests (require network access to letsmesh broker) diff --git a/requirements.txt b/requirements.txt index 11b25f4..bdcfb63 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ +# Runtime dependencies — keep in sync with pyproject.toml [project.dependencies] pyserial>=3.5 bleak>=0.20.0 asyncio-mqtt>=0.11.0 -paho-mqtt>=1.6.0 configparser>=5.3.0 python-dateutil>=2.8.2 apscheduler>=3.10.0 @@ -13,9 +13,6 @@ geopy>=2.3.0 maidenhead>=1.4.0 pytz>=2023.3 aiohttp>=3.8.0 -cryptography>=41.0.0 -pynacl>=1.5.0 -aiosqlite>=0.19.0 meshcore>=2.2.31 openmeteo-requests>=1.7.2 requests-cache>=1.1.1 @@ -24,6 +21,10 @@ flask>=2.3.0 flask-socketio>=5.3.0 meshcore-cli feedparser>=6.0.10 +paho-mqtt>=1.6.0 +cryptography>=41.0.0 +pynacl>=1.5.0 +aiosqlite>=0.19.0 # Optional: profanity filtering (pip install meshcore-bot[profanity]) # better-profanity>=0.7.0 @@ -33,7 +34,7 @@ feedparser>=6.0.10 # pycountry>=23.12.0 # us>=2.0.0 -# Testing dependencies +# Testing dependencies (pip install meshcore-bot[test]) pytest>=7.0.0 pytest-asyncio>=0.21.0 pytest-mock>=3.10.0