Added feedback check for AI-assessment test Added peer assessment feedback test Added tests for peer grading module Added stub peer grading module service Updated Studio/LMS page objects and tests to use bok-choy v0.1.0 Added LMS bok-choy tests from e2e repo Add bok-choy tests for peer grading module, including calibration.
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
"""
|
|
Fixture to configure XQueue response.
|
|
"""
|
|
|
|
import requests
|
|
import json
|
|
from . import XQUEUE_STUB_URL
|
|
|
|
|
|
class XQueueResponseFixtureError(Exception):
|
|
"""
|
|
Error occurred while configuring the stub XQueue.
|
|
"""
|
|
pass
|
|
|
|
|
|
class XQueueResponseFixture(object):
|
|
"""
|
|
Configure the XQueue stub's response to submissions.
|
|
"""
|
|
|
|
def __init__(self, pattern, response_dict):
|
|
"""
|
|
Configure XQueue stub to POST `response_dict` (a dictionary)
|
|
back to the LMS when it receives a submission that contains the string
|
|
`pattern`.
|
|
|
|
Remember that there is one XQueue stub shared by all the tests;
|
|
if possible, you should have tests use unique queue names
|
|
to avoid conflict between tests running in parallel.
|
|
"""
|
|
self._pattern = pattern
|
|
self._response_dict = response_dict
|
|
|
|
def install(self):
|
|
"""
|
|
Configure the stub via HTTP.
|
|
"""
|
|
url = XQUEUE_STUB_URL + "/set_config"
|
|
|
|
# Configure the stub to respond to submissions to our queue
|
|
payload = {self._pattern: json.dumps(self._response_dict)}
|
|
response = requests.put(url, data=payload)
|
|
|
|
if not response.ok:
|
|
raise XQueueResponseFixtureError(
|
|
"Could not configure XQueue stub for queue '{1}'. Status code: {2}".format(
|
|
self._pattern, self._response_dict))
|