diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d42ff7563a..415d6f2f92 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -17,6 +17,36 @@ Unreleased ---------- * nothing unreleased +[4.33.0] +-------- +* feat: Updated pagination for reporting configurations. + +[4.32.3] +-------- +* chore: Update python requirements. + +[4.32.2] +-------- +* fix: ensure admin_users in EnterpriseCustomerUserViewSet is correct. + +[4.32.1] +-------- +* feat: enable search filter on learner data transmission audit admin views for all integrated channels. + +[4.32.0] +-------- +* feat: create DefaultEnterpriseEnrollmentRealization objects in bulk enrollment API, when applicable. +* fix: Alter the realized_enrollment field in DefaultEnterpriseEnrollmentRealization to be a OneToOneField. +* fix: rename metadata field in DefaultEnterpriseEnrollmentIntentionLearnerStatusSerializer. + +[4.31.2] +-------- +* feat: add test cases for newly added unlink_self endpoint. + +[4.31.1] +-------- +* fix: fixed query for monthly_impact_report command. + [4.31.0] -------- * feat: add new endpoint to unlink the logged in user. diff --git a/enterprise/__init__.py b/enterprise/__init__.py index e1ddcb95b4..87be534dcb 100644 --- a/enterprise/__init__.py +++ b/enterprise/__init__.py @@ -2,4 +2,4 @@ Your project description goes here. """ -__version__ = "4.31.0" +__version__ = "4.33.0" diff --git a/enterprise/api/v1/serializers.py b/enterprise/api/v1/serializers.py index 0646b3b4f0..11791e0769 100644 --- a/enterprise/api/v1/serializers.py +++ b/enterprise/api/v1/serializers.py @@ -721,7 +721,7 @@ class Meta: ) user = UserSerializer() - enterprise_customer = EnterpriseCustomerSerializer() + enterprise_customer = serializers.SerializerMethodField() data_sharing_consent_records = serializers.SerializerMethodField() groups = serializers.SerializerMethodField() role_assignments = serializers.SerializerMethodField() @@ -756,6 +756,15 @@ def __init__(self, instance=None, data=empty, **kwargs): ) self.role_assignments_by_ecu_id = role_assignments_by_ecu_id + def get_enterprise_customer(self, obj): + """ + Return serialization of EnterpriseCustomer associated with the EnterpriseCustomerUser. + """ + return EnterpriseCustomerSerializer( + instance=obj.enterprise_customer, + context=self.context + ).data + def get_data_sharing_consent_records(self, obj): """ Return serialization of EnterpriseCustomerUser.data_sharing_consent_records property. @@ -1483,6 +1492,10 @@ class EnrollmentsInfoSerializer(serializers.Serializer): required=False, help_text='Enroll even if enrollment deadline is expired.', ) + is_default_auto_enrollment = serializers.BooleanField( + required=False, + help_text='Auto-enrollment for default enterprise enrollment intention.', + ) def create(self, validated_data): return validated_data @@ -2064,7 +2077,7 @@ def get_metadata(self, obj): # pylint: disable=unused-argument enrolled by the learner. """ return { - 'total_default_enterprise_course_enrollments': self.total_default_enrollment_intention_count(), + 'total_default_enterprise_enrollment_intentions': self.total_default_enrollment_intention_count(), 'total_needs_enrollment': self.needs_enrollment_counts(), 'total_already_enrolled': self.already_enrolled_count(), } diff --git a/enterprise/api/v1/views/default_enterprise_enrollments.py b/enterprise/api/v1/views/default_enterprise_enrollments.py index 2409317d73..f1fcb6ab2b 100644 --- a/enterprise/api/v1/views/default_enterprise_enrollments.py +++ b/enterprise/api/v1/views/default_enterprise_enrollments.py @@ -66,7 +66,7 @@ def base_queryset(self): For non-list actions, this is what's returned by `get_queryset()`. For list actions, some non-strict subset of this is what's returned by `get_queryset()`. """ - return models.DefaultEnterpriseEnrollmentIntention.objects.filter( + return models.DefaultEnterpriseEnrollmentIntention.available_objects.filter( enterprise_customer=self.requested_enterprise_customer_uuid, ) @@ -129,8 +129,10 @@ def learner_status(self, request): ) # Retrieve configured default enrollment intentions for the enterprise customer - default_enrollment_intentions_for_customer = models.DefaultEnterpriseEnrollmentIntention.objects.filter( - enterprise_customer=enterprise_customer_uuid, + default_enrollment_intentions_for_customer = ( + models.DefaultEnterpriseEnrollmentIntention.available_objects.filter( + enterprise_customer=enterprise_customer_uuid, + ) ) # Retrieve the course enrollments for the learner diff --git a/enterprise/api/v1/views/enterprise_customer_reporting.py b/enterprise/api/v1/views/enterprise_customer_reporting.py index c35783cce8..ff82aa48c7 100644 --- a/enterprise/api/v1/views/enterprise_customer_reporting.py +++ b/enterprise/api/v1/views/enterprise_customer_reporting.py @@ -6,6 +6,7 @@ from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication from rest_framework import permissions, status from rest_framework.authentication import SessionAuthentication +from rest_framework.pagination import PageNumberPagination from rest_framework.response import Response from rest_framework.status import HTTP_200_OK, HTTP_404_NOT_FOUND from rest_framework.views import APIView @@ -17,6 +18,14 @@ from enterprise.utils import get_enterprise_customer +class ExpandDefaultPageSize(PageNumberPagination): + """ + Expands page size for the API. + Used to populate large reporting configurations. + """ + page_size = 100 + + class EnterpriseCustomerReportingConfigurationViewSet(EnterpriseReadWriteModelViewSet): """ API views for the ``enterprise-customer-reporting`` API endpoint. @@ -26,6 +35,7 @@ class EnterpriseCustomerReportingConfigurationViewSet(EnterpriseReadWriteModelVi serializer_class = serializers.EnterpriseCustomerReportingConfigurationSerializer lookup_field = 'uuid' permission_classes = [permissions.IsAuthenticated] + pagination_class = ExpandDefaultPageSize USER_ID_FILTER = 'enterprise_customer__enterprise_customer_users__user_id' FIELDS = ( diff --git a/enterprise/management/commands/monthly_impact_report.py b/enterprise/management/commands/monthly_impact_report.py index 1ba85f7912..1866f729df 100644 --- a/enterprise/management/commands/monthly_impact_report.py +++ b/enterprise/management/commands/monthly_impact_report.py @@ -865,17 +865,17 @@ FROM ( SELECT - acc.integration_enterprise_uuid__c as uuid, - MAX(opp.contract_end_date__c) latest_contract_end_date + acc.integration_enterprise_uuid_c as uuid, + MAX(opp.contract_end_date_c) latest_contract_end_date FROM salesforce_prod_pii.opportunity as opp LEFT JOIN salesforce_prod_pii._account as acc ON - opp.accountid = acc.id + opp.account_id = acc.id WHERE -- only closed won contracts - opp.stagename = 'Closed Won' + opp.stage_name = 'Closed Won' GROUP BY 1 HAVING diff --git a/enterprise/migrations/0228_alter_defaultenterpriseenrollmentrealization_realized_enrollment.py b/enterprise/migrations/0228_alter_defaultenterpriseenrollmentrealization_realized_enrollment.py new file mode 100644 index 0000000000..c4f93d4f50 --- /dev/null +++ b/enterprise/migrations/0228_alter_defaultenterpriseenrollmentrealization_realized_enrollment.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.16 on 2024-10-29 21:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('enterprise', '0227_alter_defaultenterpriseenrollmentintention_content_type_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='defaultenterpriseenrollmentrealization', + name='realized_enrollment', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='enterprise.enterprisecourseenrollment'), + ), + ] diff --git a/enterprise/models.py b/enterprise/models.py index e651866100..2d477e8fd1 100644 --- a/enterprise/models.py +++ b/enterprise/models.py @@ -2124,6 +2124,17 @@ def learner_credit_fulfillment(self): associated_fulfillment = None return associated_fulfillment + @property + def default_enterprise_enrollment_realization(self): + """ + Returns the default realization for the enterprise enrollment. + """ + try: + associated_realization = self.defaultenterpriseenrollmentrealization_realized_enrollment # pylint: disable=no-member + except DefaultEnterpriseEnrollmentRealization.DoesNotExist: + associated_realization = None + return associated_realization + @property def fulfillments(self): """ @@ -2708,7 +2719,7 @@ class DefaultEnterpriseEnrollmentRealization(TimeStampedModel): DefaultEnterpriseEnrollmentIntention, on_delete=models.CASCADE, ) - realized_enrollment = models.ForeignKey( + realized_enrollment = models.OneToOneField( EnterpriseCourseEnrollment, on_delete=models.CASCADE, ) diff --git a/enterprise/utils.py b/enterprise/utils.py index b0e904abf7..07370c950c 100644 --- a/enterprise/utils.py +++ b/enterprise/utils.py @@ -742,6 +742,20 @@ def pending_enterprise_customer_admin_user_model(): return apps.get_model('enterprise', 'PendingEnterpriseCustomerAdminUser') +def default_enterprise_enrollment_intention_model(): + """ + Returns the ``DefaultEnterpriseEnrollmentIntention`` class. + """ + return apps.get_model('enterprise', 'DefaultEnterpriseEnrollmentIntention') + + +def default_enterprise_enrollment_realization_model(): + """ + Returns the ``DefaultEnterpriseEnrollmentRealization`` class. + """ + return apps.get_model('enterprise', 'DefaultEnterpriseEnrollmentRealization') + + def get_enterprise_customer(uuid): """ Get the ``EnterpriseCustomer`` instance associated with ``uuid``. @@ -1816,14 +1830,15 @@ def enroll_user(enterprise_customer, user, course_mode, *course_ids, **kwargs): def customer_admin_enroll_user_with_status( - enterprise_customer, - user, - course_mode, - course_id, - enrollment_source=None, - license_uuid=None, - transaction_id=None, - force_enrollment=False, + enterprise_customer, + user, + course_mode, + course_id, + enrollment_source=None, + license_uuid=None, + transaction_id=None, + force_enrollment=False, + is_default_auto_enrollment=False, ): """ For use with bulk enrollment, or any use case of admin enrolling a user @@ -1910,6 +1925,12 @@ def customer_admin_enroll_user_with_status( licensed_enrollment_obj.uuid, license_uuid, ) enterprise_fulfillment_source_uuid = licensed_enrollment_obj.uuid + + if is_default_auto_enrollment: + # Check for default enterprise enrollment intentions for enterprise customer associated + # with the enrollment, and create a default enterprise enrollment realization if necessary. + check_default_enterprise_enrollment_intentions_and_create_realization(enterprise_course_enrollment=obj) + if created: # Note: this tracking event only caters to bulk enrollment right now. track_enrollment(PATHWAY_CUSTOMER_ADMIN_ENROLLMENT, user.id, course_id) @@ -1920,6 +1941,50 @@ def customer_admin_enroll_user_with_status( return succeeded, created, enterprise_fulfillment_source_uuid +def check_default_enterprise_enrollment_intentions_and_create_realization(enterprise_course_enrollment): + """ + Check if there are any default enrollment intentions for the given enterprise customer, + and create corresponding realizations if they do not exist. + """ + enterprise_customer_uuid = enterprise_course_enrollment.enterprise_customer_user.enterprise_customer.uuid + default_enrollment_intentions_for_customer = ( + default_enterprise_enrollment_intention_model().available_objects.filter( + enterprise_customer=enterprise_customer_uuid, + ) + ) + default_enterprise_enrollment_intention = next( + ( + intention for intention in default_enrollment_intentions_for_customer + if intention.course_run_key == enterprise_course_enrollment.course_id + ), + None + ) + + if not default_enterprise_enrollment_intention: + LOGGER.info( + "No default enrollment intention found for enterprise course enrollment %s", + enterprise_course_enrollment.id + ) + return None + + default_enterprise_enrollment_realization, created = ( + default_enterprise_enrollment_realization_model().objects.get_or_create( + intended_enrollment=default_enterprise_enrollment_intention, + realized_enrollment=enterprise_course_enrollment, + ) + ) + + if created: + LOGGER.info( + "Created default enterprise enrollment realization for default enrollment " + "intention %s and enterprise course enrollment %s", + default_enterprise_enrollment_intention.uuid, + enterprise_course_enrollment.id + ) + + return default_enterprise_enrollment_intention, default_enterprise_enrollment_realization + + def customer_admin_enroll_user(enterprise_customer, user, course_mode, course_id, enrollment_source=None): """ For use with bulk enrollment, or any use case of admin enrolling a user @@ -2006,10 +2071,12 @@ def enroll_subsidy_users_in_courses(enterprise_customer, subsidy_users_info, dis * 'course_mode': The course mode. * 'license_uuid' OR 'transaction_id': ID of either accepted form of subsidy. * 'force_enrollment' (bool, optional): Enroll user even enrollment deadline is expired (default False). + * 'is_default_auto_enrollment' (bool, optional): If True, a related default enterprise enrollment + realization will be created (default False). Example:: - licensed_users_info: [ + subsidy_users_info: [ { 'email': 'newuser@test.com', 'course_run_key': 'course-v1:edX+DemoX+Demo_Course', @@ -2029,6 +2096,7 @@ def enroll_subsidy_users_in_courses(enterprise_customer, subsidy_users_info, dis 'transaction_id': '3a5312d722564db0a16e3d81f53a3718', }, ] + discount: (int) the discount offered to the learner for their enrollment. Subscription based enrollments default to 100 @@ -2057,6 +2125,7 @@ def enroll_subsidy_users_in_courses(enterprise_customer, subsidy_users_info, dis transaction_id = subsidy_user_info.get('transaction_id') activation_link = subsidy_user_info.get('activation_link') force_enrollment = subsidy_user_info.get('force_enrollment', False) + is_default_auto_enrollment = subsidy_user_info.get('is_default_auto_enrollment', False) if user_id and user_email: user = User.objects.filter(id=subsidy_user_info['user_id']).first() @@ -2088,6 +2157,7 @@ def enroll_subsidy_users_in_courses(enterprise_customer, subsidy_users_info, dis license_uuid, transaction_id, force_enrollment=force_enrollment, + is_default_auto_enrollment=is_default_auto_enrollment, ) if succeeded: success_dict = { diff --git a/integrated_channels/blackboard/admin/__init__.py b/integrated_channels/blackboard/admin/__init__.py index 5db9403257..4c15ebbf45 100644 --- a/integrated_channels/blackboard/admin/__init__.py +++ b/integrated_channels/blackboard/admin/__init__.py @@ -132,6 +132,14 @@ class BlackboardLearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAud "api_record", ) + search_fields = ( + "blackboard_user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/integrated_channels/canvas/admin/__init__.py b/integrated_channels/canvas/admin/__init__.py index 5625b0d61f..c276cc23d6 100644 --- a/integrated_channels/canvas/admin/__init__.py +++ b/integrated_channels/canvas/admin/__init__.py @@ -116,6 +116,14 @@ class CanvasLearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAuditAd "api_record", ) + search_fields = ( + "canvas_user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/integrated_channels/cornerstone/admin/__init__.py b/integrated_channels/cornerstone/admin/__init__.py index cb9c791e49..5b834be200 100644 --- a/integrated_channels/cornerstone/admin/__init__.py +++ b/integrated_channels/cornerstone/admin/__init__.py @@ -126,6 +126,14 @@ class CornerstoneLearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAu "api_record", ) + search_fields = ( + "user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + class Meta: model = CornerstoneLearnerDataTransmissionAudit diff --git a/integrated_channels/degreed/admin/__init__.py b/integrated_channels/degreed/admin/__init__.py index 78897bf087..9dd83dd802 100644 --- a/integrated_channels/degreed/admin/__init__.py +++ b/integrated_channels/degreed/admin/__init__.py @@ -124,6 +124,14 @@ class DegreedLearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAuditA "api_record", ) + search_fields = ( + "degreed_user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/integrated_channels/degreed2/admin/__init__.py b/integrated_channels/degreed2/admin/__init__.py index d883d051a1..821e1b63e8 100644 --- a/integrated_channels/degreed2/admin/__init__.py +++ b/integrated_channels/degreed2/admin/__init__.py @@ -104,6 +104,14 @@ class Degreed2LearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAudit "api_record", ) + search_fields = ( + "degreed_user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/integrated_channels/integrated_channel/exporters/content_metadata.py b/integrated_channels/integrated_channel/exporters/content_metadata.py index 5b077f0d7e..61369d309d 100644 --- a/integrated_channels/integrated_channel/exporters/content_metadata.py +++ b/integrated_channels/integrated_channel/exporters/content_metadata.py @@ -632,6 +632,7 @@ def _transform_item(self, content_metadata_item, action): getattr(self, f'transform_for_action_{edx_data_schema_key}', None) ) + # pylint: disable=not-callable if transformer: transformed_value = transformer(content_metadata_item) elif transformer_for_action: diff --git a/integrated_channels/moodle/admin/__init__.py b/integrated_channels/moodle/admin/__init__.py index 44c11cb02c..ab2c02a293 100644 --- a/integrated_channels/moodle/admin/__init__.py +++ b/integrated_channels/moodle/admin/__init__.py @@ -96,6 +96,14 @@ class MoodleLearnerDataTransmissionAuditAdmin(BaseLearnerDataTransmissionAuditAd "api_record", ) + search_fields = ( + "moodle_user_email", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/integrated_channels/sap_success_factors/admin/__init__.py b/integrated_channels/sap_success_factors/admin/__init__.py index 81e84f90b4..e24ce0f174 100644 --- a/integrated_channels/sap_success_factors/admin/__init__.py +++ b/integrated_channels/sap_success_factors/admin/__init__.py @@ -173,6 +173,14 @@ class SapSuccessFactorsLearnerDataTransmissionAuditAdmin( "api_record", ) + search_fields = ( + "sapsf_user_id", + "enterprise_course_enrollment_id", + "course_id", + "content_title", + "friendly_status_message" + ) + list_per_page = 1000 class Meta: diff --git a/requirements/celery53.txt b/requirements/celery53.txt index 583b3aed78..f429cad2c4 100644 --- a/requirements/celery53.txt +++ b/requirements/celery53.txt @@ -1,9 +1,9 @@ -amqp==5.2.0 +amqp==5.3.1 billiard==4.2.1 celery==5.4.0 click==8.1.7 click-didyoumean==0.3.1 click-repl==0.3.0 kombu==5.4.2 -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 9232b114e6..eaa5c1ca45 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,13 +4,13 @@ # # make upgrade # -distlib==0.3.8 +distlib==0.3.9 # via virtualenv filelock==3.16.1 # via # tox # virtualenv -packaging==24.1 +packaging==24.2 # via tox platformdirs==4.3.6 # via virtualenv @@ -22,7 +22,7 @@ six==1.16.0 # via tox tox==3.28.0 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/ci.in -virtualenv==20.26.5 +virtualenv==20.27.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 8b10b353a8..84139d6603 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -12,7 +12,6 @@ # Note: Changes to this file will automatically be used by other repos, referencing # this file from Github directly. It does not require packaging in edx-lint. - # using LTS django version Django<5.0 @@ -23,9 +22,6 @@ elasticsearch<7.14.0 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected -# Cause: https://github.com/openedx/event-tracking/pull/290 -# event-tracking 2.4.1 upgrades to pymongo 4.4.0 which is not supported on edx-platform. -# We will pin event-tracking to do not break existing installations -# This can be unpinned once https://github.com/openedx/edx-platform/issues/34586 -# has been resolved and edx-platform is running with pymongo>=4.4.0 -event-tracking<2.4.1 +# Cause: https://github.com/openedx/edx-lint/issues/458 +# This can be unpinned once https://github.com/openedx/edx-lint/issues/459 has been resolved. +pip<24.3 diff --git a/requirements/dev.txt b/requirements/dev.txt index 4ec1294a50..af722c36a6 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -6,132 +6,132 @@ # accessible-pygments==0.0.5 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # pydata-sphinx-theme -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp -aiohttp==3.10.5 +aiohttp==3.10.10 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # openai aiosignal==1.3.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp alabaster==1.0.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx -amqp==5.2.0 +amqp==5.3.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # kombu aniso8601==9.0.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-tincan-py35 asgiref==3.8.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django # django-countries asn1crypto==1.5.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # snowflake-connector-python -astroid==3.3.3 +astroid==3.3.5 # via # pylint # pylint-celery attrs==24.2.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp # openedx-events # pytest babel==2.16.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # pydata-sphinx-theme # sphinx bcrypt==4.2.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # paramiko beautifulsoup4==4.12.3 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # pydata-sphinx-theme billiard==4.2.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery bleach==6.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -build==1.2.2 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +build==1.2.2.post1 # via pip-tools celery==5.4.0 # via - # -c requirements/constraints.txt - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -certifi==2024.7.4 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +certifi==2024.8.30 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # requests # snowflake-connector-python -cffi==1.17.0 +cffi==1.17.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # cryptography # pynacl # snowflake-connector-python chardet==5.2.0 # via - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # diff-cover charset-normalizer==2.0.12 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # requests # snowflake-connector-python click==8.1.7 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery # click-didyoumean # click-log @@ -143,40 +143,40 @@ click==8.1.7 # pip-tools click-didyoumean==0.3.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery click-log==0.4.0 # via edx-lint click-plugins==1.1.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery click-repl==0.3.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery code-annotations==1.8.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-lint # edx-toggles -coverage[toml]==7.6.1 +coverage[toml]==7.6.7 # via - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pytest-cov -cryptography==42.0.8 +cryptography==43.0.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-fernet-fields-v2 # jwcrypto # paramiko @@ -185,25 +185,25 @@ cryptography==42.0.8 # pyopenssl # snowflake-connector-python ddt==1.3.1 - # via -r requirements/test.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt defusedxml==0.7.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # djangorestframework-xml diff-cover==9.2.0 - # via -r requirements/test.txt -dill==0.3.8 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +dill==0.3.9 # via pylint -distlib==0.3.8 +distlib==0.3.9 # via virtualenv -django==4.2.15 +django==4.2.16 # via - # -c requirements/common_constraints.txt - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/common_constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-config-models # django-crum # django-fernet-fields-v2 @@ -225,82 +225,82 @@ django==4.2.15 # openedx-events django-cache-memoize==0.2.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-config-models==2.7.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-countries==7.6.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-crum==0.7.9 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-django-utils # edx-rbac # edx-toggles django-fernet-fields-v2==0.9 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-filter==24.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-ipware==7.0.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -django-model-utils==4.5.1 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +django-model-utils==5.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-rbac django-multi-email-field==0.7.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-oauth-toolkit==1.7.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -django-object-actions==4.2.0 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +django-object-actions==4.3.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-simple-history==3.1.1 # via - # -c requirements/constraints.txt - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt django-waffle==4.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-django-utils # edx-drf-extensions # edx-toggles djangorestframework==3.14.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-config-models # drf-jwt # drf-yasg @@ -308,20 +308,20 @@ djangorestframework==3.14.0 # edx-drf-extensions djangorestframework-xml==2.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -dnspython==2.6.1 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +dnspython==2.7.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pymongo doc8==1.1.2 - # via -r requirements/doc.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt docutils==0.21.2 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # doc8 # pydata-sphinx-theme # readme-renderer @@ -329,137 +329,137 @@ docutils==0.21.2 # sphinx drf-jwt==1.19.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-drf-extensions -drf-yasg==1.21.7 +drf-yasg==1.21.8 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-api-doc-tools -edx-api-doc-tools==1.8.0 +edx-api-doc-tools==2.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt edx-braze-client==0.2.5 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt edx-ccx-keys==1.3.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # openedx-events -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-config-models # edx-drf-extensions # edx-rest-api-client # edx-toggles # openedx-events -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.5.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-rbac edx-i18n-tools==1.6.3 # via -r requirements/dev.in -edx-lint==5.4.0 +edx-lint==5.4.1 # via -r requirements/dev.in edx-opaque-keys[django]==2.11.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-ccx-keys # edx-drf-extensions # openedx-events -edx-rbac==1.9.0 +edx-rbac==1.10.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -edx-rest-api-client==5.7.1 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +edx-rest-api-client==6.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt edx-tincan-py35==1.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt edx-toggles==5.2.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt factory-boy==3.3.1 # via - # -c requirements/constraints.txt - # -r requirements/doc.txt - # -r requirements/test.txt -faker==29.0.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +faker==33.0.0 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # factory-boy -fastavro==1.9.5 +fastavro==1.9.7 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # openedx-events -filelock==3.15.4 +filelock==3.16.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # snowflake-connector-python # tox # virtualenv freezegun==0.3.14 # via - # -c requirements/constraints.txt - # -r requirements/test.txt -frozenlist==1.4.1 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +frozenlist==1.5.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp # aiosignal -idna==3.7 +idna==3.10 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # requests # snowflake-connector-python # yarl imagesize==1.4.1 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx inflection==0.5.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # drf-yasg iniconfig==2.0.0 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pytest isort==5.13.2 # via @@ -467,193 +467,198 @@ isort==5.13.2 # pylint jinja2==3.1.4 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # code-annotations # diff-cover # sphinx -jsondiff==2.2.0 +jsondiff==2.2.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt jsonfield==3.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt jwcrypto==1.5.6 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-oauth-toolkit kombu==5.4.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery lxml[html-clean,html_clean]==5.3.0 # via # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.2.2 +lxml-html-clean==0.4.1 # via lxml -markupsafe==2.1.5 +markupsafe==3.0.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # jinja2 mccabe==0.7.0 # via pylint mock==3.0.5 # via - # -c requirements/constraints.txt - # -r requirements/test.txt -multidict==6.0.5 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +multidict==6.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp # yarl -newrelic==9.13.0 +newrelic==10.2.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-django-utils nh3==0.2.18 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # readme-renderer oauthlib==3.2.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-oauth-toolkit openai==0.28.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -openedx-events==9.14.0 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +openedx-events==9.15.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt packaging==24.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # build # drf-yasg - # pydata-sphinx-theme # pytest # snowflake-connector-python # sphinx # tox -paramiko==3.4.1 +paramiko==3.5.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt path==16.11.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-i18n-tools # path-py path-py==12.5.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -pbr==6.0.0 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +pbr==6.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # stevedore pgpy==0.6.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt -pillow==10.4.0 + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt +pillow==11.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt pip-tools==7.4.1 # via -r requirements/dev.in -pkginfo==1.11.1 +pkginfo==1.11.2 # via twine -platformdirs==4.2.2 +platformdirs==4.3.6 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pylint # snowflake-connector-python # virtualenv pluggy==1.5.0 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # diff-cover # pytest # tox polib==1.2.0 # via edx-i18n-tools -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # click-repl -psutil==6.0.0 +propcache==0.2.0 + # via + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt + # yarl +psutil==6.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-django-utils py==1.11.0 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pytest # tox -pyasn1==0.6.0 +pyasn1==0.6.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pgpy pycodestyle==2.12.1 # via -r requirements/dev.in pycparser==2.22 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # cffi -pydata-sphinx-theme==0.15.4 +pydata-sphinx-theme==0.16.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx-book-theme pydocstyle==6.3.0 # via -r requirements/dev.in pygments==2.18.0 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # accessible-pygments # diff-cover # doc8 @@ -662,14 +667,14 @@ pygments==2.18.0 # sphinx pyjwt[crypto]==2.9.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # drf-jwt # edx-drf-extensions # edx-rest-api-client # snowflake-connector-python -pylint==3.3.0 +pylint==3.3.1 # via # edx-lint # pylint-celery @@ -677,7 +682,7 @@ pylint==3.3.0 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.5 +pylint-django==2.6.1 # via edx-lint pylint-plugin-utils==0.8.2 # via @@ -685,83 +690,83 @@ pylint-plugin-utils==0.8.2 # pylint-django pymongo==4.4.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-opaque-keys pynacl==1.5.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-django-utils # paramiko pyopenssl==24.2.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # snowflake-connector-python -pyproject-hooks==1.1.0 +pyproject-hooks==1.2.0 # via # build # pip-tools pytest==6.2.5 # via - # -c requirements/constraints.txt - # -r requirements/doc.txt - # -r requirements/test.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pytest-cov # pytest-django -pytest-cov==5.0.0 - # via -r requirements/test.txt +pytest-cov==6.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt pytest-django==4.5.2 - # via -r requirements/test.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt python-dateutil==2.9.0.post0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery # faker # freezegun python-ipware==3.0.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-ipware python-slugify==8.0.4 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # code-annotations -pytz==2024.1 +pytz==2024.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # djangorestframework # drf-yasg # edx-tincan-py35 # snowflake-connector-python pyyaml==6.0.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # code-annotations # drf-yasg # edx-i18n-tools # jsondiff readme-renderer==44.0 - # via -r requirements/doc.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt requests==2.32.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-oauth-toolkit # edx-drf-extensions # edx-rest-api-client @@ -776,28 +781,28 @@ requests-toolbelt==1.0.0 # via twine responses==0.10.15 # via - # -c requirements/constraints.txt - # -r requirements/test.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt restructuredtext-lint==1.4.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # doc8 -rules==3.4 +rules==3.5 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt semantic-version==2.10.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # edx-drf-extensions six==1.16.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # bleach # edx-ccx-keys # edx-lint @@ -809,178 +814,178 @@ six==1.16.0 # tox slumber==0.7.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt - # edx-rest-api-client + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt snowballstemmer==2.2.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # pydocstyle # sphinx -snowflake-connector-python==3.12.0 +snowflake-connector-python==3.12.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt sortedcontainers==2.4.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # snowflake-connector-python soupsieve==2.6 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # beautifulsoup4 -sphinx==8.0.2 +sphinx==8.1.3 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # pydata-sphinx-theme # sphinx-book-theme sphinx-book-theme==1.1.3 - # via -r requirements/doc.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt sphinxcontrib-applehelp==2.0.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sphinxcontrib-devhelp==2.0.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sphinxcontrib-htmlhelp==2.1.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sphinxcontrib-jsmath==1.0.1 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sphinxcontrib-qthelp==2.0.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sphinxcontrib-serializinghtml==2.0.0 # via - # -r requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt # sphinx sqlparse==0.5.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # code-annotations # doc8 # edx-django-utils # edx-opaque-keys testfixtures==8.3.0 # via + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # -r requirements/dev.in - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt text-unidecode==1.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # python-slugify toml==0.10.2 # via - # -r requirements/doc.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pytest tomlkit==0.13.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # pylint # snowflake-connector-python tox==3.28.0 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/dev.in -tqdm==4.66.5 +tqdm==4.66.6 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # openai # twine twine==1.11.0 # via -r requirements/dev.in typing-extensions==4.12.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # django-countries # edx-opaque-keys + # faker # jwcrypto # pydata-sphinx-theme # snowflake-connector-python -tzdata==2024.1 +tzdata==2024.2 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # celery # kombu unicodecsv==0.14.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt uritemplate==4.1.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # drf-yasg -urllib3==1.26.19 +urllib3==2.2.3 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # requests vine==5.1.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # amqp # celery # kombu -virtualenv==20.26.5 +virtualenv==20.27.1 # via tox wcwidth==0.2.13 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # prompt-toolkit webencodings==0.5.1 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # bleach -wheel==0.44.0 +wheel==0.45.0 # via # -r requirements/dev.in # pip-tools -yarl==1.9.4 +yarl==1.17.0 # via - # -r requirements/doc.txt - # -r requirements/test-master.txt - # -r requirements/test.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/doc.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test.txt # aiohttp # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/django.txt b/requirements/django.txt index 16bc98be52..64aaf996fb 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==4.2.15 +django==4.2.16 diff --git a/requirements/doc.txt b/requirements/doc.txt index 5667f7f31f..b28df822ea 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -6,40 +6,40 @@ # accessible-pygments==0.0.5 # via pydata-sphinx-theme -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp -aiohttp==3.10.5 +aiohttp==3.10.10 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openai aiosignal==1.3.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp alabaster==1.0.0 # via sphinx -amqp==5.2.0 +amqp==5.3.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # kombu aniso8601==9.0.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-tincan-py35 asgiref==3.8.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django # django-countries asn1crypto==1.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python attrs==24.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # openedx-events # pytest @@ -49,39 +49,39 @@ babel==2.16.0 # sphinx bcrypt==4.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # paramiko beautifulsoup4==4.12.3 # via pydata-sphinx-theme billiard==4.2.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery bleach==6.1.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt celery==5.4.0 # via - # -c requirements/constraints.txt - # -r requirements/test-master.txt -certifi==2024.7.4 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +certifi==2024.8.30 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python -cffi==1.17.0 +cffi==1.17.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # cryptography # pynacl # snowflake-connector-python charset-normalizer==2.0.12 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python click==8.1.7 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # click-didyoumean # click-plugins @@ -90,23 +90,23 @@ click==8.1.7 # edx-django-utils click-didyoumean==0.3.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery click-plugins==1.1.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery click-repl==0.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery code-annotations==1.8.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-toggles -cryptography==42.0.8 +cryptography==43.0.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-fernet-fields-v2 # jwcrypto # paramiko @@ -116,12 +116,12 @@ cryptography==42.0.8 # snowflake-connector-python defusedxml==0.7.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # djangorestframework-xml -django==4.2.15 +django==4.2.16 # via - # -c requirements/common_constraints.txt - # -r requirements/test-master.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/common_constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # django-crum # django-fernet-fields-v2 @@ -141,56 +141,56 @@ django==4.2.15 # jsonfield # openedx-events django-cache-memoize==0.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-config-models==2.7.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-countries==7.6.1 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-crum==0.7.9 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # edx-rbac # edx-toggles django-fernet-fields-v2==0.9 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-filter==24.3 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-ipware==7.0.1 - # via -r requirements/test-master.txt -django-model-utils==4.5.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +django-model-utils==5.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-rbac django-multi-email-field==0.7.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-oauth-toolkit==1.7.1 - # via -r requirements/test-master.txt -django-object-actions==4.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +django-object-actions==4.3.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-simple-history==3.1.1 # via - # -c requirements/constraints.txt - # -r requirements/test-master.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-waffle==4.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # edx-drf-extensions # edx-toggles djangorestframework==3.14.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # drf-jwt # drf-yasg # edx-api-doc-tools # edx-drf-extensions djangorestframework-xml==2.0.0 - # via -r requirements/test-master.txt -dnspython==2.6.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +dnspython==2.7.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # pymongo doc8==1.1.2 # via -r requirements/doc.in @@ -204,68 +204,68 @@ docutils==0.21.2 # sphinx drf-jwt==1.19.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-drf-extensions -drf-yasg==1.21.7 +drf-yasg==1.21.8 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-api-doc-tools -edx-api-doc-tools==1.8.0 - # via -r requirements/test-master.txt +edx-api-doc-tools==2.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-braze-client==0.2.5 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-ccx-keys==1.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openedx-events -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # edx-drf-extensions # edx-rest-api-client # edx-toggles # openedx-events -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-rbac edx-opaque-keys[django]==2.11.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-ccx-keys # edx-drf-extensions # openedx-events -edx-rbac==1.9.0 - # via -r requirements/test-master.txt -edx-rest-api-client==5.7.1 - # via -r requirements/test-master.txt +edx-rbac==1.10.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +edx-rest-api-client==6.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-tincan-py35==1.0.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-toggles==5.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt factory-boy==3.3.1 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/doc.in -faker==29.0.0 +faker==33.0.0 # via factory-boy -fastavro==1.9.5 +fastavro==1.9.7 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openedx-events -filelock==3.15.4 +filelock==3.16.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python -frozenlist==1.4.1 +frozenlist==1.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # aiosignal -idna==3.7 +idna==3.10 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python # yarl @@ -273,99 +273,102 @@ imagesize==1.4.1 # via sphinx inflection==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg iniconfig==2.0.0 # via pytest jinja2==3.1.4 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # sphinx -jsondiff==2.2.0 - # via -r requirements/test-master.txt +jsondiff==2.2.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt jsonfield==3.1.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt jwcrypto==1.5.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit kombu==5.4.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery -markupsafe==2.1.5 +markupsafe==3.0.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # jinja2 -multidict==6.0.5 +multidict==6.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # yarl -newrelic==9.13.0 +newrelic==10.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils nh3==0.2.18 # via readme-renderer oauthlib==3.2.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit openai==0.28.1 - # via -r requirements/test-master.txt -openedx-events==9.14.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +openedx-events==9.15.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt packaging==24.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg - # pydata-sphinx-theme # pytest # snowflake-connector-python # sphinx -paramiko==3.4.1 - # via -r requirements/test-master.txt +paramiko==3.5.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt path==16.11.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # path-py path-py==12.5.0 - # via -r requirements/test-master.txt -pbr==6.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +pbr==6.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # stevedore pgpy==0.6.0 - # via -r requirements/test-master.txt -pillow==10.4.0 - # via -r requirements/test-master.txt -platformdirs==4.2.2 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +pillow==11.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +platformdirs==4.3.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # click-repl -psutil==6.0.0 +propcache==0.2.0 + # via + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # yarl +psutil==6.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils py==1.11.0 # via pytest -pyasn1==0.6.0 +pyasn1==0.6.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # pgpy pycparser==2.22 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # cffi -pydata-sphinx-theme==0.15.4 +pydata-sphinx-theme==0.16.0 # via sphinx-book-theme pygments==2.18.0 # via @@ -376,51 +379,51 @@ pygments==2.18.0 # sphinx pyjwt[crypto]==2.9.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-jwt # edx-drf-extensions # edx-rest-api-client # snowflake-connector-python pymongo==4.4.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-opaque-keys pynacl==1.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # paramiko pyopenssl==24.2.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python pytest==6.2.5 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/doc.in python-dateutil==2.9.0.post0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # faker python-ipware==3.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-ipware python-slugify==8.0.4 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations -pytz==2024.1 +pytz==2024.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # djangorestframework # drf-yasg # edx-tincan-py35 # snowflake-connector-python pyyaml==6.0.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # drf-yasg # jsondiff @@ -428,7 +431,7 @@ readme-renderer==44.0 # via -r requirements/doc.in requests==2.32.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit # edx-drf-extensions # edx-rest-api-client @@ -438,34 +441,32 @@ requests==2.32.3 # sphinx restructuredtext-lint==1.4.0 # via doc8 -rules==3.4 - # via -r requirements/test-master.txt +rules==3.5 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt semantic-version==2.10.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-drf-extensions six==1.16.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # bleach # edx-ccx-keys # edx-rbac # python-dateutil slumber==0.7.1 - # via - # -r requirements/test-master.txt - # edx-rest-api-client + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt snowballstemmer==2.2.0 # via sphinx -snowflake-connector-python==3.12.0 - # via -r requirements/test-master.txt +snowflake-connector-python==3.12.3 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt sortedcontainers==2.4.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python soupsieve==2.6 # via beautifulsoup4 -sphinx==8.0.2 +sphinx==8.1.3 # via # -r requirements/doc.in # pydata-sphinx-theme @@ -486,71 +487,72 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx sqlparse==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # doc8 # edx-django-utils # edx-opaque-keys testfixtures==8.3.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt text-unidecode==1.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # python-slugify toml==0.10.2 # via pytest tomlkit==0.13.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python -tqdm==4.66.5 +tqdm==4.66.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openai typing-extensions==4.12.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-countries # edx-opaque-keys + # faker # jwcrypto # pydata-sphinx-theme # snowflake-connector-python -tzdata==2024.1 +tzdata==2024.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # kombu unicodecsv==0.14.1 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt uritemplate==4.1.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg -urllib3==1.26.19 +urllib3==2.2.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests vine==5.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # amqp # celery # kombu wcwidth==0.2.13 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # prompt-toolkit webencodings==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # bleach -yarl==1.9.4 +yarl==1.17.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/edx-platform-constraints.txt b/requirements/edx-platform-constraints.txt index b9d3f075ec..a316d03a84 100644 --- a/requirements/edx-platform-constraints.txt +++ b/requirements/edx-platform-constraints.txt @@ -6,11 +6,11 @@ # make upgrade # # via -r requirements/edx/github.in -acid-xblock==0.3.1 +acid-xblock==0.4.1 # via -r requirements/edx/kernel.in -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 # via aiohttp -aiohttp==3.10.5 +aiohttp==3.10.10 # via # geoip2 # openai @@ -68,13 +68,13 @@ bleach[css]==6.1.0 # xblock-poll boto==2.49.0 # via -r requirements/edx/kernel.in -boto3==1.35.1 +boto3==1.35.50 # via # -r requirements/edx/kernel.in # django-ses # fs-s3fs # ora2 -botocore==1.35.1 +botocore==1.35.50 # via # -r requirements/edx/kernel.in # boto3 @@ -85,7 +85,7 @@ cachecontrol==0.14.0 # via firebase-admin cachetools==5.5.0 # via google-auth -camel-converter[pydantic]==3.1.2 +camel-converter[pydantic]==4.0.1 # via meilisearch # via # -c requirements/edx/../constraints.txt @@ -96,14 +96,14 @@ camel-converter[pydantic]==3.1.2 # edx-enterprise # event-tracking # openedx-learning -certifi==2024.7.4 +certifi==2024.8.30 # via # -r requirements/edx/paver.txt # elasticsearch # py2neo # requests # snowflake-connector-python -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -138,9 +138,9 @@ code-annotations==1.8.0 # edx-toggles codejail-includes==1.0.0 # via -r requirements/edx/kernel.in -crowdsourcehinter-xblock==0.7 +crowdsourcehinter-xblock==0.8 # via -r requirements/edx/bundled.in -cryptography==42.0.8 +cryptography==43.0.3 # via # -r requirements/edx/kernel.in # django-fernet-fields-v2 @@ -162,7 +162,7 @@ defusedxml==0.7.1 # ora2 # python3-openid # social-auth-core -django==4.2.15 +django==4.2.16 # via # -c requirements/edx/../common_constraints.txt # -c requirements/edx/../constraints.txt @@ -247,7 +247,7 @@ django-config-models==2.7.0 # edx-enterprise # edx-name-affirmation # lti-consumer-xblock -django-cors-headers==4.4.0 +django-cors-headers==4.5.0 # via -r requirements/edx/kernel.in django-countries==7.6.1 # via @@ -277,7 +277,7 @@ django-js-asset==2.2.0 # via django-mptt django-method-override==1.0.4 # via -r requirements/edx/kernel.in -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # -r requirements/edx/kernel.in # django-user-tasks @@ -307,7 +307,7 @@ django-oauth-toolkit==1.7.1 # -c requirements/edx/../constraints.txt # -r requirements/edx/kernel.in # edx-enterprise -django-object-actions==4.2.0 +django-object-actions==4.3.0 django-pipeline==3.1.0 # via -r requirements/edx/kernel.in django-push-notifications==3.1.0 @@ -318,7 +318,7 @@ django-sekizai==4.1.0 # via # -r requirements/edx/kernel.in # openedx-django-wiki -django-ses==4.1.0 +django-ses==4.2.0 # via -r requirements/edx/bundled.in # via # -c requirements/edx/../constraints.txt @@ -375,27 +375,27 @@ djangorestframework==3.14.0 # ora2 # super-csv djangorestframework-xml==2.0.0 -dnspython==2.6.1 +dnspython==2.7.0 # via # -r requirements/edx/paver.txt # pymongo -done-xblock==2.3.0 +done-xblock==2.4.0 # via -r requirements/edx/bundled.in drf-jwt==1.19.2 # via edx-drf-extensions drf-spectacular==0.27.2 # via -r requirements/edx/kernel.in -drf-yasg==1.21.7 +drf-yasg==1.21.8 # via # django-user-tasks # edx-api-doc-tools -edx-ace==1.11.1 +edx-ace==1.11.3 # via -r requirements/edx/kernel.in -edx-api-doc-tools==1.8.0 +edx-api-doc-tools==2.0.0 # via # -r requirements/edx/kernel.in # edx-name-affirmation -edx-auth-backends==4.3.0 +edx-auth-backends==4.4.0 # via -r requirements/edx/kernel.in edx-braze-client==0.2.5 # via @@ -415,9 +415,9 @@ edx-celeryutils==1.3.0 # -r requirements/edx/kernel.in # edx-name-affirmation # super-csv -edx-codejail==3.4.1 +edx-codejail==3.5.1 # via -r requirements/edx/kernel.in -edx-completion==4.6.7 +edx-completion==4.7.3 # via -r requirements/edx/kernel.in edx-django-release-util==1.4.0 # via @@ -426,7 +426,7 @@ edx-django-release-util==1.4.0 # edxval edx-django-sites-extensions==4.2.0 # via -r requirements/edx/kernel.in -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via # -r requirements/edx/kernel.in # django-config-models @@ -443,7 +443,7 @@ edx-django-utils==5.15.0 # openedx-events # ora2 # super-csv -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.5.0 # via # -r requirements/edx/kernel.in # edx-completion @@ -455,13 +455,13 @@ edx-drf-extensions==10.3.0 # edx-when # edxval # openedx-learning -edx-enterprise==4.25.13 +edx-enterprise==4.32.2 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/kernel.in -edx-event-bus-kafka==5.8.1 +edx-event-bus-kafka==6.0.0 # via -r requirements/edx/kernel.in -edx-event-bus-redis==0.5.0 +edx-event-bus-redis==0.5.1 # via -r requirements/edx/kernel.in edx-i18n-tools==1.5.0 # via @@ -470,7 +470,7 @@ edx-i18n-tools==1.5.0 # ora2 edx-milestones==0.6.0 # via -r requirements/edx/kernel.in -edx-name-affirmation==2.4.1 +edx-name-affirmation==3.0.1 # via -r requirements/edx/kernel.in edx-opaque-keys[django]==2.11.0 # via @@ -490,21 +490,21 @@ edx-opaque-keys[django]==2.11.0 # ora2 edx-organizations==6.13.0 # via -r requirements/edx/kernel.in -edx-proctoring==4.18.1 +edx-proctoring==4.18.3 # via # -r requirements/edx/kernel.in # edx-proctoring-proctortrack -edx-rbac==1.9.0 -edx-rest-api-client==5.7.1 +edx-rbac==1.10.0 +edx-rest-api-client==6.0.0 # via # -r requirements/edx/kernel.in # edx-enterprise # edx-proctoring -edx-search==4.0.0 +edx-search==4.1.1 # via -r requirements/edx/kernel.in edx-sga==0.25.0 # via -r requirements/edx/bundled.in -edx-submissions==3.7.7 +edx-submissions==3.8.2 # via # -r requirements/edx/kernel.in # ora2 @@ -527,9 +527,9 @@ edx-when==2.5.0 # via # -r requirements/edx/kernel.in # edx-proctoring -edxval==2.5.0 +edxval==2.6.0 # via -r requirements/edx/kernel.in -elasticsearch==7.13.4 +elasticsearch==7.9.1 # via # -c requirements/edx/../common_constraints.txt # edx-search @@ -544,13 +544,13 @@ event-tracking==3.0.0 # edx-completion # edx-proctoring # edx-search -fastavro==1.9.5 +fastavro==1.9.7 # via openedx-events -filelock==3.15.4 +filelock==3.16.1 # via snowflake-connector-python firebase-admin==6.5.0 # via edx-ace -frozenlist==1.4.1 +frozenlist==1.5.0 # via # aiohttp # aiosignal @@ -570,16 +570,16 @@ geoip2==4.8.0 # via -r requirements/edx/kernel.in glob2==0.7 # via -r requirements/edx/kernel.in -google-api-core[grpc]==2.19.1 +google-api-core[grpc]==2.22.0 # via # firebase-admin # google-api-python-client # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-api-python-client==2.141.0 +google-api-python-client==2.149.0 # via firebase-admin -google-auth==2.34.0 +google-auth==2.35.0 # via # google-api-core # google-api-python-client @@ -593,25 +593,25 @@ google-cloud-core==2.4.1 # via # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.17.2 +google-cloud-firestore==2.19.0 # via firebase-admin google-cloud-storage==2.18.2 # via firebase-admin -google-crc32c==1.5.0 +google-crc32c==1.6.0 # via # google-cloud-storage # google-resumable-media google-resumable-media==2.7.2 # via google-cloud-storage -googleapis-common-protos==1.63.2 +googleapis-common-protos==1.65.0 # via # google-api-core # grpcio-status -grpcio==1.65.5 +grpcio==1.67.0 # via # google-api-core # grpcio-status -grpcio-status==1.65.5 +grpcio-status==1.67.0 # via google-api-core gunicorn==23.0.0 # via -r requirements/edx/kernel.in @@ -625,16 +625,16 @@ httplib2==0.22.0 # via # google-api-python-client # google-auth-httplib2 -icalendar==5.0.13 +icalendar==6.0.1 # via -r requirements/edx/kernel.in -idna==3.7 +idna==3.10 # via # -r requirements/edx/paver.txt # optimizely-sdk # requests # snowflake-connector-python # yarl -importlib-metadata==8.3.0 +importlib-metadata==8.5.0 # via -r requirements/edx/kernel.in inflection==0.5.1 # via @@ -644,7 +644,7 @@ interchange==2021.0.4 # via py2neo ipaddress==1.0.23 # via -r requirements/edx/kernel.in -isodate==0.6.1 +isodate==0.7.2 # via python3-saml jinja2==3.1.4 # via code-annotations @@ -654,7 +654,7 @@ jmespath==1.0.1 # botocore joblib==1.4.2 # via nltk -jsondiff==2.2.0 +jsondiff==2.2.1 jsonfield==3.1.0 # via # -r requirements/edx/kernel.in @@ -668,7 +668,7 @@ jsonschema==4.23.0 # via # drf-spectacular # optimizely-sdk -jsonschema-specifications==2023.12.1 +jsonschema-specifications==2024.10.1 # via jsonschema jwcrypto==1.5.6 # via @@ -692,22 +692,24 @@ loremipsum==1.0.5 # via ora2 lti-consumer-xblock==9.11.3 # via -r requirements/edx/kernel.in -lxml==4.9.4 +lxml[html-clean,html_clean]==5.3.0 # via - # -c requirements/edx/../constraints.txt # -r requirements/edx/kernel.in # edx-i18n-tools # edxval # lti-consumer-xblock + # lxml-html-clean # olxcleaner # openedx-calc # ora2 # python3-saml # xblock # xmlsec +lxml-html-clean==0.3.1 + # via lxml mailsnake==1.6.4 # via -r requirements/edx/bundled.in -mako==1.3.5 +mako==1.3.6 # via # -r requirements/edx/kernel.in # acid-xblock @@ -721,7 +723,7 @@ markdown==3.3.7 # openedx-django-wiki # staff-graded-xblock # xblock-poll -markupsafe==2.1.5 +markupsafe==3.0.2 # via # -r requirements/edx/paver.txt # chem @@ -731,32 +733,32 @@ markupsafe==2.1.5 # xblock maxminddb==2.6.2 # via geoip2 -meilisearch==0.31.4 - # via -r requirements/edx/kernel.in +meilisearch==0.31.6 + # via + # -r requirements/edx/kernel.in + # edx-search mock==5.1.0 # via -r requirements/edx/paver.txt -mongoengine==0.28.2 +mongoengine==0.29.1 # via -r requirements/edx/kernel.in monotonic==1.6 # via # analytics-python # py2neo -more-itertools==10.4.0 +more-itertools==10.5.0 # via cssutils mpmath==1.3.0 # via sympy -msgpack==1.0.8 +msgpack==1.1.0 # via cachecontrol -multidict==6.0.5 +multidict==6.1.0 # via # aiohttp # yarl -mysqlclient==2.2.4 +mysqlclient==2.2.5 # via -r requirements/edx/kernel.in -newrelic==9.13.0 - # via - # -r requirements/edx/bundled.in - # edx-django-utils +newrelic==10.2.0 + # via edx-django-utils nh3==0.2.18 # via -r requirements/edx/kernel.in nltk==3.9.1 @@ -783,11 +785,11 @@ openai==0.28.1 # via # -c requirements/edx/../constraints.txt # edx-enterprise -openedx-atlas==0.6.1 +openedx-atlas==0.6.2 # via -r requirements/edx/kernel.in -openedx-calc==3.1.0 +openedx-calc==3.1.2 # via -r requirements/edx/kernel.in -openedx-django-pyfs==3.6.0 +openedx-django-pyfs==3.7.0 # via # lti-consumer-xblock # xblock @@ -795,30 +797,31 @@ openedx-django-require==2.1.0 # via -r requirements/edx/kernel.in openedx-django-wiki==2.1.0 # via -r requirements/edx/kernel.in -openedx-events==9.14.0 +openedx-events==9.15.0 # via # -r requirements/edx/kernel.in # edx-enterprise # edx-event-bus-kafka # edx-event-bus-redis + # edx-name-affirmation # event-tracking # ora2 -openedx-filters==1.9.0 +openedx-filters==1.11.0 # via # -r requirements/edx/kernel.in # lti-consumer-xblock # ora2 -openedx-learning==0.11.5 +openedx-learning==0.17.0 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/kernel.in -openedx-mongodbproxy==0.2.1 +openedx-mongodbproxy==0.2.2 # via -r requirements/edx/kernel.in optimizely-sdk==4.1.1 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/bundled.in -ora2==6.12.0 +ora2==6.14.0 # via -r requirements/edx/bundled.in packaging==24.1 # via @@ -828,7 +831,7 @@ packaging==24.1 # snowflake-connector-python pansi==2020.7.3 # via py2neo -paramiko==3.4.1 +paramiko==3.5.0 path==16.11.0 # via # -c requirements/edx/../constraints.txt @@ -843,36 +846,38 @@ path-py==12.5.0 # staff-graded-xblock paver==1.3.4 # via -r requirements/edx/paver.txt -pbr==6.0.0 +pbr==6.1.0 # via # -r requirements/edx/paver.txt # stevedore pgpy==0.6.0 piexif==1.1.3 # via -r requirements/edx/kernel.in -pillow==10.4.0 +pillow==11.0.0 # via # -r requirements/edx/kernel.in # edx-enterprise # edx-organizations # edxval -platformdirs==4.2.2 +platformdirs==4.3.6 # via snowflake-connector-python polib==1.2.0 # via edx-i18n-tools # via click-repl -proto-plus==1.24.0 +propcache==0.2.0 + # via yarl +proto-plus==1.25.0 # via # google-api-core # google-cloud-firestore -protobuf==5.27.3 +protobuf==5.28.3 # via # google-api-core # google-cloud-firestore # googleapis-common-protos # grpcio-status # proto-plus -psutil==6.0.0 +psutil==6.1.0 # via # -r requirements/edx/paver.txt # edx-django-utils @@ -880,26 +885,26 @@ py2neo @ https://github.com/overhangio/py2neo/releases/download/2021.2.3/py2neo- # via # -c requirements/edx/../constraints.txt # -r requirements/edx/bundled.in -pyasn1==0.6.0 +pyasn1==0.6.1 # via # pgpy # pyasn1-modules # rsa -pyasn1-modules==0.4.0 +pyasn1-modules==0.4.1 # via google-auth pycountry==24.6.1 # via -r requirements/edx/kernel.in pycparser==2.22 # via cffi -pycryptodomex==3.20.0 +pycryptodomex==3.21.0 # via # -r requirements/edx/kernel.in # edx-proctoring # lti-consumer-xblock # pyjwkest -pydantic==2.8.2 +pydantic==2.9.2 # via camel-converter -pydantic-core==2.20.1 +pydantic-core==2.23.4 # via pydantic pygments==2.18.0 # via @@ -947,7 +952,7 @@ pyopenssl==24.2.1 # via # optimizely-sdk # snowflake-connector-python -pyparsing==3.1.2 +pyparsing==3.2.0 # via # chem # httplib2 @@ -985,10 +990,9 @@ python3-openid==3.2.0 ; python_version >= "3" # social-auth-core python3-saml==1.16.0 # via -r requirements/edx/kernel.in -pytz==2024.1 +pytz==2024.2 # via # -r requirements/edx/kernel.in - # django-ses # djangorestframework # drf-yasg # edx-completion @@ -998,7 +1002,6 @@ pytz==2024.1 # edx-tincan-py35 # event-tracking # fs - # icalendar # interchange # olxcleaner # ora2 @@ -1018,9 +1021,9 @@ pyyaml==6.0.2 # xblock random2==1.0.2 # via -r requirements/edx/kernel.in -recommender-xblock==2.2.0 +recommender-xblock==3.0.0 # via -r requirements/edx/bundled.in -redis==5.0.8 +redis==5.2.0 # via # -r requirements/edx/kernel.in # walrus @@ -1028,7 +1031,7 @@ referencing==0.35.1 # via # jsonschema # jsonschema-specifications -regex==2024.7.24 +regex==2024.9.11 # via nltk requests==2.32.3 # via @@ -1067,17 +1070,17 @@ rpds-py==0.20.0 # referencing rsa==4.9 # via google-auth -rules==3.4 +rules==3.5 # via # -r requirements/edx/kernel.in # edx-enterprise # edx-proctoring # openedx-learning -s3transfer==0.10.2 +s3transfer==0.10.3 # via boto3 sailthru-client==2.2.3 # via edx-ace -scipy==1.14.0 +scipy==1.14.1 # via # chem # openedx-calc @@ -1112,7 +1115,6 @@ six==1.16.0 # fs-s3fs # html5lib # interchange - # isodate # libsass # optimizely-sdk # pansi @@ -1125,8 +1127,7 @@ slumber==0.7.1 # -r requirements/edx/kernel.in # edx-bulk-grades # edx-enterprise - # edx-rest-api-client -snowflake-connector-python==3.12.0 +snowflake-connector-python==3.12.3 social-auth-app-django==5.4.1 # via # -c requirements/edx/../constraints.txt @@ -1137,7 +1138,7 @@ social-auth-core==4.5.4 # -r requirements/edx/kernel.in # edx-auth-backends # social-auth-app-django -sorl-thumbnail==12.10.0 +sorl-thumbnail==12.11.0 # via # -r requirements/edx/kernel.in # openedx-django-wiki @@ -1151,7 +1152,7 @@ sqlparse==0.5.1 # via django staff-graded-xblock==2.3.0 # via -r requirements/edx/bundled.in -stevedore==5.2.0 +stevedore==5.3.0 # via # -r requirements/edx/kernel.in # -r requirements/edx/paver.txt @@ -1162,7 +1163,7 @@ stevedore==5.2.0 # edx-opaque-keys super-csv==3.2.0 # via edx-bulk-grades -sympy==1.13.2 +sympy==1.13.3 # via openedx-calc testfixtures==8.3.0 text-unidecode==1.3 @@ -1171,7 +1172,7 @@ tinycss2==1.2.1 # via bleach tomlkit==0.13.2 # via snowflake-connector-python -tqdm==4.66.5 +tqdm==4.66.6 # via # nltk # openai @@ -1185,8 +1186,11 @@ typing-extensions==4.12.2 # pydantic-core # pylti1p3 # snowflake-connector-python -tzdata==2024.1 - # via celery +tzdata==2024.2 + # via + # celery + # icalendar + # kombu unicodecsv==0.14.1 # via # -r requirements/edx/kernel.in @@ -1196,9 +1200,8 @@ uritemplate==4.1.1 # drf-spectacular # drf-yasg # google-api-python-client -urllib3==1.26.19 +urllib3==2.2.3 # via - # -c requirements/edx/../constraints.txt # -r requirements/edx/paver.txt # botocore # elasticsearch @@ -1214,7 +1217,7 @@ voluptuous==0.15.2 # via ora2 walrus==0.9.4 # via edx-event-bus-redis -watchdog==4.0.2 +watchdog==5.0.3 # via -r requirements/edx/paver.txt wcwidth==0.2.13 # via prompt-toolkit @@ -1231,7 +1234,7 @@ webencodings==0.5.1 # bleach # html5lib # tinycss2 -webob==1.8.8 +webob==1.8.9 # via # -r requirements/edx/kernel.in # xblock @@ -1262,15 +1265,13 @@ xblock-utils==4.0.0 # via # edx-sga # xblock-poll -xmlsec==1.3.13 - # via - # -c requirements/edx/../constraints.txt - # python3-saml +xmlsec==1.3.14 + # via python3-saml xss-utils==0.6.0 # via -r requirements/edx/kernel.in -yarl==1.9.4 +yarl==1.17.0 # via aiohttp -zipp==3.20.0 +zipp==3.20.2 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/js_test.txt b/requirements/js_test.txt index 9d9e8ec7e9..713a041d49 100644 --- a/requirements/js_test.txt +++ b/requirements/js_test.txt @@ -32,7 +32,7 @@ jaraco-collections==5.1.0 # cherrypy jaraco-context==6.0.1 # via jaraco-text -jaraco-functools==4.0.2 +jaraco-functools==4.1.0 # via # -r requirements/js_test.in # cheroot @@ -46,7 +46,7 @@ jasmine-core==3.99.0 # via jasmine jinja2==2.11.3 # via jasmine -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 more-itertools==10.5.0 # via @@ -67,7 +67,7 @@ python-dateutil==2.9.0.post0 # via tempora pyyaml==6.0.2 # via jasmine -selenium==4.25.0 +selenium==4.26.1 # via jasmine six==1.16.0 # via python-dateutil @@ -79,7 +79,7 @@ tempora==5.7.0 # via # -r requirements/js_test.in # portend -trio==0.26.2 +trio==0.27.0 # via # selenium # trio-websocket diff --git a/requirements/test-master.txt b/requirements/test-master.txt index c66155c2da..e4e911aa4c 100644 --- a/requirements/test-master.txt +++ b/requirements/test-master.txt @@ -4,66 +4,66 @@ # # make upgrade # -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp -aiohttp==3.10.5 +aiohttp==3.10.10 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # openai aiosignal==1.3.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp -amqp==5.2.0 +amqp==5.3.1 # via kombu aniso8601==9.0.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-tincan-py35 asgiref==3.8.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django # django-countries asn1crypto==1.5.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python attrs==24.2.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp # openedx-events bcrypt==4.2.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # paramiko billiard==4.2.1 # via celery bleach==6.1.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in celery==5.4.0 # via - # -c requirements/constraints.txt - # -r requirements/base.in -certifi==2024.7.4 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +certifi==2024.8.30 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # requests # snowflake-connector-python -cffi==1.17.0 +cffi==1.17.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # cryptography # pynacl # snowflake-connector-python charset-normalizer==2.0.12 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # requests # snowflake-connector-python click==8.1.7 @@ -78,19 +78,19 @@ click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # celery click-repl==0.3.0 # via celery code-annotations==1.8.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-toggles -cryptography==42.0.8 +cryptography==43.0.3 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # django-fernet-fields-v2 # jwcrypto # paramiko @@ -100,13 +100,13 @@ cryptography==42.0.8 # snowflake-connector-python defusedxml==0.7.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # djangorestframework-xml -django==4.2.15 +django==4.2.16 # via - # -c requirements/common_constraints.txt - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/common_constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # django-config-models # django-crum # django-fernet-fields-v2 @@ -127,67 +127,67 @@ django==4.2.15 # openedx-events django-cache-memoize==0.2.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-config-models==2.7.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-countries==7.6.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-crum==0.7.9 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-django-utils # edx-rbac # edx-toggles django-fernet-fields-v2==0.9 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-filter==24.3 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-ipware==7.0.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -django-model-utils==4.5.1 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +django-model-utils==5.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-rbac django-multi-email-field==0.7.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-oauth-toolkit==1.7.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -django-object-actions==4.2.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +django-object-actions==4.3.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-simple-history==3.1.1 # via - # -c requirements/constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in django-waffle==4.1.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-django-utils # edx-drf-extensions # edx-toggles djangorestframework==3.14.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # django-config-models # drf-jwt # drf-yasg @@ -195,317 +195,320 @@ djangorestframework==3.14.0 # edx-drf-extensions djangorestframework-xml==2.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -dnspython==2.6.1 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +dnspython==2.7.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # pymongo drf-jwt==1.19.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-drf-extensions -drf-yasg==1.21.7 +drf-yasg==1.21.8 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-api-doc-tools -edx-api-doc-tools==1.8.0 +edx-api-doc-tools==2.0.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # -r requirements/test-master.in edx-braze-client==0.2.5 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in edx-ccx-keys==1.3.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # openedx-events -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # django-config-models # edx-drf-extensions # edx-rest-api-client # edx-toggles # openedx-events -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.5.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-rbac edx-opaque-keys[django]==2.11.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # edx-ccx-keys # edx-drf-extensions # openedx-events -edx-rbac==1.9.0 +edx-rbac==1.10.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -edx-rest-api-client==5.7.1 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +edx-rest-api-client==6.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in edx-tincan-py35==1.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in edx-toggles==5.2.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -fastavro==1.9.5 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +fastavro==1.9.7 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # openedx-events -filelock==3.15.4 +filelock==3.16.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python -frozenlist==1.4.1 +frozenlist==1.5.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp # aiosignal -idna==3.7 +idna==3.10 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # requests # snowflake-connector-python # yarl inflection==0.5.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # drf-yasg jinja2==3.1.4 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # code-annotations -jsondiff==2.2.0 +jsondiff==2.2.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in jsonfield==3.1.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in jwcrypto==1.5.6 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django-oauth-toolkit kombu==5.4.2 # via celery -markupsafe==2.1.5 +markupsafe==3.0.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # jinja2 -multidict==6.0.5 +multidict==6.1.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp # yarl -newrelic==9.13.0 +newrelic==10.2.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-django-utils oauthlib==3.2.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django-oauth-toolkit openai==0.28.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -openedx-events==9.14.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +openedx-events==9.15.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in packaging==24.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # drf-yasg # snowflake-connector-python -paramiko==3.4.1 +paramiko==3.5.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in path==16.11.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # path-py path-py==12.5.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -pbr==6.0.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +pbr==6.1.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # stevedore pgpy==0.6.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -pillow==10.4.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +pillow==11.0.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in -platformdirs==4.2.2 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +platformdirs==4.3.6 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 # via click-repl -psutil==6.0.0 +propcache==0.2.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # yarl +psutil==6.1.0 + # via + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-django-utils -pyasn1==0.6.0 +pyasn1==0.6.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # pgpy pycparser==2.22 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # cffi pyjwt[crypto]==2.9.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # drf-jwt # edx-drf-extensions # edx-rest-api-client # snowflake-connector-python pymongo==4.4.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-opaque-keys pynacl==1.5.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-django-utils # paramiko pyopenssl==24.2.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python python-dateutil==2.9.0.post0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # celery python-ipware==3.0.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django-ipware python-slugify==8.0.4 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # code-annotations -pytz==2024.1 +pytz==2024.2 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # djangorestframework # drf-yasg # edx-tincan-py35 # snowflake-connector-python pyyaml==6.0.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # code-annotations # drf-yasg # jsondiff requests==2.32.3 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # django-oauth-toolkit # edx-drf-extensions # edx-rest-api-client # openai # slumber # snowflake-connector-python -rules==3.4 +rules==3.5 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in semantic-version==2.10.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # edx-drf-extensions six==1.16.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # bleach # edx-ccx-keys # edx-rbac # python-dateutil slumber==0.7.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in - # edx-rest-api-client -snowflake-connector-python==3.12.0 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in +snowflake-connector-python==3.12.3 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in sortedcontainers==2.4.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python sqlparse==0.5.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in # code-annotations # edx-django-utils # edx-opaque-keys testfixtures==8.3.0 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in text-unidecode==1.3 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # python-slugify tomlkit==0.13.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # snowflake-connector-python -tqdm==4.66.5 +tqdm==4.66.6 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # openai typing-extensions==4.12.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # django-countries # edx-opaque-keys # jwcrypto # snowflake-connector-python -tzdata==2024.1 +tzdata==2024.2 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # celery # kombu unicodecsv==0.14.1 # via - # -c requirements/edx-platform-constraints.txt - # -r requirements/base.in + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/base.in uritemplate==4.1.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # drf-yasg -urllib3==1.26.19 +urllib3==2.2.3 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # requests vine==5.1.0 # via @@ -514,15 +517,15 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # prompt-toolkit webencodings==0.5.1 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # bleach -yarl==1.9.4 +yarl==1.17.0 # via - # -c requirements/edx-platform-constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/edx-platform-constraints.txt # aiohttp # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index ab0b4a7554..494d73ae74 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,60 +4,60 @@ # # make upgrade # -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp -aiohttp==3.10.5 +aiohttp==3.10.10 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openai aiosignal==1.3.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # kombu aniso8601==9.0.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-tincan-py35 asgiref==3.8.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django # django-countries asn1crypto==1.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python attrs==24.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # openedx-events # pytest bcrypt==4.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # paramiko # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery bleach==6.1.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # via - # -c requirements/constraints.txt - # -r requirements/test-master.txt -certifi==2024.7.4 + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +certifi==2024.8.30 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python -cffi==1.17.0 +cffi==1.17.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # cryptography # pynacl # snowflake-connector-python @@ -65,11 +65,11 @@ chardet==5.2.0 # via diff-cover charset-normalizer==2.0.12 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # click-didyoumean # click-plugins @@ -77,24 +77,24 @@ charset-normalizer==2.0.12 # code-annotations # edx-django-utils # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery click-plugins==1.1.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery code-annotations==1.8.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-toggles -coverage[toml]==7.6.1 +coverage[toml]==7.6.7 # via pytest-cov -cryptography==42.0.8 +cryptography==43.0.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-fernet-fields-v2 # jwcrypto # paramiko @@ -106,13 +106,13 @@ ddt==1.3.1 # via -r requirements/test.in defusedxml==0.7.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # djangorestframework-xml diff-cover==9.2.0 # via -r requirements/test.in # via - # -c requirements/common_constraints.txt - # -r requirements/test-master.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/common_constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # django-crum # django-fernet-fields-v2 @@ -132,284 +132,288 @@ diff-cover==9.2.0 # jsonfield # openedx-events django-cache-memoize==0.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-config-models==2.7.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-countries==7.6.1 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-crum==0.7.9 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # edx-rbac # edx-toggles django-fernet-fields-v2==0.9 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-filter==24.3 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-ipware==7.0.1 - # via -r requirements/test-master.txt -django-model-utils==4.5.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +django-model-utils==5.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # -r requirements/test.in # edx-rbac django-multi-email-field==0.7.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-oauth-toolkit==1.7.1 - # via -r requirements/test-master.txt -django-object-actions==4.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +django-object-actions==4.3.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-simple-history==3.1.1 # via - # -c requirements/constraints.txt - # -r requirements/test-master.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt django-waffle==4.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # edx-drf-extensions # edx-toggles djangorestframework==3.14.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # drf-jwt # drf-yasg # edx-api-doc-tools # edx-drf-extensions djangorestframework-xml==2.0.0 - # via -r requirements/test-master.txt -dnspython==2.6.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +dnspython==2.7.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # pymongo drf-jwt==1.19.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-drf-extensions -drf-yasg==1.21.7 +drf-yasg==1.21.8 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-api-doc-tools -edx-api-doc-tools==1.8.0 - # via -r requirements/test-master.txt +edx-api-doc-tools==2.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-braze-client==0.2.5 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-ccx-keys==1.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openedx-events -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-config-models # edx-drf-extensions # edx-rest-api-client # edx-toggles # openedx-events -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-rbac edx-opaque-keys[django]==2.11.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-ccx-keys # edx-drf-extensions # openedx-events -edx-rbac==1.9.0 - # via -r requirements/test-master.txt -edx-rest-api-client==5.7.1 - # via -r requirements/test-master.txt +edx-rbac==1.10.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +edx-rest-api-client==6.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-tincan-py35==1.0.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt edx-toggles==5.2.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt factory-boy==3.3.1 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/test.in -faker==29.0.0 +faker==33.0.0 # via factory-boy -fastavro==1.9.5 +fastavro==1.9.7 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openedx-events -filelock==3.15.4 +filelock==3.16.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python freezegun==0.3.14 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/test.in -frozenlist==1.4.1 +frozenlist==1.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # aiosignal -idna==3.7 +idna==3.10 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # snowflake-connector-python # yarl inflection==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg iniconfig==2.0.0 # via pytest jinja2==3.1.4 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # diff-cover -jsondiff==2.2.0 - # via -r requirements/test-master.txt +jsondiff==2.2.1 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt jsonfield==3.1.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt jwcrypto==1.5.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery -markupsafe==2.1.5 +markupsafe==3.0.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # jinja2 mock==3.0.5 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/test.in -multidict==6.0.5 +multidict==6.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # yarl -newrelic==9.13.0 +newrelic==10.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils oauthlib==3.2.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit openai==0.28.1 - # via -r requirements/test-master.txt -openedx-events==9.14.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +openedx-events==9.15.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt packaging==24.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg # pytest # snowflake-connector-python -paramiko==3.4.1 - # via -r requirements/test-master.txt +paramiko==3.5.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt path==16.11.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # path-py path-py==12.5.0 - # via -r requirements/test-master.txt -pbr==6.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +pbr==6.1.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # stevedore pgpy==0.6.0 - # via -r requirements/test-master.txt -pillow==10.4.0 - # via -r requirements/test-master.txt -platformdirs==4.2.2 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +pillow==11.0.0 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +platformdirs==4.3.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python pluggy==1.5.0 # via # diff-cover # pytest # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # click-repl -psutil==6.0.0 +propcache==0.2.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt + # yarl +psutil==6.1.0 + # via + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils py==1.11.0 # via pytest -pyasn1==0.6.0 +pyasn1==0.6.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # pgpy pycparser==2.22 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # cffi pygments==2.18.0 # via diff-cover pyjwt[crypto]==2.9.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-jwt # edx-drf-extensions # edx-rest-api-client # snowflake-connector-python pymongo==4.4.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-opaque-keys pynacl==1.5.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-django-utils # paramiko pyopenssl==24.2.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python pytest==6.2.5 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.in pytest-django==4.5.2 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # faker # freezegun python-ipware==3.0.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-ipware python-slugify==8.0.4 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations -pytz==2024.1 +pytz==2024.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # djangorestframework # drf-yasg # edx-tincan-py35 # snowflake-connector-python pyyaml==6.0.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # drf-yasg # jsondiff requests==2.32.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-oauth-toolkit # edx-drf-extensions # edx-rest-api-client @@ -419,17 +423,17 @@ requests==2.32.3 # snowflake-connector-python responses==0.10.15 # via - # -c requirements/constraints.txt + # -c /home/runner/work/edx-enterprise/edx-enterprise/requirements/constraints.txt # -r requirements/test.in -rules==3.4 - # via -r requirements/test-master.txt +rules==3.5 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt semantic-version==2.10.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # edx-drf-extensions six==1.16.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # bleach # edx-ccx-keys # edx-rbac @@ -438,81 +442,80 @@ six==1.16.0 # python-dateutil # responses slumber==0.7.1 - # via - # -r requirements/test-master.txt - # edx-rest-api-client -snowflake-connector-python==3.12.0 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt +snowflake-connector-python==3.12.3 + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt sortedcontainers==2.4.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python sqlparse==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # code-annotations # edx-django-utils # edx-opaque-keys testfixtures==8.3.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # -r requirements/test.in text-unidecode==1.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # python-slugify toml==0.10.2 # via pytest tomlkit==0.13.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # snowflake-connector-python -tqdm==4.66.5 +tqdm==4.66.6 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # openai typing-extensions==4.12.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # django-countries # edx-opaque-keys + # faker # jwcrypto # snowflake-connector-python -tzdata==2024.1 +tzdata==2024.2 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # celery # kombu unicodecsv==0.14.1 - # via -r requirements/test-master.txt + # via -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt uritemplate==4.1.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # drf-yasg -urllib3==1.26.19 +urllib3==2.2.3 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # requests # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # amqp # celery # kombu wcwidth==0.2.13 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # prompt-toolkit webencodings==0.5.1 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # bleach -yarl==1.9.4 +yarl==1.17.0 # via - # -r requirements/test-master.txt + # -r /home/runner/work/edx-enterprise/edx-enterprise/requirements/test-master.txt # aiohttp # The following packages are considered to be unsafe in a requirements file: diff --git a/tests/test_enterprise/api/test_views.py b/tests/test_enterprise/api/test_views.py index c2e2a126a8..9391f4cfff 100644 --- a/tests/test_enterprise/api/test_views.py +++ b/tests/test_enterprise/api/test_views.py @@ -51,6 +51,7 @@ ) from enterprise.models import ( ChatGPTResponse, + DefaultEnterpriseEnrollmentRealization, EnterpriseCourseEnrollment, EnterpriseCustomer, EnterpriseCustomerInviteKey, @@ -161,6 +162,7 @@ ENTERPRISE_LEARNER_LIST_ENDPOINT = reverse('enterprise-learner-list') ENTERPRISE_CUSTOMER_WITH_ACCESS_TO_ENDPOINT = reverse('enterprise-customer-with-access-to') ENTERPRISE_CUSTOMER_UNLINK_USERS_ENDPOINT = reverse('enterprise-customer-unlink-users', kwargs={'pk': FAKE_UUIDS[0]}) +ENTERPRISE_CUSTOMER_UNLINK_SELF_ENDPOINT = reverse('enterprise-customer-unlink-self', kwargs={'pk': FAKE_UUIDS[0]}) PENDING_ENTERPRISE_LEARNER_LIST_ENDPOINT = reverse('pending-enterprise-learner-list') PENDING_ENTERPRISE_CUSTOMER_ADMIN_LIST_ENDPOINT = reverse('pending-enterprise-admin-list') LICENSED_ENTERPRISE_COURSE_ENROLLMENTS_REVOKE_ENDPOINT = reverse( @@ -200,6 +202,42 @@ def side_effect(url, query_parameters): ) +def create_mock_default_enterprise_enrollment_intention( + enterprise_customer, + mock_catalog_api_client, + content_metadata=None, + contains_content_items=False, + catalog_list=None, +): + """ + Create a mock default enterprise enrollment intention. + """ + mock_content_metadata = content_metadata or fake_catalog_api.FAKE_COURSE + mock_contains_content_items = contains_content_items + mock_catalog_list = ( + catalog_list + if catalog_list is not None + else [fake_catalog_api.FAKE_CATALOG_RESULT.get('uuid')] + ) + + mock_catalog_api_client.return_value = mock.Mock( + get_content_metadata_content_identifier=mock.Mock( + return_value=mock_content_metadata, + ), + enterprise_contains_content_items=mock.Mock( + return_value=fake_catalog_api.get_fake_enterprise_contains_content_items_response( + contains_content_items=mock_contains_content_items, + catalog_list=mock_catalog_list, + ), + ), + ) + enrollment_intention = factories.DefaultEnterpriseEnrollmentIntentionFactory( + enterprise_customer=enterprise_customer, + content_key=mock_content_metadata.get('key', 'edX+DemoX'), + ) + return enrollment_intention + + class BaseTestEnterpriseAPIViews(APITest): """ Shared setup and methods for enterprise api views. @@ -517,6 +555,37 @@ def test_get_enterprise_customer_user_contains_features(self): response = self.load_json(response.content) assert response['enterprise_features'] is not None + def test_get_enterprise_customer_user_contains_admin_users(self): + """ + Assert whether the paginated response contains `enterprise_customer.admin_users`. + """ + user = factories.UserFactory() + enterprise_customer = factories.EnterpriseCustomerFactory(uuid=FAKE_UUIDS[0]) + factories.EnterpriseCustomerUserFactory( + user_id=user.id, + enterprise_customer=enterprise_customer + ) + admin_user = factories.UserFactory() + SystemWideEnterpriseUserRoleAssignment.objects.create( + role=admin_role(), + user=admin_user, + enterprise_customer=enterprise_customer + ) + response = self.client.get( + '{host}{path}?username={username}'.format( + host=settings.TEST_SERVER, + path=ENTERPRISE_LEARNER_LIST_ENDPOINT, + username=user.username + ) + ) + response = self.load_json(response.content) + assert response['results'][0]['enterprise_customer']['admin_users'] == [ + { + 'email': admin_user.email, + 'lms_user_id': admin_user.id, + } + ] + def test_get_enterprise_customer_user_contains_consent_records(self): user = factories.UserFactory() enterprise_customer = factories.EnterpriseCustomerFactory(uuid=FAKE_UUIDS[0]) @@ -2478,6 +2547,64 @@ def test_unlink_users(self, enterprise_role, enterprise_uuid_for_role, is_relink assert enterprise_customer_user_2.is_relinkable == is_relinkable assert enterprise_customer_user_2.is_relinkable == is_relinkable + def test_unlink_self(self): + """ + Test that a user can unlink themselves from the enterprise. + """ + email = 'user@test.com' + + # Create a user and set it as the request user + user = factories.UserFactory(email=email) + self.client.force_authenticate(user=user) + + # Create an enterprise customer and link the user to it + enterprise_customer = factories.EnterpriseCustomerFactory(uuid=FAKE_UUIDS[0], slug='test-enterprise-slug') + enterprise_customer_user = factories.EnterpriseCustomerUserFactory( + user_id=user.id, + enterprise_customer=enterprise_customer, + linked=True + ) + + # Ensure the user is initially linked + assert enterprise_customer_user.linked is True + + # Make the unlink request + response = self.client.post(ENTERPRISE_CUSTOMER_UNLINK_SELF_ENDPOINT) + + # Verify the response status code + assert response.status_code == 200 + + # Refresh the object from the database to check if it's unlinked + enterprise_customer_user.refresh_from_db() + assert enterprise_customer_user.linked is False + assert enterprise_customer_user.is_relinkable is True + + def test_unlink_self_not_linked(self): + """ + Test that a user cannot unlink themselves if they are not already linked to the enterprise. + """ + email = 'user@test.com' + + # Create a user and set it as the request user + user = factories.UserFactory(email=email) + self.client.force_authenticate(user=user) + + # Create an enterprise customer and ensure the user is not linked + enterprise_customer = factories.EnterpriseCustomerFactory(uuid=FAKE_UUIDS[0], slug='test-enterprise-slug') + enterprise_customer_user = factories.EnterpriseCustomerUserFactory( + user_id=user.id, + enterprise_customer=enterprise_customer, + linked=False + ) + + # Ensure the user is initially not linked + assert enterprise_customer_user.linked is False + # Make the unlink request + response = self.client.post(ENTERPRISE_CUSTOMER_UNLINK_SELF_ENDPOINT) + + # Verify the response status code + assert response.status_code == 404 + @ddt.ddt @mark.django_db @@ -4878,7 +5005,7 @@ def tearDown(self): 'expected_num_pending_licenses': 1, 'expected_events': [mock.call(PATHWAY_CUSTOMER_ADMIN_ENROLLMENT, 1, 'course-v1:edX+DemoX+Demo_Course')], }, - # Validation failure cases + # Missing enrollment_info or licenses_info { 'body': {}, 'expected_code': 400, @@ -4886,6 +5013,7 @@ def tearDown(self): 'expected_num_pending_licenses': 0, 'expected_events': None, }, + # Invalid licenses_info format { 'body': { 'licenses_info': {} @@ -4897,6 +5025,7 @@ def tearDown(self): 'expected_num_pending_licenses': 0, 'expected_events': None, }, + # No subsidy identifiers provided { 'body': { 'licenses_info': [{'email': 'abc@test.com', 'course_run_key': 'course-v1:edX+DemoX+Demo_Course'}] @@ -4914,6 +5043,7 @@ def tearDown(self): 'expected_num_pending_licenses': 0, 'expected_events': None, }, + # Conflicting license and transaction identifiers { 'body': { 'licenses_info': [ @@ -4939,6 +5069,7 @@ def tearDown(self): 'expected_num_pending_licenses': 0, 'expected_events': None, }, + # No user identifier provided { 'body': { 'licenses_info': [ @@ -4957,6 +5088,7 @@ def tearDown(self): 'expected_num_pending_licenses': 0, 'expected_events': None, }, + # Invalid email format { 'body': { 'licenses_info': [{ @@ -5098,6 +5230,7 @@ def tearDown(self): mock.call(PATHWAY_CUSTOMER_ADMIN_ENROLLMENT, 1, 'course-v2:edX+DemoX+Second_Demo_Course') ], }, + # Multi-learner, multi-course pending { 'body': { 'enrollments_info': [ @@ -5792,6 +5925,128 @@ def test_enroll_learners_in_courses_partial_failure(self, mock_get_course_mode, self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.json(), enrollment_response) + @ddt.data( + # Creates DefaultEnterpriseEnrollmentRealization upon successful subscription + # enrollment (is_default_auto_enrollment is True) + { + 'body': { + 'notify': 'true', + 'enrollments_info': [ + { + 'email': 'abc@test.com', + 'course_run_key': fake_catalog_api.FAKE_COURSE_RUN.get('key'), + 'mode': VERIFIED_COURSE_MODE, + 'license_uuid': '2aa06d86-e2bf-40b8-81e7-b0449fa5541f', + 'is_default_auto_enrollment': True, + }, + ] + }, + 'fulfillment_source': LicensedEnterpriseCourseEnrollment, + 'expected_enrollment_realization_count': 1, + }, + # Does NOT create DefaultEnterpriseEnrollmentRealization upon successful + # subscription enrollment (is_default_auto_enrollment is False) + { + 'body': { + 'notify': 'true', + 'enrollments_info': [ + { + 'email': 'abc@test.com', + 'course_run_key': fake_catalog_api.FAKE_COURSE_RUN.get('key'), + 'mode': VERIFIED_COURSE_MODE, + 'license_uuid': '2aa06d86-e2bf-40b8-81e7-b0449fa5541f', + 'is_default_auto_enrollment': False, + }, + ] + }, + 'fulfillment_source': LicensedEnterpriseCourseEnrollment, + 'expected_enrollment_realization_count': 0, + }, + # Does NOT create DefaultEnterpriseEnrollmentRealization upon successful + # subscription enrollment (is_default_auto_enrollment is not provided) + { + 'body': { + 'notify': 'true', + 'enrollments_info': [ + { + 'email': 'abc@test.com', + 'course_run_key': fake_catalog_api.FAKE_COURSE_RUN.get('key'), + 'mode': VERIFIED_COURSE_MODE, + 'license_uuid': '2aa06d86-e2bf-40b8-81e7-b0449fa5541f', + }, + ] + }, + 'fulfillment_source': LicensedEnterpriseCourseEnrollment, + 'expected_enrollment_realization_count': 0, + }, + ) + @ddt.unpack + @mock.patch('enterprise.content_metadata.api.EnterpriseCatalogApiClient') + @mock.patch('enterprise.api.v1.views.enterprise_customer.get_best_mode_from_course_key') + @mock.patch('enterprise.utils.lms_update_or_create_enrollment') + def test_enroll_learners_in_courses_default_enrollment_realizations( + self, + mock_get_course_mode, + mock_update_or_create_enrollment, + mock_catalog_api_client, + body, + fulfillment_source, + expected_enrollment_realization_count, + ): + """ + Test that a successful bulk enrollment call to generate subsidy based enrollment records will return the newly + generated subsidized enrollment uuid value as part of the response payload. + """ + mock_update_or_create_enrollment.return_value = True + + user, ecu, enterprise_customer = self._create_user_and_enterprise_customer( + body.get('enrollments_info')[0].get('email'), TEST_PASSWORD + ) + + permission = Permission.objects.get(name='Can add Enterprise Customer') + user.user_permissions.add(permission) + mock_get_course_mode.return_value = VERIFIED_COURSE_MODE + + # Create a new DefaultEnterpriseEnrollmentIntention + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) + + enrollment_url = reverse( + 'enterprise-customer-enroll-learners-in-courses', + (str(enterprise_customer.uuid),) + ) + with mock.patch('enterprise.api.v1.views.enterprise_customer.track_enrollment'): + with mock.patch("enterprise.models.EnterpriseCustomer.notify_enrolled_learners"): + response = self.client.post( + settings.TEST_SERVER + enrollment_url, + data=json.dumps(body), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 201) + + response_json = response.json() + self.assertEqual(len(response_json.get('successes')), 1) + self.assertEqual( + str(fulfillment_source.objects.first().uuid), + response_json.get('successes')[0].get('enterprise_fulfillment_source_uuid') + ) + + enrollments = EnterpriseCourseEnrollment.objects.filter( + enterprise_customer_user=ecu, + ) + assert len(enrollments) == 1 + enrollment = enrollments.first() + assert enrollment.course_id == body['enrollments_info'][0]['course_run_key'] + + enrollment_realizations = DefaultEnterpriseEnrollmentRealization.objects.filter( + intended_enrollment=enrollment_intention, + realized_enrollment=enrollment, + ) + assert len(enrollment_realizations) == expected_enrollment_realization_count + @ddt.ddt @mark.django_db @@ -9807,41 +10062,6 @@ def get_default_enrollment_intention_with_learner_enrollment_state(self, enrollm 'is_existing_enrollment_audit': kwargs.get('is_existing_enrollment_audit', None), } - def create_mock_default_enterprise_enrollment_intention( - self, - mock_catalog_api_client, - content_metadata=None, - contains_content_items=False, - catalog_list=None, - ): - """ - Create a mock default enterprise enrollment intention. - """ - mock_content_metadata = content_metadata or fake_catalog_api.FAKE_COURSE - mock_contains_content_items = contains_content_items - mock_catalog_list = ( - catalog_list - if catalog_list is not None - else [fake_catalog_api.FAKE_CATALOG_RESULT.get('uuid')] - ) - - mock_catalog_api_client.return_value = mock.Mock( - get_content_metadata_content_identifier=mock.Mock( - return_value=mock_content_metadata, - ), - enterprise_contains_content_items=mock.Mock( - return_value=fake_catalog_api.get_fake_enterprise_contains_content_items_response( - contains_content_items=mock_contains_content_items, - catalog_list=mock_catalog_list, - ), - ), - ) - enrollment_intention = factories.DefaultEnterpriseEnrollmentIntentionFactory( - enterprise_customer=self.enterprise_customer, - content_key=mock_content_metadata.get('key', 'edX+DemoX'), - ) - return enrollment_intention - def test_default_enterprise_enrollment_intentions_missing_enterprise_uuid(self): """ Test expected response when successfully listing existing default enterprise enrollment intentions. @@ -9869,7 +10089,10 @@ def test_default_enterprise_enrollment_intentions_list(self, mock_catalog_api_cl Test expected response when successfully listing existing default enterprise enrollment intentions. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) query_params = f'enterprise_customer_uuid={str(self.enterprise_customer.uuid)}' response = self.client.get( f"{settings.TEST_SERVER}{DEFAULT_ENTERPRISE_ENROLLMENT_INTENTION_LIST_ENDPOINT}?{query_params}" @@ -9888,7 +10111,10 @@ def test_default_enterprise_enrollment_intentions_detail(self, mock_catalog_api_ enterprise enrollment intentions. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) query_params = f'enterprise_customer_uuid={str(self.enterprise_customer.uuid)}' base_url = get_default_enterprise_enrollment_intention_detail_endpoint(str(enrollment_intention.uuid)) response = self.client.get(f"{settings.TEST_SERVER}{base_url}?{query_params}") @@ -9905,7 +10131,10 @@ def test_default_enterprise_enrollment_intentions_list_unauthorized(self, mock_c enterprise enrollment intentions. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) query_params = f'enterprise_customer_uuid={str(uuid.uuid4())}' response = self.client.get( f"{settings.TEST_SERVER}{DEFAULT_ENTERPRISE_ENROLLMENT_INTENTION_LIST_ENDPOINT}?{query_params}" @@ -9922,7 +10151,10 @@ def test_default_enterprise_enrollment_intentions_detail_403_forbidden(self, moc enterprise enrollment intentions. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) query_params = f'enterprise_customer_uuid={str(uuid.uuid4())}' base_url = get_default_enterprise_enrollment_intention_detail_endpoint(str(enrollment_intention.uuid)) response = self.client.get(f"{settings.TEST_SERVER}{base_url}?{query_params}") @@ -9934,8 +10166,9 @@ def test_default_enterprise_enrollment_intentions_not_in_catalog(self, mock_cata Test expected response when default enterprise enrollment intention is not in catalog. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention( - mock_catalog_api_client, + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, contains_content_items=False, catalog_list=[], ) @@ -9975,7 +10208,10 @@ def test_default_enterprise_enrollment_intentions_learner_status_enrollable( the course run associated with the default enrollment intention is enrollable. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE factories.EnterpriseCustomerUserFactory( user_id=self.user.id, @@ -9999,7 +10235,7 @@ def test_default_enterprise_enrollment_intentions_learner_status_enrollable( 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 1, 'not_enrollable': 0, @@ -10023,8 +10259,9 @@ def test_default_enrollment_intentions_learner_status_content_not_enrollable( mock_course_run.update({'is_enrollable': False}) mock_course = fake_catalog_api.FAKE_COURSE.copy() mock_course.update({'course_runs': [mock_course_run]}) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention( - mock_catalog_api_client, + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, content_metadata=mock_course, ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE @@ -10053,7 +10290,7 @@ def test_default_enrollment_intentions_learner_status_content_not_enrollable( 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 0, 'not_enrollable': 1, @@ -10073,8 +10310,9 @@ def test_default_enrollment_intentions_learner_status_content_not_in_catalog( catalog) for specific learner linked to enterprise customer. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention( - mock_catalog_api_client, + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, contains_content_items=False, catalog_list=[], ) @@ -10108,7 +10346,7 @@ def test_default_enrollment_intentions_learner_status_content_not_in_catalog( 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 0, 'not_enrollable': 1, @@ -10130,7 +10368,10 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_active( enrollment) for specific learner linked to enterprise customer. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE enterprise_customer_user = factories.EnterpriseCustomerUserFactory( user_id=self.user.id, @@ -10168,7 +10409,7 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_active( ], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 0, 'not_enrollable': 0, @@ -10190,7 +10431,10 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_inactive( enrollment) for specific learner linked to enterprise customer. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE enterprise_customer_user = factories.EnterpriseCustomerUserFactory( user_id=self.user.id, @@ -10228,7 +10472,7 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_inactive( 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 1, 'not_enrollable': 0, @@ -10256,7 +10500,10 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_active_au audit enrollment) for specific learner linked to enterprise customer. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) best_mode_for_course_run = AUDIT_COURSE_MODE if has_audit_mode_only else VERIFIED_COURSE_MODE mock_get_best_mode_from_course_key.return_value = best_mode_for_course_run @@ -10307,7 +10554,7 @@ def test_default_enrollment_intentions_learner_status_already_enrolled_active_au 'already_enrolled': expected_already_enrolled, } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': len(expected_enrollable), 'not_enrollable': 0, @@ -10332,7 +10579,10 @@ def test_default_enrollment_intentions_learner_status_staff_lms_user_id_override staff_user = self.create_user(username='staff_username', password=TEST_PASSWORD, is_staff=True) self.client.login(username=staff_user.username, password=TEST_PASSWORD) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE factories.EnterpriseCustomerUserFactory( user_id=self.user.id, @@ -10360,7 +10610,7 @@ def test_default_enrollment_intentions_learner_status_staff_lms_user_id_override 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 1, 'not_enrollable': 0, @@ -10379,7 +10629,10 @@ def test_default_enrollment_intentions_learner_status_nonstaff_lms_user_id_overr Test default enterprise enrollment intentions for non-staff user linked to enterprise customer. """ self.set_jwt_cookie(ENTERPRISE_LEARNER_ROLE, str(self.enterprise_customer.uuid)) - enrollment_intention = self.create_mock_default_enterprise_enrollment_intention(mock_catalog_api_client) + enrollment_intention = create_mock_default_enterprise_enrollment_intention( + enterprise_customer=self.enterprise_customer, + mock_catalog_api_client=mock_catalog_api_client, + ) mock_get_best_mode_from_course_key.return_value = VERIFIED_COURSE_MODE factories.EnterpriseCustomerUserFactory( user_id=self.user.id, @@ -10407,7 +10660,7 @@ def test_default_enrollment_intentions_learner_status_nonstaff_lms_user_id_overr 'already_enrolled': [], } assert response_data['metadata'] == { - 'total_default_enterprise_course_enrollments': 1, + 'total_default_enterprise_enrollment_intentions': 1, 'total_needs_enrollment': { 'enrollable': 1, 'not_enrollable': 0,