def test_create_grade_passback_no_journal(self): """Test if the GradePassBackRequest is correctly created when no journal is given""" passback = lti_grade.GradePassBackRequest(settings.LTI_SECRET, settings.LTI_KEY, None) self.assertIsNone(passback.score) self.assertIsNone(passback.url) self.assertIsNone(passback.sourcedid)
def test_create_grade_passback(self): """Test if the GradePassBackRequest is correctly created when a journal is given""" passback = lti_grade.GradePassBackRequest(settings.LTI_SECRET, settings.LTI_KEY, self.journal, send_score=True) assert passback.score assert passback.url assert passback.sourcedid
def test_create_xml_no_score_no_data(self): """Test create xml with no score or data set.""" passback = lti_grade.GradePassBackRequest(settings.LTI_SECRET, settings.LTI_KEY, None) result = b'<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXRequestHeaderInfo><imsx_version>V1.0</imsx_version>\ <imsx_messageIdentifier>0</imsx_messageIdentifier></imsx_POXRequestHeaderInfo>\ </imsx_POXHeader><imsx_POXBody><replaceResultRequest><resultRecord><sourcedGUID><sourcedId />\ </sourcedGUID></resultRecord></replaceResultRequest></imsx_POXBody></imsx_POXEnvelopeRequest>' self.assertEqual(result, passback.create_xml())
def test_create_xml_with_score(self): """Test create xml with the score set.""" passback = lti_grade.GradePassBackRequest(settings.LTI_SECRET, settings.LTI_KEY, self.journal, send_score=True) result = b'<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXRequestHeaderInfo><imsx_version>V1.0</imsx_version><imsx_messageIdentifier>0\ </imsx_messageIdentifier></imsx_POXRequestHeaderInfo></imsx_POXHeader><imsx_POXBody><replaceResultRequest>\ <resultRecord><sourcedGUID><sourcedId>f6d552</sourcedId></sourcedGUID><result><resultScore><language>en</language>\ <textString>0.0</textString></resultScore></result></resultRecord></replaceResultRequest></imsx_POXBody>\ </imsx_POXEnvelopeRequest>' self.assertEqual(result, passback.create_xml())
def test_create_xml_with_data_url(self): """Test create xml.""" passback = lti_grade.GradePassBackRequest( settings.LTI_SECRET, settings.LTI_KEY, self.journal, result_data={'url': 'http://127.0.0.1:8000/grade_passback'}) result = b'<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXRequestHeaderInfo><imsx_version>V1.0</imsx_version><imsx_messageIdentifier>0\ </imsx_messageIdentifier></imsx_POXRequestHeaderInfo></imsx_POXHeader><imsx_POXBody><replaceResultRequest>\ <resultRecord><sourcedGUID><sourcedId>f6d552</sourcedId></sourcedGUID><result><resultData>\ <url>http://127.0.0.1:8000/grade_passback</url></resultData></result></resultRecord></replaceResultRequest>\ </imsx_POXBody></imsx_POXEnvelopeRequest>' self.assertEqual(result, passback.create_xml())
def test_create_xml_with_data_text(self): """Test create xml.""" passback = lti_grade.GradePassBackRequest( settings.LTI_SECRET, settings.LTI_KEY, self.journal, result_data={'text': 'New entry'}) result = b'<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXRequestHeaderInfo><imsx_version>V1.0</imsx_version><imsx_messageIdentifier>0\ </imsx_messageIdentifier></imsx_POXRequestHeaderInfo></imsx_POXHeader><imsx_POXBody><replaceResultRequest>\ <resultRecord><sourcedGUID><sourcedId>f6d552</sourcedId></sourcedGUID><result><resultData>\ <text>New entry</text></resultData></result></resultRecord></replaceResultRequest>\ </imsx_POXBody></imsx_POXEnvelopeRequest>' assert result == passback.create_xml()
def test_parse_return_empty_xml(self): """""" passback = lti_grade.GradePassBackRequest(settings.LTI_SECRET, settings.LTI_KEY, self.journal) xml = b'<?xml version="1.0" encoding="UTF-8"?>\ <imsx_POXEnvelopeResponse xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXResponseHeaderInfo><imsx_version>V1.0</imsx_version><imsx_messageIdentifier/>\ <imsx_statusInfo><imsx_messageRefIdentifier>2</imsx_messageRefIdentifier>\ <imsx_operationRefIdentifier>replaceResult</imsx_operationRefIdentifier></imsx_statusInfo>\ </imsx_POXResponseHeaderInfo></imsx_POXHeader><imsx_POXBody>\ <replaceResultResponse/></imsx_POXBody></imsx_POXEnvelopeResponse>' data = passback.parse_return_xml(xml) self.assertEqual(data['severity'], None) self.assertEqual(data['code_mayor'], None) self.assertEqual(data['description'], 'not found')
def test_create_xml_with_data_url_timestamp(self): """Test create xml.""" passback = lti_grade.GradePassBackRequest( settings.LTI_SECRET, settings.LTI_KEY, self.journal, submitted_at='2017-04-16T18:54:36.736+00:00', result_data={'url': 'http://127.0.0.1:8000/grade_passback'}) result = b'<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">\ <imsx_POXHeader><imsx_POXRequestHeaderInfo><imsx_version>V1.0</imsx_version><imsx_messageIdentifier>0\ </imsx_messageIdentifier></imsx_POXRequestHeaderInfo></imsx_POXHeader><imsx_POXBody><replaceResultRequest>\ <submissionDetails><submittedAT>2017-04-16T18:54:36.736+00:00</submittedAT></submissionDetails>\ <resultRecord><sourcedGUID><sourcedId>f6d552</sourcedId></sourcedGUID><result><resultData>\ <url>http://127.0.0.1:8000/grade_passback</url></resultData></result></resultRecord></replaceResultRequest>\ </imsx_POXBody></imsx_POXEnvelopeRequest>' assert result == passback.create_xml()