blob: c2a61b5ea33daa5755d7edd12826067287a6050e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import copy
import pytest
from jb.models.assignment import Assignment
@pytest.fixture
def get_assignment_response_bad_tsid(
get_assignment_response, amt_worker_id, amt_assignment_id
):
res = copy.deepcopy(get_assignment_response)
res["Assignment"]["Answer"] = (
'<?xml version="1.0" encoding="UTF-8"?>\n'
'<QuestionFormAnswers xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionFormAnswers.xsd">\n '
"<Answer>\n <QuestionIdentifier>amt_worker_id</QuestionIdentifier>\n "
f" <FreeText>{amt_worker_id}</FreeText>\n </Answer>\n <Answer>\n "
" <QuestionIdentifier>amt_assignment_id</QuestionIdentifier>\n "
f" <FreeText>{amt_assignment_id}</FreeText>\n </Answer>\n "
f" <Answer>\n <QuestionIdentifier>tsid</QuestionIdentifier>\n abc123 <FreeText></FreeText>\n </Answer>\n"
f"</QuestionFormAnswers>"
)
return res
def test_get_assignment(get_assignment_response):
assignment = Assignment.from_amt_get_assignment(
get_assignment_response["Assignment"]
)
assert assignment.tsid is not None
def test_get_assignment_no_tsid(get_assignment_response_no_tsid):
assignment = Assignment.from_amt_get_assignment(
get_assignment_response_no_tsid["Assignment"]
)
assert assignment.tsid is None
def test_get_assignment_bad_tsid(get_assignment_response_bad_tsid):
assignment = Assignment.from_amt_get_assignment(
get_assignment_response_bad_tsid["Assignment"]
)
assert assignment.tsid is None
|