mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 19:21:33 +02:00
Test Summary: - Build tests: 3 passed (image build, backend imports, static files) - Backend unit tests: 378 passed (9 docker tests excluded) - Frontend unit tests: 137 passed - Integration tests: 9 passed (health, API endpoints, persistence, WebSocket) Changes made to fix the Docker test suite: 1. Added curl to the production Dockerfile for integration tests 2. Removed deprecated version attribute from docker-compose.test.yml 3. Added --pull flag to all build commands to ensure fresh images 4. Added explicit build step before starting integration container 5. Fixed WebSocket test to accept 200 as a valid response 6. Excluded docker-marked tests from backend unit test runs (-m "not docker")
80 lines
2.1 KiB
TOML
80 lines
2.1 KiB
TOML
[project]
|
|
name = "bambuddy"
|
|
version = "0.1.5"
|
|
description = "Archive and manage Bambu Lab 3MF files"
|
|
requires-python = ">=3.11"
|
|
|
|
[tool.ruff]
|
|
target-version = "py311"
|
|
line-length = 120
|
|
exclude = [
|
|
".git",
|
|
".venv",
|
|
"venv",
|
|
"__pycache__",
|
|
"static",
|
|
"frontend",
|
|
"*.pyc",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"UP", # pyupgrade
|
|
"ARG", # flake8-unused-arguments
|
|
"SIM", # flake8-simplify
|
|
]
|
|
ignore = [
|
|
"E501", # line too long (handled by formatter)
|
|
"B008", # do not perform function calls in argument defaults (FastAPI Depends)
|
|
"B904", # raise from (too noisy)
|
|
"ARG001", # unused function argument (common in FastAPI)
|
|
"ARG002", # unused method argument
|
|
"SIM108", # ternary operator (readability preference)
|
|
"SIM102", # nested if (readability preference)
|
|
"SIM105", # contextlib.suppress (readability preference)
|
|
"UP038", # isinstance tuple syntax (readability preference)
|
|
]
|
|
|
|
# Allow autofix for all enabled rules
|
|
fixable = ["ALL"]
|
|
unfixable = []
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Tests can have unused imports and assertions
|
|
"**/tests/**" = ["F401", "F811", "ARG"]
|
|
# Init files often have unused imports for re-export
|
|
"**/__init__.py" = ["F401"]
|
|
# main.py needs early logging setup before other imports
|
|
"backend/app/main.py" = ["E402"]
|
|
# MQTT client has some unused variables for debugging
|
|
"backend/app/services/bambu_mqtt.py" = ["F841"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["backend"]
|
|
force-single-line = false
|
|
combine-as-imports = true
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = false
|
|
line-ending = "auto"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["backend/tests"]
|
|
python_files = ["test_*.py"]
|
|
python_functions = ["test_*"]
|
|
asyncio_mode = "auto"
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
]
|
|
markers = [
|
|
"docker: marks tests that run in Docker integration environment",
|
|
]
|