Files
leocrm/pyproject.toml
T
Agent Zero 719ee251f2
Check Cross-Plugin Imports / check (push) Has been cancelled
fix: close remaining security gaps, test fixes, frontend integration, event bus
- RCE: move _check_dangerous_imports() BEFORE exec_module() in plugins.py
- verify_ws_origin: reject empty Origin header when CORS configured
- Test: ai_app fixture with permission_registry init for ai_assistant
- Test: login_client sets CSRF token + Origin as client default headers
- Test: SESSION_COOKIE_SECURE=false override + get_settings.cache_clear()
- Test: asyncio_default_test_loop_scope=session fixes event loop closed
- Test: fix 15 assertions (paths, variables, auth expectations)
- Frontend: integrate SavedFilterBar in ContactsList, Mail, Calendar
- Frontend: integrate TagSelector in ContactsList, Mail, Calendar
- Event Bus: add 4 subscribers in system_notif (conversation/participant/reaction)
- Docs: update all analysis reports and FIX-PLAN-V2 to current state
2026-07-27 12:45:45 +02:00

61 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "crm-system"
version = "1.0.0"
description = "Self-hosted CRM for small sales teams"
requires-python = ">=3.11"
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
asyncio_default_test_loop_scope = "session"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-ra",
"--strict-markers",
"--tb=short",
]
filterwarnings = [
"ignore::DeprecationWarning:passlib.*",
"ignore::DeprecationWarning:jose.*",
]
[tool.coverage.run]
source = ["app"]
branch = true
concurrency = ["greenlet"]
omit = [
"app/__init__.py",
"app/*/__init__.py",
"app/plugins/builtins/test_sample.py",
]
[tool.coverage.report]
precision = 2
show_missing = true
skip_covered = false
[tool.ruff]
line-length = 100
target-version = "py311"
extend-exclude = [".venv", "alembic/versions"]
[tool.ruff.lint]
select = ["E", "F", "W", "I", "B", "UP", "N", "ASYNC"]
ignore = ["E501", "B008"]
[tool.mypy]
python_version = "3.11"
strict = true
ignore_missing_imports = true
warn_unused_ignores = true
warn_return_any = true
disallow_untyped_defs = false
files = ["app"]