fix(msteams): remove optional deps from dev extras and gate tests
PyJWT and cryptography are optional msteams deps; they should not be bundled into the generic dev install. Tests now skip the entire file when the deps are missing, following the dingtalk pattern.
This commit is contained in:
@@ -93,7 +93,6 @@ dev = [
|
|||||||
"aiohttp>=3.9.0,<4.0.0",
|
"aiohttp>=3.9.0,<4.0.0",
|
||||||
"pytest-cov>=6.0.0,<7.0.0",
|
"pytest-cov>=6.0.0,<7.0.0",
|
||||||
"ruff>=0.1.0",
|
"ruff>=0.1.0",
|
||||||
"pymupdf>=1.25.0",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
+12
-1
@@ -1,7 +1,18 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
import jwt
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
# Check optional msteams dependencies before running tests
|
||||||
|
try:
|
||||||
|
from nanobot.channels import msteams
|
||||||
|
MSTEAMS_AVAILABLE = getattr(msteams, "MSTEAMS_AVAILABLE", False)
|
||||||
|
except ImportError:
|
||||||
|
MSTEAMS_AVAILABLE = False
|
||||||
|
|
||||||
|
if not MSTEAMS_AVAILABLE:
|
||||||
|
pytest.skip("MSTeams dependencies not installed (PyJWT, cryptography). Run: pip install nanobot-ai[msteams]", allow_module_level=True)
|
||||||
|
|
||||||
|
import jwt
|
||||||
from cryptography.hazmat.primitives.asymmetric import rsa
|
from cryptography.hazmat.primitives.asymmetric import rsa
|
||||||
|
|
||||||
import nanobot.channels.msteams as msteams_module
|
import nanobot.channels.msteams as msteams_module
|
||||||
|
|||||||
Reference in New Issue
Block a user