Files
signoz/tests/pyproject.toml
Pandey aeadeacc70 chore(tests): bump deps to close 8 dependabot alerts (#11076)
Bumps direct pins pytest>=9.0.3 (GHSA-6w46-j5rx-g56g) and requests>=2.33.0
(GHSA-gc5v-m9x4-r6x2). uv lock --upgrade then refreshes everything
transitive, which covers:

- cryptography 46.0.3 -> 46.0.7 (GHSA-r6ph-v2qm-q3c2 high, GHSA-p423-j2cm-9vmq
  medium, GHSA-m959-cc7f-wv43 low)
- python-dotenv 1.2.1 -> 1.2.2 (GHSA-mf9w-mj56-hr94)
- Pygments 2.19.2 -> 2.20.0 (GHSA-5239-wwwm-4pmq)
- jwcrypto 1.5.6 -> 1.5.7 (GHSA-fjrm-76x2-c4q4 — PyPI has 1.5.7, GitHub's
  advisory hasn't catalogued the patched version yet)

Risk: python-keycloak majored 6.0.0 -> 7.1.1. The 7.0 release tightens
return-type handling and can now raise TypeError on mismatch. Imports
collect cleanly (499 tests) but only the callbackauthn suite exercises
KeycloakAdmin at runtime — watch that job in CI.
2026-04-23 12:56:29 +00:00

78 lines
2.7 KiB
TOML

[project]
name = "tests"
version = "0.1.0"
description = ""
authors = [{ name = "therealpandey", email = "vibhupandey28@gmail.com" }]
requires-python = ">=3.13"
dependencies = [
"pytest>=9.0.3",
"psycopg2>=2.9.10",
"testcontainers[clickhouse,keycloak,postgres]>=4.13.1",
"wiremock>=2.6.1",
"numpy>=2.3.2",
"clickhouse-connect>=0.8.18",
"svix-ksuid>=0.6.2",
"requests>=2.33.0",
"sqlalchemy>=2.0.43",
"selenium>=4.40.0",
"isodate>=0.7.2",
"fastapi>=0.115",
"uvicorn[standard]>=0.34",
"py>=1.11",
]
[dependency-groups]
dev = [
"ruff>=0.8.0",
]
[tool.pytest.ini_options]
# Matched against basenames. Numeric-prefixed suite files (NN_name.py) plus
# the bootstrap entrypoints (setup.py, run.py). Excludes seeder/server.py.
python_files = ["[0-9][0-9]_*.py", "setup.py", "run.py"]
# importlib mode: avoids sys.modules collisions between same-basename tests
# (e.g. querier/01_logs.py vs rawexportdata/01_logs.py) now that all trees
# share one rootdir at tests/. importlib also disables pytest's implicit
# sys.path injection — pythonpath below makes `import fixtures` resolve.
pythonpath = ["."]
addopts = "-ra -p no:warnings --import-mode=importlib"
log_cli = true
log_format = "%(asctime)s [%(levelname)s] (%(filename)s:%(lineno)s) %(message)s"
log_date_format = "%Y-%m-%d %H:%M:%S"
[tool.ruff]
# ruff caps line-length at 320 (prior pylint setting was 400, but both are
# far above any line that organically shows up in this tree).
line-length = 320
extend-exclude = [".venv", "node_modules"]
[tool.ruff.lint]
# E/W = pycodestyle, F = pyflakes, I = isort, UP = pyupgrade, B = bugbear,
# PL = pylint-compat. Mirrors the intent of the prior pylint + isort +
# autoflake stack.
select = ["E", "F", "W", "I", "UP", "B", "PL"]
ignore = [
# pylint: too-many-* — preserved from prior pylint config
"PLR0911", # too-many-return-statements
"PLR0912", # too-many-branches
"PLR0913", # too-many-arguments
"PLR0915", # too-many-statements
# magic-value-comparison — noisy in assertion-heavy test code
"PLR2004",
# ruff flags mutable-argument-default (B006) where pylint ignored
# dangerous-default-value; preserve that behaviour.
"B006",
# Rules not previously enforced under pylint. Keep muted so this
# migration stays a pure tool swap; enable selectively in follow-ups.
"B011", # assert False
"B024", # abstract-class-without-abstract-method
"B905", # zip() without strict=
"E741", # ambiguous variable name
"UP047", # non-pep695-generic-function
"PLC0206", # dict-index-missing-items
"PLW2901", # for-loop-var-overwritten
]
[tool.ruff.format]
# Defaults align with black (double quotes, 4-space indent).