chore: Removed unused dependency

This commit is contained in:
Marcos
2025-01-07 10:46:54 -03:00
committed by Marcos Rigoli
parent 825931a9b4
commit 3bcbcaac2d
11 changed files with 27 additions and 65 deletions

View File

@@ -14,18 +14,18 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install repo-tools
run: pip install edx-repo-tools[find_dependencies]
- name: Install setuptool
run: pip install setuptools
run: pip install setuptools
- name: Run Python script
run: |
find_python_dependencies \
@@ -35,6 +35,5 @@ jobs:
--ignore https://github.com/edx/braze-client \
--ignore https://github.com/edx/edx-name-affirmation \
--ignore https://github.com/mitodl/edx-sga \
--ignore https://github.com/edx/token-utils \
--ignore https://github.com/open-craft/xblock-poll

View File

@@ -9,9 +9,6 @@ from jwkest.jws import JWS
from lms.djangoapps.courseware.jwt import _encode_and_sign, create_jwt, unpack_jwt
import unittest
from unittest.mock import patch
test_user_id = 121
invalid_test_user_id = 120
@@ -28,6 +25,10 @@ expected_full_token = {
class TestSign(unittest.TestCase):
"""
Tests for JWT creation and signing.
"""
def test_create_jwt(self):
token = create_jwt(test_user_id, test_timeout, {}, test_now)
@@ -53,6 +54,7 @@ class TestSign(unittest.TestCase):
with self.assertRaises(BadSignature):
_verify_jwt(token)
def _verify_jwt(jwt_token):
"""
Helper function which verifies the signature and decodes the token
@@ -65,6 +67,10 @@ def _verify_jwt(jwt_token):
class TestUnpack(unittest.TestCase):
"""
Tests for JWT unpacking.
"""
def test_unpack_jwt(self):
token = create_jwt(test_user_id, test_timeout, {}, test_now)
decoded = unpack_jwt(token, test_user_id, test_now)

View File

@@ -234,36 +234,3 @@ def _use_new_financial_assistance_flow(course_id):
):
return True
return False
def unpack_jwt(token, lms_user_id, now=None):
"""
Unpack and verify an encoded JWT.
Validate the user and expiration.
Arguments:
token (string): The token to be unpacked and verified.
lms_user_id (int): LMS user ID this token should match with.
now (int): Optional now value for testing.
Returns a valid, decoded json payload (string).
"""
now = now or int(time())
# Unpack and verify token
keys = jwk.KEYS()
keys.load_jwks(settings.TOKEN_SIGNING['JWT_PUBLIC_SIGNING_JWK_SET'])
payload = JWS().verify_compact(token.encode('utf-8'), keys)
if "lms_user_id" not in payload:
raise MissingKey("LMS user id is missing")
if "exp" not in payload:
raise MissingKey("Expiration is missing")
if payload["lms_user_id"] != lms_user_id:
raise Invalid("User does not match")
if payload["exp"] < now:
raise Expired("Token is expired")
return payload

View File

@@ -91,6 +91,7 @@ from lms.djangoapps.courseware.courses import (
)
from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link
from lms.djangoapps.courseware.exceptions import CourseAccessRedirect, Redirect
from lms.djangoapps.courseware.jwt import unpack_jwt
from lms.djangoapps.courseware.masquerade import is_masquerading_as_specific_student, setup_masquerade
from lms.djangoapps.courseware.model_data import FieldDataCache
from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule
@@ -105,7 +106,7 @@ from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateCli
from lms.djangoapps.courseware.utils import (
_use_new_financial_assistance_flow,
create_financial_assistance_application,
is_eligible_for_financial_aid, unpack_jwt
is_eligible_for_financial_aid
)
from lms.djangoapps.edxnotes.helpers import is_feature_enabled
from lms.djangoapps.experiments.utils import get_experiment_user_metadata_context

View File

@@ -221,7 +221,6 @@ django==4.2.18
# edx-search
# edx-submissions
# edx-toggles
# edx-token-utils
# edx-when
# edxval
# enmerkar
@@ -546,7 +545,7 @@ edx-when==2.5.1
# edx-proctoring
edxval==2.9.0
# via -r requirements/edx/kernel.in
elasticsearch==7.9.1
elasticsearch==7.13.4
# via
# -c requirements/edx/../common_constraints.txt
# -c requirements/edx/../constraints.txt
@@ -931,7 +930,6 @@ pygments==2.19.1
pyjwkest==1.4.2
# via
# -r requirements/edx/kernel.in
# edx-token-utils
# lti-consumer-xblock
pyjwt[crypto]==2.10.1
# via
@@ -1215,7 +1213,7 @@ uritemplate==4.1.1
# drf-spectacular
# drf-yasg
# google-api-python-client
urllib3==2.2.3
urllib3==1.26.20
# via
# -c requirements/edx/../common_constraints.txt
# botocore

View File

@@ -395,7 +395,6 @@ django==4.2.18
# edx-search
# edx-submissions
# edx-toggles
# edx-token-utils
# edx-when
# edxval
# enmerkar
@@ -858,7 +857,7 @@ edxval==2.9.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
elasticsearch==7.9.1
elasticsearch==7.13.4
# via
# -c requirements/edx/../common_constraints.txt
# -c requirements/edx/../constraints.txt
@@ -1598,7 +1597,6 @@ pyjwkest==1.4.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-token-utils
# lti-consumer-xblock
pyjwt[crypto]==2.10.1
# via
@@ -2172,7 +2170,7 @@ uritemplate==4.1.1
# drf-spectacular
# drf-yasg
# google-api-python-client
urllib3==2.2.3
urllib3==1.26.20
# via
# -c requirements/edx/../common_constraints.txt
# -r requirements/edx/doc.txt

View File

@@ -280,7 +280,6 @@ django==4.2.18
# edx-search
# edx-submissions
# edx-toggles
# edx-token-utils
# edx-when
# edxval
# enmerkar
@@ -637,7 +636,7 @@ edx-when==2.5.1
# edx-proctoring
edxval==2.9.0
# via -r requirements/edx/base.txt
elasticsearch==7.9.1
elasticsearch==7.13.4
# via
# -c requirements/edx/../common_constraints.txt
# -c requirements/edx/../constraints.txt
@@ -1147,7 +1146,6 @@ pygments==2.19.1
pyjwkest==1.4.2
# via
# -r requirements/edx/base.txt
# edx-token-utils
# lti-consumer-xblock
pyjwt[crypto]==2.10.1
# via
@@ -1529,7 +1527,7 @@ uritemplate==4.1.1
# drf-spectacular
# drf-yasg
# google-api-python-client
urllib3==2.2.3
urllib3==1.26.20
# via
# -c requirements/edx/../common_constraints.txt
# -r requirements/edx/base.txt

View File

@@ -84,7 +84,6 @@ edx-rest-api-client
edx-search
edx-submissions
edx-toggles # Feature toggles management
edx-token-utils # Validate exam access tokens
edx-when
edxval
event-tracking

View File

@@ -125,7 +125,7 @@ typing-extensions==4.12.2
# opentelemetry-sdk
# referencing
# semgrep
urllib3==2.2.3
urllib3==2.3.0
# via
# -c requirements/edx/../common_constraints.txt
# requests

View File

@@ -306,7 +306,6 @@ django==4.2.18
# edx-search
# edx-submissions
# edx-toggles
# edx-token-utils
# edx-when
# edxval
# enmerkar
@@ -660,7 +659,7 @@ edx-when==2.5.1
# edx-proctoring
edxval==2.9.0
# via -r requirements/edx/base.txt
elasticsearch==7.9.1
elasticsearch==7.13.4
# via
# -c requirements/edx/../common_constraints.txt
# -c requirements/edx/../constraints.txt
@@ -1211,7 +1210,6 @@ pygments==2.19.1
pyjwkest==1.4.2
# via
# -r requirements/edx/base.txt
# edx-token-utils
# lti-consumer-xblock
pyjwt[crypto]==2.10.1
# via
@@ -1615,7 +1613,7 @@ uritemplate==4.1.1
# drf-spectacular
# drf-yasg
# google-api-python-client
urllib3==2.2.3
urllib3==1.26.20
# via
# -c requirements/edx/../common_constraints.txt
# -r requirements/edx/base.txt

View File

@@ -14,7 +14,5 @@ idna==3.10
# via requests
requests==2.32.3
# via -r scripts/xblock/requirements.in
urllib3==2.2.3
# via
# -c scripts/xblock/../../requirements/common_constraints.txt
# requests
urllib3==2.3.0
# via requests