-
Notifications
You must be signed in to change notification settings - Fork 19
/
tox.ini
207 lines (197 loc) · 5.29 KB
/
tox.ini
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
[tox]
envlist = py310,docs,jsdoc,screenshots,acceptance,docker,migrations,plaid
[testenv]
deps =
-r{toxinidir}/requirements.txt
cov-core
coverage
execnet
py
pycodestyle
pytest
pytest-cache
pytest-cov
pytest-pycodestyle
pytest-flakes
pytest-html
ansi2html
mock
freezegun
pytest-blockage
pytest-timeout
alembic-verify
retrying
pytest-flask==1.0.0
passenv=CI,CONTINUOUS_INTEGRATION,AWS*,NO_REFRESH_DB,DB_CONNSTRING,NO_CLASS_REFRESH_DB,GITHUB_ACTIONS
setenv =
TOXINIDIR={toxinidir}
SETTINGS_MODULE=biweeklybudget.tests.fixtures.test_settings
CI=true
BIWEEKLYBUDGET_TEST_TIMESTAMP=1501223084
BIWEEKLYBUDGET_LOG_FILE={env_dir}/liveserver.log
sitepackages = False
allowlist_externals = env test
commands =
python --version
pip --version
pip freeze
py.test -rxs -vv --durations=10 --pycodestyle --flakes --blockage -m "not integration and not acceptance and not migrations and not plaid" --cov-report term-missing --cov-report xml --cov-report html --cov-config {toxinidir}/.coveragerc --cov=biweeklybudget --html=results/report.html {posargs:biweeklybudget}
[testenv:docs]
passenv=CI,CONTINUOUS_INTEGRATION
setenv =
TOXINIDIR={toxinidir}
CI=true
BIWEEKLYBUDGET_TEST_TIMESTAMP=1501223084
PLAID_CLIENT_ID=toxPlaidClientId
PLAID_SECRET=toxPlaidSecret
PLAID_ENV=Sandbox
PLAID_COUNTRY_CODES=US
deps =
-r{toxinidir}/requirements.txt
alabaster==0.7.12
docutils==0.16
pygments==2.6.1
sphinx==1.5.5
sphinx_rtd_theme==0.5.0
basepython = python3.10
commands =
python --version
pip --version
pip freeze
rst2html.py --halt=2 README.rst /dev/null
sphinx-apidoc biweeklybudget biweeklybudget/tests biweeklybudget/alembic biweeklybudget/vendored -o {toxinidir}/docs/source -e -f -M
# link check
# -n runs in nit-picky mode
# -W turns warnings into errors
sphinx-build -a -n -W -b linkcheck {toxinidir}/docs/source {toxinidir}/docs/build/html
# build
sphinx-build -a -n -W -b html {toxinidir}/docs/source {toxinidir}/docs/build/html
[testenv:jsdoc]
# generate sphinx-js javascript documentation
passenv = {[testenv:docs]passenv}
setenv = {[testenv:docs]setenv}
deps =
-r{toxinidir}/requirements.txt
docutils==0.16
pygments==2.6.1
sphinx==1.5.5
sphinx_rtd_theme==0.5.0
sphinx-js==1.5.2
basepython = python3.10
commands =
python --version
pip --version
pip freeze
python {toxinidir}/docs/make_jsdoc.py {toxinidir}
[testenv:screenshots]
# generate screenshots for documentation
deps =
-r{toxinidir}/requirements.txt
pytest-flask==1.0.0
Pillow==9.3.0
passenv = {[testenv]passenv}
setenv = {[testenv]setenv}
basepython = python3.10
sitepackages = False
allowlist_externals = env test
commands =
python --version
pip --version
pip freeze
python {toxinidir}/docs/make_screenshots.py {toxinidir}
[testenv:docker]
deps =
-r{toxinidir}/requirements.txt
docker>=7.0.0,<8.0.0
passenv = {[testenv]passenv},DOCKER_TEST_TAG,DOCKER_BUILD_VER,TEST_DOCKER,GITHUB_OUTPUT
setenv = {[testenv]setenv}
basepython = python3.10
sitepackages = False
allowlist_externals = env,test
package = sdist
commands =
python --version
pip --version
pip freeze
python {toxinidir}/biweeklybudget/tests/docker_build.py {toxinidir}
[testenv:acceptance]
deps =
-r{toxinidir}/requirements.txt
cov-core
coverage
execnet
py
pytest
pytest-cache
pytest-cov
mock
freezegun
pytest-flask==1.0.0
selenium==4.2.0
pytest-selenium==4.0.0
pytest-timeout
alembic-verify
retrying
passenv = {[testenv]passenv}
setenv = {[testenv]setenv}
basepython = python3.10
sitepackages = False
allowlist_externals = env test
commands =
python --version
pip --version
pip freeze
py.test -rxs -vv --durations=50 --durations-file=results/test_durations.json --driver Chrome --html=results/acceptance.html --cov-report xml --cov-report html --cov-config {toxinidir}/.coveragerc-acceptance --cov=biweeklybudget -m "acceptance" {posargs:biweeklybudget}
[testenv:plaid]
deps =
-r{toxinidir}/requirements.txt
cov-core
coverage
execnet
py
pytest
pytest-cache
pytest-cov
mock
freezegun
pytest-flask==1.0.0
selenium==4.2.0
pytest-selenium==4.0.0
pytest-timeout
alembic-verify
retrying
passenv=CI,CONTINUOUS_INTEGRATION,AWS*,NO_REFRESH_DB,DB_CONNSTRING,NO_CLASS_REFRESH_DB,PLAID_*
setenv =
TOXINIDIR={toxinidir}
SETTINGS_MODULE=biweeklybudget.tests.fixtures.test_settings
BIWEEKLYBUDGET_LOG_FILE={env_dir}/liveserver.log
basepython = python3.10
sitepackages = False
allowlist_externals = env test
commands =
python --version
pip --version
pip freeze
py.test -rxs -vv --durations=50 --durations-file=results/test_durations.json --driver Chrome --html=results/plaid.html -m "plaid" {posargs:biweeklybudget}
[testenv:migrations]
deps =
-r{toxinidir}/requirements.txt
execnet
py
pytest
pytest-cache
mock
freezegun
alembic-verify
pytest-html
retrying
passenv=CI,CONTINUOUS_INTEGRATION,NO_REFRESH_DB,NO_CLASS_REFRESH_DB,MYSQL_*,SQL_ECHO
setenv = {[testenv]setenv}
basepython = python3.10
sitepackages = False
allowlist_externals = env test
commands =
python --version
pip --version
pip freeze
py.test -rxs -vv --durations=50 --durations-file=results/test_durations.json --html=results/migrations.html -m "migrations" biweeklybudget/tests/migrations