why:
* error descriptions in the basic outcomes response are sometimes
translated and can't be relied on for parsing
* includes new ext_canvas_error_code XML attribute when request fails,
in both normal and quizzes response
* skips a test that succeeds in rspec but fails in flakey_spec_catcher,
and is unrelated to this change
closes INTEROP-7084
flag=none
test plan:
* set up the lti_example tool for grade passback (see
doc/lti_manual/11_testing.md#1.1_Basic_Outcomes for details)
* create a situation that will cause the grade passback to error: edit
the assignment to have no points possible, remove the user from the
course, pass no score or a score greater than 1, etc
* submitting that passback should show you the response XML in the tool
window
* the response XML should have the ext_canvas_error_code XML attribute
inside in the header -> response header info -> status info node.
* the value of this XML node should be an untranslated short string
Change-Id: I82c3185bb329efd9e35f21fa8f626d98c47c12ba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265244
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
Add sourcedid class
load sourcedid from token with validation
this supports both jwt and legacy sourcedids
use sourcedid class in in basic_outcomes
Test Plan:
- Execute an LTI basic outcomes request
- It should update grades and/or create a submission in canvas
- It should still use the OLD sourced_ids (i.e.
%r{^(\d+)-(\d+)-(\d+)-(\d+)-(\w+)$})
- Enable the "Encrypted Sourcedids for Basic Outcomes"
on the root account.
- Execute an LTI baic outcomes request
- It should use the NEW sourcdids (an encrypted JWT)
- It should update grades ando/or create a submisison in canvas
refs PLAT-2747
Change-Id: I1b6223611228c8a078bcfa73976329365ebb1b7c
Reviewed-on: https://gerrit.instructure.com/128167
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Weston Dransfield <wdransfield@instructure.com>