Added comprehensive test suite with CI workflow.
Audit / Dependencies (push) Successful in 8s
CD / Build (push) Successful in 8s
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 11s
CI / Type Checking (push) Successful in 9s
CI / Spelling (push) Successful in 6s

This commit is contained in:
2026-03-14 12:15:33 -04:00
parent 58993ff5ae
commit 99b257b90a
14 changed files with 2989 additions and 7 deletions
+24 -3
View File
@@ -7,9 +7,7 @@ authors = [
]
license = "Apache-2.0"
requires-python = ">=3.14"
dependencies = [
"maubot[encryption]",
]
dependencies = []
[project.urls]
Repository = "https://git.logal.dev/LogalDeveloper/OwncastSentry"
@@ -20,11 +18,17 @@ build-backend = "hatchling.build"
[dependency-groups]
dev = [
"maubot[encryption]>=0.6.0",
"aioresponses>=0.7.8",
"codespell>=2.4.2",
"hatch>=1.16.5",
"mypy>=1.19.1",
"pip-audit>=2.10.0",
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.0.0",
"ruff>=0.15.5",
"time-machine>=3.2.0",
]
[tool.hatch.version]
@@ -84,6 +88,9 @@ select = [
"PGH", # pygrep-hooks
"TC", # flake8-type-checking
# Testing
"PT", # flake8-pytest-style
# Ruff-specific
"RUF", # Ruff-specific rules
]
@@ -92,5 +99,19 @@ ignore = [
"D213", # incompatible with D212 (summary on first line)
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["S101", "S311"]
[tool.coverage.run]
source = ["owncastsentry"]
omit = ["owncastsentry/_version.py"]
[tool.coverage.report]
show_missing = true
skip_empty = true
[tool.codespell]
skip = "uv.lock"