Skip to content

Commit 0fb36c2

Browse files
committed
General dependency upgrade
dev constraint Add DRF pin Add a new check
1 parent f3549ff commit 0fb36c2

File tree

6 files changed

+62
-33
lines changed

6 files changed

+62
-33
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ jobs:
3434
python-version: "3.11"
3535
sonar: false
3636
junit-xml-upload: false
37+
- env: py312-in-files
38+
python-version: "3.12"
39+
sonar: false
40+
junit-xml-upload: false
3741
steps:
3842
- uses: actions/checkout@v4
3943
with:

pyproject.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ legacy_tox_ini = """
102102
py310
103103
py311
104104
py311sqlite
105+
py312-in-files
105106
labels =
106107
test = py312, py310, py311, py311sqlite, check
107108
lint = flake8, black, isort
@@ -128,6 +129,26 @@ legacy_tox_ini = """
128129
setenv =
129130
DJANGO_SETTINGS_MODULE = test_app.sqlite3settings
130131
132+
[testenv:py312-in-files]
133+
deps =
134+
-r{toxinidir}/requirements/requirements.in
135+
-r{toxinidir}/requirements/requirements_activitystream.in
136+
-r{toxinidir}/requirements/requirements_authentication.in
137+
-r{toxinidir}/requirements/requirements_api_documentation.in
138+
-r{toxinidir}/requirements/requirements_rest_filters.in
139+
-r{toxinidir}/requirements/requirements_rbac.in
140+
-r{toxinidir}/requirements/requirements_channels.in
141+
-r{toxinidir}/requirements/requirements_jwt_consumer.in
142+
-r{toxinidir}/requirements/requirements_redis_client.in
143+
-r{toxinidir}/requirements/requirements_oauth2_provider.in
144+
-r{toxinidir}/requirements/requirements_resource_registry.in
145+
-r{toxinidir}/requirements/requirements_feature_flags.in
146+
-r{toxinidir}/requirements/requirements_testing.txt
147+
-r{toxinidir}/requirements/requirements_dev.txt
148+
docker = db
149+
allowlist_externals = sh
150+
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}
151+
131152
[docker:db]
132153
dockerfile = {toxinidir}/tools/dev_postgres/Dockerfile
133154
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,<4.3.0 # CVE-2024-45230, CVE-2024-56374
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: 32 additions & 30 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
@@ -24,7 +24,7 @@ defusedxml==0.8.0rc2
2424
# via
2525
# python3-openid
2626
# social-auth-core
27-
django==4.2.21
27+
django==4.2.25
2828
# via
2929
# -r requirements/requirements.in
3030
# channels
@@ -36,47 +36,47 @@ django==4.2.21
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==4.2.21
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)