closes CORE-1245
recent internal changes in rails (released in 5.1.6) make it more
difficult for our module prepend to work, because column information is
no longer referenced lazily when checking on attribute defaults (see
changes to model_schema.rb). this means that we would need to tie in at
a lower level so that _default_attributes excludes the dropped column,
but in looking at that, Rails 5 added support for ignoring columns,
which ties in at the right level and should solve the same use case we
have.
see http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-ignored_columns-3D
Change-Id: I1f76e9d0894551f90232a36f5d48f27f8989c3a1
Reviewed-on: https://gerrit.instructure.com/145723
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
- have a folder with a question mark in its name
- enter that folder in the files tab
- attempt to use the column headers to sort the files
- this should work (and the page shouldn't break)
fixes ADMIN-1004
Change-Id: Ibb4c7c046baabd1fcfaeeb0a651de601437143fd
Reviewed-on: https://gerrit.instructure.com/149006
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Fixes: CORE-1365
Test plan:
* When a screen reader user focuses the + People button,
it should say “Add People"
Change-Id: I3d44ec698c09fcd95ee6fbbc71ca3292e941b146
Reviewed-on: https://gerrit.instructure.com/149141
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes CORE-1372
Test Plan:
- Go to theme editor
- Make a change
- Preview the change
- Save the theme
- Celebrate it working
Change-Id: I1cc951c8b558a2a3aef02806fab7195b55127191
Reviewed-on: https://gerrit.instructure.com/149066
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes ADMIN-199
test plan:
- have a user with some items in the planner, in the past and the
future
- have a couple future items separated with 2 empty days between them
- have a couple future items with 3 or more days between them
- load the planner
> expect only days in the past with items to be shown
> expect yesterday, today, and tomorrow to always be shown, whether
they have items or not
> expect the stretch of 2 future empty days to be individual empty days
> expect the stretch of 3 future empty days to have a single
"start to end" grouping with a pretty picture saying "nothing planned"
- create an item so it's the only one on a day, then delete it
> expect it to be deleted (and the browser not to go into an infinite
loop)
Change-Id: I4fbdc210501103396946f7b343e2ccbd488d9919
Reviewed-on: https://gerrit.instructure.com/147973
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Christi Wruck
Fixes COMMS-1096
Test Plan:
* Enable the Blueprint Courses feature flag.
* Enable Section specific discussions feature flag.
* Create a new course.
* In this course, go to the course settings page, and check the
"Enable course as a Blueprint Course" setting. Make sure to scroll
to the bottom of the page and click the "Update Course Settings"
button to save this change.
* Create a couple announcements and discussions in this course, and
lock at least one announcement and discussion. There is a button to
do this in the announcements and discussions index page.
* On the index pages, make sure you can use the blueprint lock button
with keyboard only navigation and a screen reader.
* Create another new course.
* On the original course you created, click the blueprint options pane
on the very upper left side of the screen (looks like a blue tab).
Click the associations button in there, and add the new course that
you just created as an associated (slave) course to this master
course.
* Wait for the slave course to sync. You might need to have delayed
jobs running for this to work? You can view the status in the same
blueprint options pane we accessed in the last step.
* Go to the slave course and make sure that the blueprint lock button
shows up in both the announcements and discussions index pages. Make
sure that you cannot focus or press that button with keyboard only
navigation. Using a screen reader, make sure that it tells you what
the button is, and that the button is dimmed (not clickable). The
screen reader should announce the current locked state of the
discussion topic, as well as title of the discussion topic this is
for.
Change-Id: Iaa913b2f62215d753cf577129f0c3b30e2e32c6d
Reviewed-on: https://gerrit.instructure.com/149117
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Refs MBL-10173
Test Plan:
- Regression test the test plans from the
following two commits
https://gerrit.instructure.com/#/c/134699/https://gerrit.instructure.com/#/c/140671/
- Create an assignment that is due in the future (less than 1 week) and requires submission
- Create an assignment that is past due (less than 4 weeks) and requires submission
- Create an assignment in the future (less than 1 week) that does not requires submission
- Create an assignment that is past due (less than 4 weeks) and does not require submission
- As a student in that course hit /api/v1/users/self/todo
- The student should have 3 todos
- the assignment due in the future that requires submission
- the assignment due in the past that requires submission
- the assignment due in the future that does not require submission
- The student should not see a todo for the past due assignment not
requiring submission
Change-Id: If097f4da041583e0a5a8b1ada8c4fadabed2bfa5
Reviewed-on: https://gerrit.instructure.com/147768
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Matthew Sessions <msessions@instructure.com>
test plan:
* specs, mostly because setting up a parallel sis
environment isn't worth it
closes #ADMIN-1012
Change-Id: I6e87a869a0b211b5cf8fe21e64bd43c151c3e735
Reviewed-on: https://gerrit.instructure.com/149075
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
the old code probably got reintroduced while resolving a merge conflict
fixes ADMIN-1014
test plan:
- open edit tray, then cancel
- should be no console error
Change-Id: I441c72731ef11c34c1139e7f165935099813a014
Reviewed-on: https://gerrit.instructure.com/149151
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
this keeps it from appearing under the new activity button and matches
the position of the load more button.
fixes ADMIN-1001
test plan:
- have new activity, tab to the load prior items button.
- it should appear centered instead of behind the new activity button
Change-Id: I7b7a95d3e128f2cf7dac60f66ab7da8ccb49f1c7
Reviewed-on: https://gerrit.instructure.com/149126
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Fixes: ADMIN-1008
Test plan:
Be logged in as an admin
Go to the 'Settings' page for the account
Click the 'Admins' tab
Click '+ Account Admins'
Enter a username that is currently in the account
Click 'Continue'
it should look right in both RTL and LTR
Change-Id: I656f254e22cd0a5e11a648b55928eea93024e021
Reviewed-on: https://gerrit.instructure.com/149153
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
test plan:
* create an account admin
* remove them as an admin
* create a new account admin
* it should not send a notification to the deleted admin
closes #COMMS-865
Change-Id: I22c57f6e448a9d9634dfd776d255c690273aae51
Reviewed-on: https://gerrit.instructure.com/148376
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
also ensure a failed export leaves the job marked failed,
rather than stuck in "exporting"
test plan:
- enable post to SIS in a course
- create an ungraded (practice or survey) quiz
- attempt to migrate it to quizzes2
- it should not fail and leave content exports stuck
fixes ADMIN-990
Change-Id: I717153e62f03be8a5f3974bec925377e608c08df
Reviewed-on: https://gerrit.instructure.com/148254
Reviewed-by: Steve Kacsmark <skacsmark@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Tested-by: Jenkins
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
This patchset changes calls of DueDateCacher.recompute_course to
DueDateCacher.recompute_users_for_course in places where we only have
specific enrollments or users we can work on and avoid doing the work
of the entire class.
fixes GRADE-1129
test plan:
- specs pass
Change-Id: Ia6814e4584993bd9d0f2ba330eb33c3a635ca0e1
Reviewed-on: https://gerrit.instructure.com/148854
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Closes PLAT-3313
Test Plan:
* Verify you can set scopes for developer keys in the
create and update actions.
* Verify you can only specify valid scopes
* Verify developer key scopes are returned in JSON
responses of API requests
* Verify the API token scoping FF must be enabled
for these changes to work.
Change-Id: I2151c4ac98ae35287c5db6ea56887ba18a83d709
Reviewed-on: https://gerrit.instructure.com/148627
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Stewie aka Nicholas Stewart <nstewart@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Test plan:
* run compile_assets in prod mode
* go to a page
* load a script in firefox/chorme devtools,
* it shouldn’t kill the browser forever while it syntax highlights
And each statement should be on its own line
* setting a breakpoint on any statement should be possible since they
Are not all combined by commas
Change-Id: I978d93985c210afd8ab5a397af04a14e92847c5d
Reviewed-on: https://gerrit.instructure.com/149002
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes: CORE-1329
See: https://www.zachleat.com/web/comprehensive-webfonts/#critical-foft-preload
Test plan:
* the lato font should load a little faster, especially for repeat
page views
Change-Id: Ib070136ae02beb9e2f0213cc0247b2180de20666
Reviewed-on: https://gerrit.instructure.com/147704
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes GRADE-1098
test plan:
1. Create an Assignment
a. with Display Grade as Percentage
b. worth 9.5 points
2. Open New Gradebook
3. Grade a student on this assignment twice
a. once with 55 (interpreted as percentage)
b. again with 55% (explicit percentage)
4. Verify grade is 55%
5. Verify score is 5.225
Change-Id: Ie48ec7d5b787e864bfd3379e8dc6a4dbebebc2e5
Reviewed-on: https://gerrit.instructure.com/148848
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Shahbaz Javeed <sjaveed@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
refs ADMIN-278
Test plan
- Specs pass
- /calendar and /calendar2 route both
still work and calendar shows up as
expected
Change-Id: Ic17a203417c354dbeaf7a5c68cc47e845c091850
Reviewed-on: https://gerrit.instructure.com/148061
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
test plan:
* ensure a successful build
Change-Id: Ia4a2bd8c84fc5325a9ed3f738a91cf89aa5f285c
Reviewed-on: https://gerrit.instructure.com/149060
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
fixes GRADE-1123
QA Notes:
Ideally, this is a Dev-QA. Create content using the Rails console to
save a ton of time.
test plan:
1. Create 40 Grading Period Sets
2. Visit the grading period sets api for each page
/api/v1/accounts/1/grading_period_sets?page=1&per_page=10
3. Document the ids for the grading period sets in the order they are
returned
4. Verify the ids are in ascending order
5. Verify the ids have no duplicates
6. Verify the ids include all active grading period sets
Change-Id: Ibedb6cb817c8ce23e0274c42a59f48be42726f02
Reviewed-on: https://gerrit.instructure.com/148985
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
If Anonymous Moderated Marking is on and an assignment is marked as
moderated and has a designated final grader, prevent teachers/TAs who
are not that final grader from editing the assignment's details (but
don't block admins).
closes GRADE-960
Test plan:
Setup:
- Enable Anonymous Moderated Marking on the root account.
- Create a course, and enroll two teachers (T1 and T2) and an admin.
- Create an assignment (A1).
- Using the Rails console, enable moderated grading for the assignment
and assign T1 as the final grader (you'll also need to set the number
of graders as shown below, but the specific value doesn't matter):
> a = Assignment.find(<ID of A1>)
> a.moderated_grading = true
> a.grader_count = 3
> a.final_grader_id = <ID of T1>
> a.save!
- Create a second assignment (A2), and turn on moderated grading as
above, but do *not* assign a final grader:
> a2 = Assignment.find(<ID of A2>)
> a2.moderated_grading = true
> a2.grader_count = 3
> a2.save!
Testing editability:
- Log in as T1:
- You should be able to edit both assignments as usual
- If you view the list of assignments for the course, the
ellipsis menu at the right should have the Edit and Delete
options enabled as normal
- Log in as T2:
- When you view A1, the Edit button should be disabled.
- Trying to edit A1 directly by appending /edit to the URL should
result in an unauthorized access error.
- If you view the list of assignments for the course, the Edit
and Delete buttons for A1 should appear as disabled, and do
nothing when clicked. For A1, they should work as normal.
- You should be able to view and edit A2 as normal.
- Log in as an Admin:
- As with T1, you should be able to edit all assignments as normal.
closes GRADE-960
Change-Id: Iccb33da1f08c98b88fd6f24665c9b0ba7772bd5e
Reviewed-on: https://gerrit.instructure.com/148161
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
closes ADMIN-971
Test plan
- Ensure calendar items from courses,
groups, user and appointments show up
on the planner with correct info
- Ensure all day events show up properly
- Ensure events group up with to do items
- Ensure item links to calendar and goes to
the event (and opens it) when you click
the link
Change-Id: I1a2ae654df785b0e2e8c010456ab6c666e0deabc
Reviewed-on: https://gerrit.instructure.com/148505
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Christi Wruck
Fixes OUT-2135
Test Plan:
- Create a course level outcome.
- In the course, create an assignment with a rubric containing the
outcome as a criterion.
- In the rails console, set the hide attributes on the
rubric association:
> RubricAssociation.last.update(hide_points: true,
hide_outcome_results: true)
- As a student, submit to the assignment.
- As a teacher, grade the assignment in speedgrader, giving points to
the outcome in the rubrics.
- In account settings, run the "Outcome Export" report.
- Verify that the "outcome score", "learning outcome points possible",
"learning outcome mastery score", and "learning outcome rating points"
fields are all blank for the assignment you took.
- In account settings, run the "Student Competency" report.
- Verify that the "outcome score", "learning outcome points possible",
"learning outcome mastery score", and "learning outcome rating points"
fields are all blank for the outcome you created.
Change-Id: I5859552795dcdfd3420b034638529fe6bf1130e1
Reviewed-on: https://gerrit.instructure.com/148318
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Closes: CORE-1361
Dev test plan: it should be possible to build production assets
without consuming 50GB of memory
QA test plan:
* run RAILS_ENV=production bundle exec rake canvas:compile_assets
* run app in prod mode eg: RAILS_ENV=production bundle exec rails s
(Or however you do it with pow or whatever)
* look at the devtools and make sure you are seeing minified code and it
no errors or 404s
Change-Id: I247080851c9df0c74b6c59432bc7086ea625df4b
Reviewed-on: https://gerrit.instructure.com/146336
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes: CORE-1328
This bundle includes it’s own copy of a bunch of the bootstrap css.
It should not do that in the first place since it is already included
In the common css bundle but it is, and some subtle styles depend on
It being loaded again in this bundle. So if it is going to do that,
It needs to have access to our ‘direction’ rtl sass helpers
Test plan:
* smoke test on screenreader gradebook page to make sure that styles
still look the same as they did before
Change-Id: I96108b0f98dcddb1211aa21a4c0ed63125dda534
Reviewed-on: https://gerrit.instructure.com/147813
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes ADMIN-639
test plan:
- the course grades load in the grades tray
- course titles in the tray now link to the course
- if any course has multiple grading periods, it shows the "only
current grading period" caveat
- it displays a loading spinner and announces to screen readers when
grades are loading
- it announces to screen readers when grades have loaded
- it displays an error if there is an error while loading grades
- if you have many courses (more than 10), it still loads all the grades
data from all the courses (exhausts pagination)
Change-Id: Ic4ce71fd1ef222487873260ef25ba765d6e05680
Reviewed-on: https://gerrit.instructure.com/148170
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
this implementation displays the courses, but does not fetch the grades
yet. The grade values are just mocked for now.
closes ADMIN-638, ADMIN-640
test plan:
- check that the grades button and the grades tray match the design,
minus the header picture (which also isn't on the edit tray)
- it lists the courses you're enrolled in, but the grades are fake
for now.
Change-Id: Ieea58d70b91b013bf73df282e016db2bed57ecd9
Reviewed-on: https://gerrit.instructure.com/148022
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Christi Wruck
closes #CNVS-42276
Change-Id: I1c980e750c44198001917ff89d3c9aad56827d56
Reviewed-on: https://gerrit.instructure.com/148903
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
This takes the functionality in CourseItemRow and instead
implements the required parts in DiscussionRow. This
amounts to a complete rewrite of CourseItemRow, and as
such will require thorough regression QA.
I made a bit of an effort to keep things shareable between
the two but it wasn't all working and I gave up to get this
out. In time we should extract small shareable pieces
between this and announcements and then refactor
AnnouncementRow to no longer use CourseItemRow. Also
leverage INSTUI better to not have so much manual CSS.
Closes COMMS-1059
Test Plan:
* Compare page to designs at [designs link] make sure the
appearance matches. Well some of it, since some of
stuff they're asking for doesn't really make sense
(i.e. having assignments with specific sections)
* Things should still work. Since this was a substantial
change and refactoring, please test this thoroughly.
* I didn't touch CourseItemRow or AnnouncementRow, but it
wouldn't be a terrible idea to smoketest.
Change-Id: I86e2e4f9ab5deeb3a4fe51d63da199c94321b8c5
Reviewed-on: https://gerrit.instructure.com/148195
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Product-Review: Kendall Chadwick <kchadwick@instructure.com>
Change-Id: I49b490ca807fb33b893592dba0b7ed898f1b87f8
Reviewed-on: https://gerrit.instructure.com/148905
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Change-Id: Ice63f1cf2397c02c470af6ec6750de36efb61550
Reviewed-on: https://gerrit.instructure.com/148904
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
closes: PLAT-3204, PLAT-3022
Test Plan:
* create a visible site admin dev key set to "allow."
Set up a redirect URI for the key.
* Do a GET request to http://shard2.canvas.docker/
login/oauth2/auth and send along the site admin key
details as parameters.
* Verify you are denied a code.
* At the shard 2 root account turn the site admin key on.
* Repeat the get request and verify you receive a code.
* Verify this code can be exchanged for an access token.
* Set the key state at the shard 2 root accout level to 'off'
* Set the key state at the site admin level to 'on'
* Verify you can still get a code and access token.
* Set the key state at the shard 2 roota ccount level to 'on'
* Set the key state at the site admin level to 'off'
* Verify you cannot get a code.
* Create a root account level key and verify you can only
retreive a code when the workflow state is 'on'
* Turn the site admin key state to 'allow' in the site admin account
and 'on' on the shard 2 root account.
* Retrieve a code and an access token.
* Use the access token at an API endpoint and make sure it works.
* In the site admin level turn the developer key off.
* Verify the token no longer works.
* Turn the key on at the site admin level and verify
the token works again.
* Turn the key off at the root account level and verify
the token no longer works.
* Use a root account level developer key to retreive an
access token. Verify the access token only works when the
workflow state is 'on'
Change-Id: I124fbd9cb95926a038dc3bdb5078f0c5ad372264
Reviewed-on: https://gerrit.instructure.com/145546
Tested-by: Jenkins
Reviewed-by: Stewie aka Nicholas Stewart <nstewart@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
refs QUIZ-4175
Test Plan:
- in the quiz_pact_broker repo:
bin/dev-setup
- in the quiz_lti repo:
bin/dev-setup && bin/contracts-generate
- in this repo, spin up canvas natively (without docker), then:
bin/contracts-verify-live-events
- single spec should pass
Change-Id: I816c9925bd4d02c7372dd123de26798268bf88a3
Reviewed-on: https://gerrit.instructure.com/148889
Tested-by: Jenkins
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Product-Review: Jeff Belser <jbelser@instructure.com>
QA-Review: Jeff Belser <jbelser@instructure.com>