Skip to content

Commit 8d8ff29

Browse files
authored
fix: don't urljoin empty string (openedx#34516)
1 parent 1244a9f commit 8d8ff29

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lms/djangoapps/ora_staff_grader/serializers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,9 @@ def get_download_url(self, obj):
268268
"""
269269
Get the representation for SerializerMethodField `downloadUrl`
270270
"""
271+
if not obj.get("download_url"):
272+
return ""
273+
271274
return urljoin(settings.LMS_ROOT_URL, obj.get("download_url"))
272275

273276

lms/djangoapps/ora_staff_grader/tests/test_serializers.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,24 @@ def test_uploaded_file_serializer_with_full_url(self):
503503
}
504504
assert data == expected_value
505505

506+
def test_no_download_url(self):
507+
"""Test UploadedFileSerializer in the case where a URL was not found"""
508+
input_data = {
509+
"download_url": "",
510+
"description": "Test description",
511+
"name": "Test name",
512+
"size": 78222,
513+
}
514+
515+
data = UploadedFileSerializer(input_data).data
516+
expected_value = {
517+
"downloadUrl": "",
518+
"description": input_data["description"],
519+
"name": input_data["name"],
520+
"size": input_data["size"],
521+
}
522+
assert data == expected_value
523+
506524

507525
@ddt.ddt
508526
class TestResponseSerializer(TestCase):

0 commit comments

Comments
 (0)