- tests/test_cli.py: fix 26 fetch_issues_with_spent_time mocks to return 3-element tuples (issue, hours, activities) matching the real signature - pyproject.toml: add [tool.pytest.ini_options] with testpaths and pythonpath so bare pytest works - tests/test_client.py: add pagination test (>100 time entries arriving in pages, hours aggregated across all pages) - tests/test_formatters.py: add structural tests — XLSX full header row and grand total row via openpyxl, HTML thead with all columns and tbody row count - add strict xfail trap-tests for known bugs: #58 (naive created_on vs aware dedup cutoff TypeError) and #59 (parse_date_range rejects datetime range from dynamic+datetime period) Closes #67
58 lines
1.3 KiB
TOML
58 lines
1.3 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "redmine-reporter"
|
|
version = "1.10.1"
|
|
description = "Redmine time-entry based issue reporter for internal use"
|
|
readme = "README.md"
|
|
authors = [{ name = "Artem Kokos", email = "artem-kokos@mail.ru" }]
|
|
license = { text = "MIT" }
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Environment :: Console",
|
|
]
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"python-redmine>=2.4.0",
|
|
"tabulate>=0.9.0",
|
|
"python-dotenv>=1.0.0",
|
|
"odfpy>=1.4.0",
|
|
"openpyxl>=3.1.0",
|
|
"pyyaml>=6.0",
|
|
"requests>=2.31",
|
|
"urllib3>=1.26",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"mypy>=1.0",
|
|
"ruff>=0.1.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
redmine-reporter = "redmine_reporter.cli:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["redmine_reporter*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"redmine_reporter" = ["templates/template.odt"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["."]
|
|
|
|
[tool.mypy]
|
|
warn_unused_configs = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["odf.*", "redminelib.*", "tabulate", "openpyxl.*", "yaml", "requests", "urllib3.*"]
|
|
ignore_missing_imports = true
|