Skip to content

Commit 22ff81c

Browse files
committed
Merge branch 'master' into html-extracted
2 parents 8703aaf + a41a413 commit 22ff81c

File tree

16 files changed

+161
-135
lines changed

16 files changed

+161
-135
lines changed

common/djangoapps/student/tests/test_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def test_get_course_enrollments(self):
8888

8989
result = get_course_enrollments(self.user)
9090

91-
self.assertQuerySetEqual(expected, result)
91+
self.assertEqual(list(expected), list(result))
9292

9393
def test_get_filtered_course_enrollments(self):
9494
"""Verify a filtered subset of enrollments can be retrieved"""
@@ -99,4 +99,4 @@ def test_get_filtered_course_enrollments(self):
9999

100100
result = get_course_enrollments(self.user, True, course_ids=[course_2.id])
101101

102-
self.assertQuerySetEqual(expected, result)
102+
self.assertEqual(list(expected), list(result))

lms/djangoapps/verify_student/management/commands/tests/test_manual_verify_student.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def test_manual_verifications_created_date(self):
7777
created_at__gte=earliest_allowed_verification_date()
7878
)
7979

80-
self.assertQuerysetEqual(verification1, [repr(r) for r in verification2], transform=repr)
80+
self.assertEqual(list(map(repr, verification1)), list(map(repr, verification2)))
8181

8282
def test_user_doesnot_exist_log(self):
8383
"""

openedx/core/djangoapps/enrollments/tests/test_services.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ def test_get_enrollments_can_take_proctored_exams_by_course(self):
9797
{'username': 'user4', 'mode': 'professional'},
9898
{'username': 'user5', 'mode': 'verified'}
9999
]
100-
self.assertQuerysetEqual(enrollments, expected_values, self.enrollment_to_dict)
100+
actual_values = [self.enrollment_to_dict(e) for e in enrollments]
101+
self.assertEqual(actual_values, expected_values)
101102

102103
def test_get_enrollments_can_take_proctored_exams_by_course_ignore_inactive(self):
103104
"""
@@ -141,7 +142,8 @@ def test_get_enrollments_can_take_proctored_exams_allow_honor(self):
141142
{'username': 'user5', 'mode': 'verified'}
142143

143144
]
144-
self.assertQuerysetEqual(enrollments, expected_values, self.enrollment_to_dict)
145+
actual_values = [self.enrollment_to_dict(e) for e in enrollments]
146+
self.assertEqual(actual_values, expected_values)
145147

146148
def test_get_enrollments_can_take_proctored_exams_not_enable_proctored_exams(self):
147149
self.course.enable_proctored_exams = False
@@ -180,7 +182,8 @@ def test_text_search_partial_return_some(self):
180182
expected_values = [
181183
{'username': 'user3', 'mode': 'masters'}
182184
]
183-
self.assertQuerysetEqual(enrollments, expected_values, self.enrollment_to_dict)
185+
actual_values = [self.enrollment_to_dict(e) for e in enrollments]
186+
self.assertEqual(actual_values, expected_values)
184187

185188
@ddt.data('user1', 'USER1', '[email protected]', '[email protected]')
186189
def test_text_search_exact_return_one(self, text_search):
@@ -192,7 +195,8 @@ def test_text_search_exact_return_one(self, text_search):
192195
expected_values = [
193196
{'username': 'user1', 'mode': 'executive-education'}
194197
]
195-
self.assertQuerysetEqual(enrollments, expected_values, self.enrollment_to_dict)
198+
actual_values = [self.enrollment_to_dict(e) for e in enrollments]
199+
self.assertEqual(actual_values, expected_values)
196200

197201
def test_text_search_return_none(self):
198202
enrollments = self.service.get_enrollments_can_take_proctored_exams(

openedx/core/djangoapps/util/management/commands/dump_settings.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from django.conf import settings
99
from django.core.management.base import BaseCommand
10-
10+
from django.utils.functional import Promise
1111

1212
SETTING_NAME_REGEX = re.compile(r'^[A-Z][A-Z0-9_]*$')
1313

@@ -78,10 +78,11 @@ def _to_json_friendly_repr(value: object) -> object:
7878
if not isinstance(subkey, (str, int)):
7979
raise ValueError(f"Unexpected dict key {subkey} of type {type(subkey)}")
8080
return {subkey: _to_json_friendly_repr(subval) for subkey, subval in value.items()}
81-
if proxy_args := getattr(value, "_proxy____args", None):
82-
if len(proxy_args) == 1 and isinstance(proxy_args[0], str):
83-
# Print gettext_lazy as simply the wrapped string
84-
return proxy_args[0]
81+
82+
# Directly convert Promise objects (gettext_lazy) to their string representation
83+
if isinstance(value, Promise):
84+
return str(value)
85+
8586
try:
8687
module = value.__module__
8788
qualname = value.__qualname__

requirements/constraints.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ django-stubs<6
5151
# The team that owns this package will manually bump this package rather than having it pulled in automatically.
5252
# This is to allow them to better control its deployment and to do it in a process that works better
5353
# for them.
54-
edx-enterprise==6.2.15
54+
edx-enterprise==6.2.16
5555

5656
# Date: 2023-07-26
5757
# Our legacy Sass code is incompatible with anything except this ancient libsass version.
@@ -83,6 +83,11 @@ openai<=0.28.1
8383
# Issue for unpinning: https://github.com/openedx/edx-platform/issues/35267
8484
path<16.12.0
8585

86+
# Date: 2025-05-11
87+
# Broke lxml[html_clean] extra dependency declaration
88+
# Issue for unpinning: https://github.com/openedx/edx-platform/issues/37168
89+
pip-tools<7.5.0
90+
8691
# Date: 2022-08-03
8792
# pycodestyle==2.9.0 generates false positive error E275.
8893
# Constraint can be removed once the issue https://github.com/PyCQA/pycodestyle/issues/1090 is fixed.

requirements/edx-sandbox/base.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ codejail-includes==2.0.0
1414
# via -r requirements/edx-sandbox/base.in
1515
contourpy==1.3.3
1616
# via matplotlib
17-
cryptography==45.0.5
17+
cryptography==45.0.6
1818
# via -r requirements/edx-sandbox/base.in
1919
cycler==0.12.1
2020
# via matplotlib
2121
fonttools==4.59.0
2222
# via matplotlib
2323
joblib==1.5.1
2424
# via nltk
25-
kiwisolver==1.4.8
25+
kiwisolver==1.4.9
2626
# via matplotlib
2727
lxml[html-clean,html_clean]==5.3.2
2828
# via
@@ -36,7 +36,7 @@ markupsafe==3.0.2
3636
# via
3737
# chem
3838
# openedx-calc
39-
matplotlib==3.10.3
39+
matplotlib==3.10.5
4040
# via -r requirements/edx-sandbox/base.in
4141
mpmath==1.3.0
4242
# via sympy
@@ -72,7 +72,7 @@ python-dateutil==2.9.0.post0
7272
# via matplotlib
7373
random2==1.0.2
7474
# via -r requirements/edx-sandbox/base.in
75-
regex==2025.7.31
75+
regex==2025.7.34
7676
# via nltk
7777
scipy==1.16.1
7878
# via

requirements/edx/base.txt

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ aniso8601==10.0.1
2424
# via edx-tincan-py35
2525
annotated-types==0.7.0
2626
# via pydantic
27-
anyio==4.9.0
27+
anyio==4.10.0
2828
# via httpx
2929
appdirs==1.4.4
3030
# via fs
@@ -70,14 +70,14 @@ bleach[css]==6.2.0
7070
# xblock-poll
7171
boto==2.49.0
7272
# via -r requirements/edx/kernel.in
73-
boto3==1.39.16
73+
boto3==1.40.6
7474
# via
7575
# -r requirements/edx/kernel.in
7676
# django-ses
7777
# fs-s3fs
7878
# ora2
7979
# snowflake-connector-python
80-
botocore==1.39.16
80+
botocore==1.40.6
8181
# via
8282
# -r requirements/edx/kernel.in
8383
# boto3
@@ -104,7 +104,7 @@ celery==5.5.3
104104
# enterprise-integrated-channels
105105
# event-tracking
106106
# openedx-learning
107-
certifi==2025.7.14
107+
certifi==2025.8.3
108108
# via
109109
# elasticsearch
110110
# httpcore
@@ -118,7 +118,7 @@ cffi==1.17.1
118118
# snowflake-connector-python
119119
chardet==5.2.0
120120
# via pysrt
121-
charset-normalizer==3.4.2
121+
charset-normalizer==3.4.3
122122
# via
123123
# requests
124124
# snowflake-connector-python
@@ -148,7 +148,7 @@ codejail-includes==2.0.0
148148
# via -r requirements/edx/kernel.in
149149
crowdsourcehinter-xblock==0.8
150150
# via -r requirements/edx/bundled.in
151-
cryptography==45.0.5
151+
cryptography==45.0.6
152152
# via
153153
# -r requirements/edx/kernel.in
154154
# django-fernet-fields-v2
@@ -191,6 +191,7 @@ django==4.2.23
191191
# django-push-notifications
192192
# django-sekizai
193193
# django-ses
194+
# django-simple-history
194195
# django-statici18n
195196
# django-storages
196197
# django-user-tasks
@@ -341,7 +342,7 @@ django-sekizai==4.1.0
341342
# openedx-django-wiki
342343
django-ses==4.4.0
343344
# via -r requirements/edx/bundled.in
344-
django-simple-history==3.1.1
345+
django-simple-history==3.8.0
345346
# via
346347
# -r requirements/edx/kernel.in
347348
# edx-enterprise
@@ -361,7 +362,7 @@ django-storages==1.14.6
361362
# via
362363
# -r requirements/edx/kernel.in
363364
# edxval
364-
django-user-tasks==3.4.2
365+
django-user-tasks==3.4.3
365366
# via -r requirements/edx/kernel.in
366367
django-waffle==5.0.0
367368
# via
@@ -476,7 +477,7 @@ edx-drf-extensions==10.6.0
476477
# edxval
477478
# enterprise-integrated-channels
478479
# openedx-learning
479-
edx-enterprise==6.2.15
480+
edx-enterprise==6.2.16
480481
# via
481482
# -c requirements/edx/../constraints.txt
482483
# -r requirements/edx/kernel.in
@@ -511,7 +512,7 @@ edx-opaque-keys[django]==3.0.0
511512
# openedx-filters
512513
# ora2
513514
# xblocks-contrib
514-
edx-organizations==7.1.0
515+
edx-organizations==7.2.1
515516
# via -r requirements/edx/kernel.in
516517
edx-proctoring==5.2.0
517518
# via
@@ -578,11 +579,11 @@ event-tracking==3.3.0
578579
# edx-completion
579580
# edx-proctoring
580581
# edx-search
581-
fastavro==1.11.1
582+
fastavro==1.12.0
582583
# via openedx-events
583584
filelock==3.18.0
584585
# via snowflake-connector-python
585-
firebase-admin==7.0.0
586+
firebase-admin==7.1.0
586587
# via edx-ace
587588
frozenlist==1.7.0
588589
# via
@@ -676,6 +677,8 @@ inflection==0.5.1
676677
# via
677678
# drf-spectacular
678679
# drf-yasg
680+
invoke==2.2.0
681+
# via paramiko
679682
ipaddress==1.0.23
680683
# via -r requirements/edx/kernel.in
681684
isodate==0.7.2
@@ -722,7 +725,7 @@ lazy==1.6
722725
# xblock
723726
loremipsum==1.0.5
724727
# via ora2
725-
lti-consumer-xblock==9.14.0
728+
lti-consumer-xblock==9.14.2
726729
# via -r requirements/edx/kernel.in
727730
lxml[html-clean,html_clean]==5.3.2
728731
# via
@@ -778,7 +781,7 @@ mpmath==1.3.0
778781
# via sympy
779782
msgpack==1.1.1
780783
# via cachecontrol
781-
multidict==6.6.3
784+
multidict==6.6.4
782785
# via
783786
# aiohttp
784787
# yarl
@@ -861,7 +864,7 @@ packaging==25.0
861864
# gunicorn
862865
# kombu
863866
# snowflake-connector-python
864-
paramiko==3.5.1
867+
paramiko==4.0.0
865868
# via edx-enterprise
866869
path==16.11.0
867870
# via
@@ -933,9 +936,7 @@ pydantic==2.11.7
933936
pydantic-core==2.33.2
934937
# via pydantic
935938
pyjwkest==1.4.2
936-
# via
937-
# -r requirements/edx/kernel.in
938-
# lti-consumer-xblock
939+
# via -r requirements/edx/kernel.in
939940
pyjwt[crypto]==2.10.1
940941
# via
941942
# -r requirements/edx/kernel.in
@@ -1039,15 +1040,15 @@ random2==1.0.2
10391040
# via -r requirements/edx/kernel.in
10401041
recommender-xblock==3.1.0
10411042
# via -r requirements/edx/bundled.in
1042-
redis==6.2.0
1043+
redis==6.4.0
10431044
# via
10441045
# -r requirements/edx/kernel.in
10451046
# walrus
10461047
referencing==0.36.2
10471048
# via
10481049
# jsonschema
10491050
# jsonschema-specifications
1050-
regex==2025.7.31
1051+
regex==2025.7.34
10511052
# via nltk
10521053
requests==2.32.4
10531054
# via
@@ -1080,7 +1081,7 @@ requests-oauthlib==2.0.0
10801081
# via
10811082
# -r requirements/edx/kernel.in
10821083
# social-auth-core
1083-
rpds-py==0.26.0
1084+
rpds-py==0.27.0
10841085
# via
10851086
# jsonschema
10861087
# referencing

requirements/edx/coverage.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
chardet==5.2.0
88
# via diff-cover
9-
coverage==7.10.1
9+
coverage==7.10.3
1010
# via -r requirements/edx/coverage.in
1111
diff-cover==9.6.0
1212
# via -r requirements/edx/coverage.in

0 commit comments

Comments
 (0)