-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (99 loc) · 2.92 KB
/
pyproject.toml
File metadata and controls
105 lines (99 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[project]
name = "manage-vaccinations-in-schools-testing"
version = "0.1.0"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"allure-pytest==2.15.0",
"allure-python-commons==2.15.0",
"axe-playwright-python==0.1.7",
"cryptography==46.0.7",
"faker==40.15.0",
"httpx==0.28.1",
"nhs-number==1.3.10",
"openpyxl==3.1.5",
"pandas==3.0.2",
"pillow==12.2.0",
"playwright==1.58.0",
"pyjwt==2.12.1",
"pytest==9.0.3",
"pytest-dotenv==0.5.2",
"pytest-playwright==0.7.2",
"pytest-rerunfailures==16.1",
"pytest-xdist==3.8.0",
"pytest-jira-zephyr-reporter @ git+https://github.com/NHSDigital/pytest-jira-zephyr-reporter.git@v0.2.0",
"requests==2.33.1",
"pypdf>=6.10.2",
"inflect>=7.5.0",
"defusedxml>=0.7.1",
]
[dependency-groups]
dev = [
"ruff>=0.15.11",
"yamllint>=1.38.0",
]
[tool.pytest.ini_options]
log_file = "logs/pytest.log"
log_file_date_format = "%Y-%m-%d %H:%M:%S"
log_file_format = "%(asctime)s - %(name)s %(levelname)s %(message)s"
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(levelname)s %(name)s: %(message)s"
log_cli_date_format = "%H:%M:%S"
addopts = "-vs -rf --alluredir allure-results -n auto --dist=loadscope"
markers = [
"accessibility",
"imms_api",
"pds_api",
"reporting",
"smoke",
"unstable",
]
[tool.ruff]
output-format = "github"
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"COM812", # should be disabled when using ruff formatter
"D", # docstrings should not be necessary
"RUF001", # mavis uses the ambiguous ’ character
"S311", # no cryptography warnings needed
"TRY300", # conflicts with RET505 in certain patterns
"TD002",
"TD003",
"FIX002",
]
[tool.ruff.lint.per-file-ignores]
"tests/*.py" = [
"ANN", # tests/fixtures don't need type annotations
"ARG", # fixtures are unused arguments
"S101", # assertions should be used in tests
"PLR0913", # fixtures cause many parameters to be given to tests
]
"mavis/test/fixtures/*.py" = [
"ANN", # fixtures don't need type annotations
"ARG", # fixtures are unused arguments
"PLR0913", # fixtures take many parameters
]
"mavis/test/pages/*.py" = [
"PLR0915", # page object model causes many statements in __init__
"S101", # assertions should be used in test functions
]
"mavis/test/hooks.py" = [
"ANN", # hooks don't need type annotations
"ARG", # fixtures are unused arguments
]
"mavis/test/annotations.py" = [
"ANN", # annotations don't need type annotations
]
"mavis/test/imms_api.py" = [
"S101", # assertions are used here, though perhaps this file could be moved
]
"mavis/test/utils.py" = [
"TID251", # deliberate_sleep wraps time.sleep — the one allowed call site
]
"utils/*" = [
"ALL", # small utilities can be safely ignored
]
[tool.ruff.lint.flake8-tidy-imports.banned-api]
"time.sleep".msg = "Use deliberate_sleep(seconds, reason) from mavis.test.utils instead."