Skip to content

Commit 41acf0e

Browse files
authored
feat: include user and origin_server info in library archive (#37626)
1 parent 7023d76 commit 41acf0e

File tree

7 files changed

+16
-6
lines changed

7 files changed

+16
-6
lines changed

openedx/core/djangoapps/content_libraries/tasks.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from django.core.files.base import ContentFile
2828
from django.contrib.auth import get_user_model
2929
from django.core.serializers.json import DjangoJSONEncoder
30+
from django.conf import settings
3031
from celery import shared_task
3132
from celery.utils.log import get_task_logger
3233
from celery_utils.logged_task import LoggedTask
@@ -557,7 +558,9 @@ def backup_library(self, user_id: int, library_key_str: str) -> None:
557558
timestamp = datetime.now().strftime("%Y-%m-%d-%H%M%S")
558559
filename = f'{sanitized_lib_key}-{timestamp}.zip'
559560
file_path = os.path.join(root_dir, filename)
560-
create_lib_zip_file(lp_key=str(library_key), path=file_path)
561+
user = User.objects.get(id=user_id)
562+
origin_server = getattr(settings, 'CMS_BASE', None)
563+
create_lib_zip_file(lp_key=str(library_key), path=file_path, user=user, origin_server=origin_server)
561564
set_custom_attribute("exporting_completed", str(library_key))
562565

563566
with open(file_path, 'rb') as zipfile:

openedx/core/djangoapps/content_libraries/tests/test_tasks.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Unit tests for content libraries Celery tasks
33
"""
44

5+
from django.test import override_settings
56
from ..models import ContentLibrary
67
from .base import ContentLibrariesRestApiTest
78

@@ -28,13 +29,19 @@ def test_backup_task_returns_task_id(self):
2829
result = backup_library.delay(self.user.id, str(self.lib1.library_key))
2930
assert result.task_id is not None
3031

32+
@override_settings(CMS_BASE="test.com")
3133
def test_backup_task_success(self):
3234
result = backup_library.delay(self.user.id, str(self.lib1.library_key))
3335
assert result.state == 'SUCCESS'
3436
# Ensure an artifact was created with the output file
3537
artifact = UserTaskArtifact.objects.filter(status__task_id=result.task_id, name='Output').first()
3638
assert artifact is not None
3739
assert artifact.file.name.endswith('.zip')
40+
# test artifact content
41+
with artifact.file.open('rb') as f:
42+
content = f.read()
43+
assert b'created_by_email = "[email protected]"' in content
44+
assert b'origin_server = "test.com"' in content
3845

3946
def test_backup_task_failure(self):
4047
result = backup_library.delay(self.user.id, self.wrong_task_id)

requirements/constraints.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ numpy<2.0.0
6161
# Date: 2023-09-18
6262
# pinning this version to avoid updates while the library is being developed
6363
# Issue for unpinning: https://github.com/openedx/edx-platform/issues/35269
64-
openedx-learning==0.30.0
64+
openedx-learning==0.30.1
6565

6666
# Date: 2023-11-29
6767
# Open AI version 1.0.0 dropped support for openai.ChatCompletion which is currently in use in enterprise.

requirements/edx/base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ openedx-filters==2.1.0
842842
# ora2
843843
openedx-forum==0.3.8
844844
# via -r requirements/edx/kernel.in
845-
openedx-learning==0.30.0
845+
openedx-learning==0.30.1
846846
# via
847847
# -c requirements/constraints.txt
848848
# -r requirements/edx/kernel.in

requirements/edx/development.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1404,7 +1404,7 @@ openedx-forum==0.3.8
14041404
# via
14051405
# -r requirements/edx/doc.txt
14061406
# -r requirements/edx/testing.txt
1407-
openedx-learning==0.30.0
1407+
openedx-learning==0.30.1
14081408
# via
14091409
# -c requirements/constraints.txt
14101410
# -r requirements/edx/doc.txt

requirements/edx/doc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1020,7 +1020,7 @@ openedx-filters==2.1.0
10201020
# ora2
10211021
openedx-forum==0.3.8
10221022
# via -r requirements/edx/base.txt
1023-
openedx-learning==0.30.0
1023+
openedx-learning==0.30.1
10241024
# via
10251025
# -c requirements/constraints.txt
10261026
# -r requirements/edx/base.txt

requirements/edx/testing.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1066,7 +1066,7 @@ openedx-filters==2.1.0
10661066
# ora2
10671067
openedx-forum==0.3.8
10681068
# via -r requirements/edx/base.txt
1069-
openedx-learning==0.30.0
1069+
openedx-learning==0.30.1
10701070
# via
10711071
# -c requirements/constraints.txt
10721072
# -r requirements/edx/base.txt

0 commit comments

Comments
 (0)