From 38f29c30f8228c4de58dbd295332df1330fdb027 Mon Sep 17 00:00:00 2001
From: Tim McCormack <tmccormack@edx.org>
Date: Fri, 5 Feb 2021 16:19:14 +0000
Subject: [PATCH] feat: Use edx-proctoring 3.0.0 and set required ID generation
 key (#26408)

MST-637: edx-proctoring 3.0.0 now requires a new key for use in ID
generation, starting from same value as SECRET_KEY (pre-rotation, but
rotation never happened for devstack.)

Remote config changes already made for relevant environments.
---
 lms/envs/devstack.py             | 4 ++++
 lms/envs/test.py                 | 4 ++++
 requirements/edx/base.txt        | 2 +-
 requirements/edx/development.txt | 2 +-
 requirements/edx/testing.txt     | 2 +-
 5 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/lms/envs/devstack.py b/lms/envs/devstack.py
index 919ed493760..e33a17d4fa4 100644
--- a/lms/envs/devstack.py
+++ b/lms/envs/devstack.py
@@ -434,3 +434,7 @@ FEATURES['ENABLE_PREREQUISITE_COURSES'] = True
 
 # Don't tolerate deprecated edx-platform import usage in devstack.
 ERROR_ON_DEPRECATED_EDX_PLATFORM_IMPORTS = True
+
+# Used in edx-proctoring for ID generation in lieu of SECRET_KEY - dummy value
+# (ref MST-637)
+PROCTORING_USER_OBFUSCATION_KEY = '85920908f28904ed733fe576320db18cabd7b6cd'
diff --git a/lms/envs/test.py b/lms/envs/test.py
index 1d2924c6e1f..43f1fdea7db 100644
--- a/lms/envs/test.py
+++ b/lms/envs/test.py
@@ -583,6 +583,10 @@ PROCTORING_SETTINGS = {
     }
 }
 
+# Used in edx-proctoring for ID generation in lieu of SECRET_KEY - dummy value
+# (ref MST-637)
+PROCTORING_USER_OBFUSCATION_KEY = '85920908f28904ed733fe576320db18cabd7b6cd'
+
 ############### Settings for Django Rate limit #####################
 
 RATELIMIT_RATE = '2/m'
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index f0f04e8dc96..e9198c5a23e 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -106,7 +106,7 @@ edx-milestones==0.3.0     # via -r requirements/edx/base.in
 edx-opaque-keys[django]==2.2.0  # via -r requirements/edx/paver.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, lti-consumer-xblock, xmodule
 edx-organizations==6.8.0  # via -r requirements/edx/base.in
 edx-proctoring-proctortrack==1.0.5  # via -r requirements/edx/base.in
-edx-proctoring==2.6.7     # via -r requirements/edx/base.in, edx-proctoring-proctortrack
+edx-proctoring==3.0.0     # via -r requirements/edx/base.in, edx-proctoring-proctortrack
 edx-rbac==1.4.1           # via edx-enterprise
 edx-rest-api-client==5.3.0  # via -r requirements/edx/base.in, edx-enterprise, edx-proctoring
 edx-search==3.0.0         # via -r requirements/edx/base.in
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index 5aaa925b4b0..fa220a3533e 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -118,7 +118,7 @@ edx-milestones==0.3.0     # via -r requirements/edx/testing.txt
 edx-opaque-keys[django]==2.2.0  # via -r requirements/edx/testing.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, lti-consumer-xblock, xmodule
 edx-organizations==6.8.0  # via -r requirements/edx/testing.txt
 edx-proctoring-proctortrack==1.0.5  # via -r requirements/edx/testing.txt
-edx-proctoring==2.6.7     # via -r requirements/edx/testing.txt, edx-proctoring-proctortrack
+edx-proctoring==3.0.0     # via -r requirements/edx/testing.txt, edx-proctoring-proctortrack
 edx-rbac==1.4.1           # via -r requirements/edx/testing.txt, edx-enterprise
 edx-rest-api-client==5.3.0  # via -r requirements/edx/testing.txt, edx-enterprise, edx-proctoring
 edx-search==3.0.0         # via -r requirements/edx/testing.txt
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index 524624d5c2a..32742b6de49 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -115,7 +115,7 @@ edx-milestones==0.3.0     # via -r requirements/edx/base.txt
 edx-opaque-keys[django]==2.2.0  # via -r requirements/edx/base.txt, edx-bulk-grades, edx-ccx-keys, edx-completion, edx-drf-extensions, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-user-state-client, edx-when, lti-consumer-xblock, xmodule
 edx-organizations==6.8.0  # via -r requirements/edx/base.txt
 edx-proctoring-proctortrack==1.0.5  # via -r requirements/edx/base.txt
-edx-proctoring==2.6.7     # via -r requirements/edx/base.txt, edx-proctoring-proctortrack
+edx-proctoring==3.0.0     # via -r requirements/edx/base.txt, edx-proctoring-proctortrack
 edx-rbac==1.4.1           # via -r requirements/edx/base.txt, edx-enterprise
 edx-rest-api-client==5.3.0  # via -r requirements/edx/base.txt, edx-enterprise, edx-proctoring
 edx-search==3.0.0         # via -r requirements/edx/base.txt
-- 
GitLab