chore: fix tests
This commit is contained in:
@@ -2933,9 +2933,9 @@ class TestRenderXBlock(RenderXBlockTestMixin, ModuleStoreTestCase, CompletionWaf
|
||||
)
|
||||
@ddt.unpack
|
||||
@patch.dict('django.conf.settings.FEATURES', {'ENABLE_PROCTORED_EXAMS': True})
|
||||
@patch('lms.djangoapps.courseware.views.views.unpack_token_for')
|
||||
@patch('lms.djangoapps.courseware.views.views.unpack_jwt')
|
||||
def test_render_descendant_of_exam_gated_by_access_token(self, exam_access_token,
|
||||
expected_response, _mock_token_unpack):
|
||||
expected_response, _mock_unpack_jwt):
|
||||
"""
|
||||
Verify blocks inside an exam that requires token access are gated by
|
||||
a valid exam access JWT issued for that exam sequence.
|
||||
@@ -2968,7 +2968,7 @@ class TestRenderXBlock(RenderXBlockTestMixin, ModuleStoreTestCase, CompletionWaf
|
||||
CourseOverview.load_from_module_store(self.course.id)
|
||||
self.setup_user(admin=False, enroll=True, login=True)
|
||||
|
||||
def _mock_token_unpack_fn(token, user_id):
|
||||
def _mock_unpack_jwt_fn(token, user_id):
|
||||
if token == 'valid-jwt-for-exam-sequence':
|
||||
return {'content_id': str(self.sequence.location)}
|
||||
elif token == 'valid-jwt-for-incorrect-sequence':
|
||||
@@ -2976,7 +2976,7 @@ class TestRenderXBlock(RenderXBlockTestMixin, ModuleStoreTestCase, CompletionWaf
|
||||
else:
|
||||
raise Exception('invalid JWT')
|
||||
|
||||
_mock_token_unpack.side_effect = _mock_token_unpack_fn
|
||||
_mock_unpack_jwt.side_effect = _mock_unpack_jwt_fn
|
||||
|
||||
# Problem and Vertical response should be gated on access token
|
||||
for block in [self.problem_block, self.vertical_block]:
|
||||
|
||||
@@ -4315,22 +4315,8 @@ TOKEN_SIGNING = {
|
||||
'JWT_ISSUER': 'http://127.0.0.1:8740',
|
||||
'JWT_SIGNING_ALGORITHM': 'RS512',
|
||||
'JWT_SUPPORTED_VERSION': '1.2.0',
|
||||
'JWT_PUBLIC_SIGNING_JWK_SET': '''{
|
||||
"keys": [
|
||||
{
|
||||
"kid":"token-test-wrong-key",
|
||||
"e": "AQAB",
|
||||
"kty": "RSA",
|
||||
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dffgRQLD1qf5D6sprmYfWVokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ"
|
||||
},
|
||||
{
|
||||
"kid":"token-test-sign",
|
||||
"e": "AQAB",
|
||||
"kty": "RSA",
|
||||
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dRgffQLD1qf5D6sprmYfWWokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ"
|
||||
}
|
||||
]
|
||||
}''',
|
||||
'JWT_PRIVATE_SIGNING_JWK': None,
|
||||
'JWT_PUBLIC_SIGNING_JWK_SET': None,
|
||||
}
|
||||
|
||||
COURSE_CATALOG_URL_ROOT = 'http://localhost:8008'
|
||||
|
||||
@@ -657,3 +657,35 @@ CSRF_TRUSTED_ORIGINS_WITH_SCHEME = ['https://*.example.com']
|
||||
# case of new django version these values will override.
|
||||
if django.VERSION[0] >= 4: # for greater than django 3.2 use with schemes.
|
||||
CSRF_TRUSTED_ORIGINS = CSRF_TRUSTED_ORIGINS_WITH_SCHEME
|
||||
|
||||
|
||||
############## Settings for JWT token handling ##############
|
||||
TOKEN_SIGNING = {
|
||||
'JWT_ISSUER': 'token-test-issuer',
|
||||
'JWT_SIGNING_ALGORITHM': 'RS512',
|
||||
'JWT_SUPPORTED_VERSION': '1.2.0',
|
||||
'JWT_PRIVATE_SIGNING_JWK': '''{
|
||||
"e": "AQAB",
|
||||
"d": "HIiV7KNjcdhVbpn3KT-I9n3JPf5YbGXsCIedmPqDH1d4QhBofuAqZ9zebQuxkRUpmqtYMv0Zi6ECSUqH387GYQF_XvFUFcjQRPycISd8TH0DAKaDpGr-AYNshnKiEtQpINhcP44I1AYNPCwyoxXA1fGTtmkKChsuWea7o8kytwU5xSejvh5-jiqu2SF4GEl0BEXIAPZsgbzoPIWNxgO4_RzNnWs6nJZeszcaDD0CyezVSuH9QcI6g5QFzAC_YuykSsaaFJhZ05DocBsLczShJ9Omf6PnK9xlm26I84xrEh_7x4fVmNBg3xWTLh8qOnHqGko93A1diLRCrKHOvnpvgQ",
|
||||
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dRgffQLD1qf5D6sprmYfWWokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ",
|
||||
"q": "3T3DEtBUka7hLGdIsDlC96Uadx_q_E4Vb1cxx_4Ss_wGp1Loz3N3ZngGyInsKlmbBgLo1Ykd6T9TRvRNEWEtFSOcm2INIBoVoXk7W5RuPa8Cgq2tjQj9ziGQ08JMejrPlj3Q1wmALJr5VTfvSYBu0WkljhKNCy1KB6fCby0C9WE",
|
||||
"p": "vUqzWPZnDG4IXyo-k5F0bHV0BNL_pVhQoLW7eyFHnw74IOEfSbdsMspNcPSFIrtgPsn7981qv3lN_staZ6JflKfHayjB_lvltHyZxfl0dvruShZOx1N6ykEo7YrAskC_qxUyrIvqmJ64zPW3jkuOYrFs7Ykj3zFx3Zq1H5568G0",
|
||||
"kid": "token-test-sign", "kty": "RSA"
|
||||
}''',
|
||||
'JWT_PUBLIC_SIGNING_JWK_SET': '''{
|
||||
"keys": [
|
||||
{
|
||||
"kid":"token-test-wrong-key",
|
||||
"e": "AQAB",
|
||||
"kty": "RSA",
|
||||
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dffgRQLD1qf5D6sprmYfWVokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ"
|
||||
},
|
||||
{
|
||||
"kid":"token-test-sign",
|
||||
"e": "AQAB",
|
||||
"kty": "RSA",
|
||||
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dRgffQLD1qf5D6sprmYfWWokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ"
|
||||
}
|
||||
]
|
||||
}''',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user