Zeus-Scanner/pyproject.toml
llbbl 7ae5d1efd7 feat: Set up comprehensive Python testing infrastructure with Poetry
- Migrated from requirements.txt to Poetry package management
- Added pytest, pytest-cov, and pytest-mock as dev dependencies
- Configured pytest with coverage reporting (80% threshold)
- Created test directory structure with unit/integration subdirectories
- Added comprehensive test fixtures in conftest.py
- Updated .gitignore with testing and build artifacts
- Added Poetry script commands for running tests
- Updated dependencies to modern compatible versions
2025-06-17 06:33:55 -05:00

96 lines
No EOL
1.9 KiB
TOML

[tool.poetry]
name = "zeus-scanner"
version = "0.1.0"
description = "Advanced reconnaissance utility"
authors = ["Zeus Scanner Contributors"]
readme = "README.md"
packages = [{include = "lib"}, {include = "var"}]
[tool.poetry.dependencies]
python = "^3.8"
selenium = "^4.0.0"
requests = "^2.28.0"
python-nmap = "^0.7.1"
whichcraft = "^0.6.1"
pyvirtualdisplay = "^3.0"
lxml = "^4.9.0"
psutil = "^5.9.0"
beautifulsoup4 = "^4.11.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-cov = "^4.1.0"
pytest-mock = "^3.12.0"
[tool.poetry.scripts]
test = "pytest:main"
tests = "pytest:main"
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"--strict-markers",
"--strict-config",
"--verbose",
"--cov=lib",
"--cov=var",
"--cov-branch",
"--cov-report=term-missing:skip-covered",
"--cov-report=html:htmlcov",
"--cov-report=xml:coverage.xml",
"--cov-fail-under=80",
"-ra",
"--showlocals",
"--tb=short",
]
markers = [
"unit: Unit tests",
"integration: Integration tests",
"slow: Tests that take > 5 seconds",
]
[tool.coverage.run]
source_pkgs = ["lib", "var"]
branch = true
parallel = true
omit = [
"*/tests/*",
"*/__init__.py",
"*/deprecated/*",
]
[tool.coverage.paths]
source = ["lib/", "var/"]
[tool.coverage.report]
precision = 2
show_missing = true
skip_covered = false
fail_under = 80
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug:",
"if settings.DEBUG",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
"class .*\\bProtocol\\):",
"@(abc\\.)?abstractmethod",
]
[tool.coverage.html]
directory = "htmlcov"
[tool.coverage.xml]
output = "coverage.xml"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"