Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-proctoring
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
edx-proctoring
Commits
3e187db1
Commit
3e187db1
authored
Feb 25, 2016
by
Douglas Hall
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #273 from edx/ibrahimahmed443/SOL-1611
Ibrahimahmed443/sol 1611
parents
0387d065
2e0945a5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
23 additions
and
12 deletions
+23
-12
edx_proctoring/api.py
+3
-0
edx_proctoring/backends/software_secure.py
+16
-10
edx_proctoring/backends/tests/test_software_secure.py
+2
-1
edx_proctoring/tests/test_services.py
+2
-1
No files found.
edx_proctoring/api.py
View file @
3e187db1
...
...
@@ -557,11 +557,13 @@ def create_exam_attempt(exam_id, user_id, taking_as_proctored=False):
# get the name of the user, if the service is available
full_name
=
None
email
=
None
credit_service
=
get_runtime_service
(
'credit'
)
if
credit_service
:
credit_state
=
credit_service
.
get_credit_state
(
user_id
,
exam
[
'course_id'
])
full_name
=
credit_state
[
'profile_fullname'
]
email
=
credit_state
[
'student_email'
]
context
=
{
'time_limit_mins'
:
allowed_time_limit_mins
,
...
...
@@ -569,6 +571,7 @@ def create_exam_attempt(exam_id, user_id, taking_as_proctored=False):
'is_sample_attempt'
:
exam
[
'is_practice_exam'
],
'callback_url'
:
callback_url
,
'full_name'
:
full_name
,
'email'
:
email
}
# see if there is an exam review policy for this exam
...
...
edx_proctoring/backends/software_secure.py
View file @
3e187db1
...
...
@@ -47,7 +47,8 @@ class SoftwareSecureBackendProvider(ProctoringBackendProvider):
"""
def
__init__
(
self
,
organization
,
exam_sponsor
,
exam_register_endpoint
,
secret_key_id
,
secret_key
,
crypto_key
,
software_download_url
):
secret_key_id
,
secret_key
,
crypto_key
,
software_download_url
,
send_email
=
False
):
"""
Class initializer
"""
...
...
@@ -60,6 +61,7 @@ class SoftwareSecureBackendProvider(ProctoringBackendProvider):
self
.
crypto_key
=
crypto_key
self
.
timeout
=
10
self
.
software_download_url
=
software_download_url
self
.
send_email
=
send_email
self
.
passing_review_status
=
[
'Clean'
,
'Rules Violation'
]
self
.
failing_review_status
=
[
'Not Reviewed'
,
'Suspicious'
]
...
...
@@ -392,6 +394,18 @@ class SoftwareSecureBackendProvider(ProctoringBackendProvider):
if
not
exam_name
:
exam_name
=
'Proctored Exam'
org_extra
=
{
"examStartDate"
:
start_time_str
,
"examEndDate"
:
end_time_str
,
"noOfStudents"
:
1
,
"examID"
:
exam
[
'id'
],
"courseID"
:
exam
[
'course_id'
],
"firstName"
:
first_name
,
"lastName"
:
last_name
}
if
self
.
send_email
:
org_extra
[
"email"
]
=
context
[
'email'
]
return
{
"examCode"
:
attempt_code
,
"organization"
:
self
.
organization
,
...
...
@@ -406,15 +420,7 @@ class SoftwareSecureBackendProvider(ProctoringBackendProvider):
"ssiProduct"
:
'rp-now'
,
# need to pass in a URL to the LMS?
"examUrl"
:
callback_url
,
"orgExtra"
:
{
"examStartDate"
:
start_time_str
,
"examEndDate"
:
end_time_str
,
"noOfStudents"
:
1
,
"examID"
:
exam
[
'id'
],
"courseID"
:
exam
[
'course_id'
],
"firstName"
:
first_name
,
"lastName"
:
last_name
,
}
"orgExtra"
:
org_extra
}
def
_header_string
(
self
,
headers
,
date
):
...
...
edx_proctoring/backends/tests/test_software_secure.py
View file @
3e187db1
...
...
@@ -84,7 +84,8 @@ def mock_response_error(url, request): # pylint: disable=unused-argument
"exam_register_endpoint"
:
"http://test"
,
"organization"
:
"edx"
,
"exam_sponsor"
:
"edX LMS"
,
"software_download_url"
:
"http://example.com"
"software_download_url"
:
"http://example.com"
,
"send_email"
:
True
}
}
)
...
...
edx_proctoring/tests/test_services.py
View file @
3e187db1
...
...
@@ -18,7 +18,7 @@ class MockCreditService(object):
"""
def
__init__
(
self
,
enrollment_mode
=
'verified'
,
profile_fullname
=
'Wolfgang von Strucker'
,
course_name
=
'edx demo'
):
course_name
=
'edx demo'
,
student_email
=
'foo@bar'
):
"""
Initializer
"""
...
...
@@ -27,6 +27,7 @@ class MockCreditService(object):
'course_name'
:
course_name
,
'enrollment_mode'
:
enrollment_mode
,
'profile_fullname'
:
profile_fullname
,
'student_email'
:
student_email
,
'credit_requirement_status'
:
[]
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment