Skip to content

Commit 22552eb

Browse files
committed
General dependency upgrade
dev constraint Add DRF pin Add a new check
1 parent f31b1f2 commit 22552eb

File tree

6 files changed

+61
-32
lines changed

6 files changed

+61
-32
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ jobs:
4646
python-version: "3.12"
4747
sonar: false
4848
junit-xml-upload: false
49+
- env: py312-in-files
50+
python-version: "3.12"
51+
sonar: false
52+
junit-xml-upload: false
4953
steps:
5054
- uses: actions/checkout@v4
5155
with:

pyproject.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ legacy_tox_ini = """
105105
py310-django4
106106
py311-django4
107107
py312-django4
108+
py312-in-files
108109
labels =
109110
test = py312, py310, py311, py311sqlite, py310-django4, py311-django4, py312-django4, check
110111
lint = flake8, black, isort
@@ -155,6 +156,26 @@ legacy_tox_ini = """
155156
python -m pip install --upgrade "Django>=4.2.21,<4.3.0"
156157
docker = db
157158
159+
[testenv:py312-in-files]
160+
deps =
161+
-r{toxinidir}/requirements/requirements.in
162+
-r{toxinidir}/requirements/requirements_activitystream.in
163+
-r{toxinidir}/requirements/requirements_authentication.in
164+
-r{toxinidir}/requirements/requirements_api_documentation.in
165+
-r{toxinidir}/requirements/requirements_rest_filters.in
166+
-r{toxinidir}/requirements/requirements_rbac.in
167+
-r{toxinidir}/requirements/requirements_channels.in
168+
-r{toxinidir}/requirements/requirements_jwt_consumer.in
169+
-r{toxinidir}/requirements/requirements_redis_client.in
170+
-r{toxinidir}/requirements/requirements_oauth2_provider.in
171+
-r{toxinidir}/requirements/requirements_resource_registry.in
172+
-r{toxinidir}/requirements/requirements_feature_flags.in
173+
-r{toxinidir}/requirements/requirements_testing.txt
174+
-r{toxinidir}/requirements/requirements_dev.txt
175+
docker = db
176+
allowlist_externals = sh
177+
commands = pytest -n auto --color=yes --cov=. --cov-report=xml:coverage.xml --cov-report=html --cov-report=json --cov-branch --junit-xml=django-ansible-base-test-results.xml {env:ANSIBLE_BASE_PYTEST_ARGS} {env:ANSIBLE_BASE_TEST_DIRS:test_app/tests} {posargs}
178+
158179
[docker:db]
159180
dockerfile = {toxinidir}/tools/dev_postgres/Dockerfile
160181
expose =

requirements/requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
cryptography
66
Django>=4.2.21,<6.0
7-
djangorestframework
7+
djangorestframework<3.16 # problem with OAuth2Application.organization null handling
88
django-crum
99
inflection
1010
sqlparse>=0.5.2 # https://github.com/ansible/django-ansible-base/security/dependabot/9

requirements/requirements_all.txt

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
asgiref==3.8.1
1+
asgiref==3.10.0
22
# via
33
# -r requirements/requirements_resource_registry.in
44
# channels
55
# django
6-
attrs==24.2.0
6+
attrs==25.4.0
77
# via
88
# jsonschema
99
# referencing
10-
certifi==2024.8.30
10+
certifi==2025.10.5
1111
# via requests
12-
cffi==1.17.1
12+
cffi==2.0.0
1313
# via cryptography
14-
channels==4.2.0
14+
channels==4.3.1
1515
# via -r requirements/requirements_channels.in
16-
charset-normalizer==3.4.0
16+
charset-normalizer==3.4.4
1717
# via requests
18-
cryptography==44.0.1
18+
cryptography==46.0.2
1919
# via
2020
# -r requirements/requirements.in
2121
# jwcrypto
@@ -36,47 +36,47 @@ django==5.2.7
3636
# djangorestframework
3737
# drf-spectacular
3838
# social-auth-app-django
39-
django-auth-ldap==5.1.0
39+
django-auth-ldap==5.2.0
4040
# via -r requirements/requirements_authentication.in
4141
django-crum==0.7.9
4242
# via -r requirements/requirements.in
43-
django-flags==5.0.13
43+
django-flags==5.0.14
4444
# via -r requirements/requirements_feature_flags.in
4545
django-oauth-toolkit==2.3.0
4646
# via -r requirements/requirements_oauth2_provider.in
47-
django-redis==5.4.0
47+
django-redis==6.0.0
4848
# via -r requirements/requirements_redis_client.in
4949
djangorestframework==3.15.2
5050
# via
5151
# -r requirements/requirements.in
5252
# drf-spectacular
5353
drf-spectacular==0.26.5
5454
# via -r requirements/requirements_api_documentation.in
55-
dynaconf==3.2.10
55+
dynaconf==3.2.12
5656
# via -r requirements/requirements.in
57-
idna==3.10
57+
idna==3.11
5858
# via requests
5959
inflection==0.5.1
6060
# via
6161
# -r requirements/requirements.in
6262
# drf-spectacular
6363
isodate==0.7.2
6464
# via python3-saml
65-
jsonschema==4.23.0
65+
jsonschema==4.25.1
6666
# via drf-spectacular
67-
jsonschema-specifications==2024.10.1
67+
jsonschema-specifications==2025.9.1
6868
# via jsonschema
6969
jwcrypto==1.5.6
7070
# via django-oauth-toolkit
7171
ldap-filter==1.0.1
7272
# via -r requirements/requirements_authentication.in
73-
lxml==5.3.0
73+
lxml==6.0.2
7474
# via
7575
# python3-saml
7676
# xmlsec
7777
netaddr==1.3.0
7878
# via pyrad
79-
oauthlib==3.2.2
79+
oauthlib==3.3.1
8080
# via
8181
# django-oauth-toolkit
8282
# requests-oauthlib
@@ -85,9 +85,9 @@ pyasn1==0.6.1
8585
# via
8686
# pyasn1-modules
8787
# python-ldap
88-
pyasn1-modules==0.4.1
88+
pyasn1-modules==0.4.2
8989
# via python-ldap
90-
pycparser==2.22
90+
pycparser==2.23
9191
# via cffi
9292
pyjwt==2.10.1
9393
# via
@@ -96,25 +96,25 @@ pyjwt==2.10.1
9696
# social-auth-core
9797
pyrad==2.4
9898
# via -r requirements/requirements_authentication.in
99-
python-ldap==3.4.4
99+
python-ldap==3.4.5
100100
# via
101101
# -r requirements/requirements_authentication.in
102102
# django-auth-ldap
103103
python3-openid==3.2.0
104104
# via social-auth-core
105105
python3-saml==1.16.0
106106
# via -r requirements/requirements_authentication.in
107-
pyyaml==6.0.2
107+
pyyaml==6.0.3
108108
# via drf-spectacular
109-
redis==5.2.0
109+
redis==6.4.0
110110
# via
111111
# -r requirements/requirements_redis_client.in
112112
# django-redis
113-
referencing==0.35.1
113+
referencing==0.37.0
114114
# via
115115
# jsonschema
116116
# jsonschema-specifications
117-
requests==2.32.3
117+
requests==2.32.5
118118
# via
119119
# -r requirements/requirements_jwt_consumer.in
120120
# -r requirements/requirements_resource_registry.in
@@ -123,7 +123,7 @@ requests==2.32.3
123123
# social-auth-core
124124
requests-oauthlib==2.0.0
125125
# via social-auth-core
126-
rpds-py==0.22.3
126+
rpds-py==0.27.1
127127
# via
128128
# jsonschema
129129
# referencing
@@ -137,19 +137,21 @@ social-auth-core==4.5.4
137137
# via
138138
# -r requirements/requirements_authentication.in
139139
# social-auth-app-django
140-
sqlparse==0.5.2
140+
sqlparse==0.5.3
141141
# via
142142
# -r requirements/requirements.in
143143
# django
144144
tabulate==0.9.0
145145
# via -r requirements/requirements_authentication.in
146146
tacacs-plus==2.6
147147
# via -r requirements/requirements_authentication.in
148-
typing-extensions==4.12.2
149-
# via jwcrypto
150-
uritemplate==4.1.1
148+
typing-extensions==4.15.0
149+
# via
150+
# jwcrypto
151+
# referencing
152+
uritemplate==4.2.0
151153
# via drf-spectacular
152-
urllib3==2.2.3
154+
urllib3==2.5.0
153155
# via
154156
# -r requirements/requirements_resource_registry.in
155157
# requests

requirements/requirements_dev.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ansible # Used in build process to generate some configs
22
black==25.1.0 # Linting tool, if changed update pyproject.toml as well
33
build
4-
django==5.2.7
4+
django<6
55
django-debug-toolbar
66
django-extensions
77
djangorestframework
@@ -18,6 +18,6 @@ pytest-xdist
1818
pytest-cov
1919
pytest-django
2020
setuptools-scm
21-
sqlparse==0.5.2
21+
sqlparse<1
2222
psycopg[binary]
2323
sdb

test_app/tests/oauth2_provider/views/test_application.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ def test_oauth2_provider_application_validator(admin_api_client):
202202
},
203203
)
204204
assert response.status_code == 400
205+
assert 'organization' in response.data
206+
assert 'This field is required' in str(response.data['organization'])
205207

206208

207209
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)