[skip-stages=Flakey]
the balance. mostly. Lint/UriEscapeUnescape is put in the pending
block because it's so touchy, and I didn't want to deal with it
right now
all manual
Change-Id: Ibeb81e013f56f160d51f7d237a9bcfe98daa1e53
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277569
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes FOO-2414
test plan:
* create a user via SIS
* run another SIS import with the user's status set to "suspended"
* that use should no longer be able to login
Change-Id: I31b177ee797b3dd8962112960bda11c5c4fa575a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276557
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Closes SOS-1917
flag=none
Test plan:
- import a csv with declared_user_type provided
- verify that the user has declared_user_type set
- import a csv with declared_user_type not provided
- verify that the user still has declared_user_type set previously
- import a csv with declared_user_type=<delete>
- verify that user's declared_user_type is unset
Change-Id: I9a26247b20f65cdb96a5a84e0eb53dd29f391467
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275475
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Kozma Jozsef <jkozma@instructure.com>
Product-Review: Kozma Jozsef <jkozma@instructure.com>
where suspending means they still show up everywhere, but the user is no longer
allowed to login
closes FOO-2039
test plan:
* have a regular user with an access token, and an active session
* (via a separate session or access token) suspend a pseudonym
via the API as an admin (logins API, set workflow_state to
suspended)
* ensure the original user gets logged out when they refresh, and
that their access token doesn't work
* but as the admin, you can still see the user
Change-Id: Idc0c61bcc244697e3c89b9beb2edfbe2a504b00e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/269878
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
If a pseudonym is found during a user import but the SIS ID doesn't match,
this flag would override the old (or non-existent) non-matching SIS ID
with the new SIS ID in the upload.
closes SOS-1922
Test plan:
- Do a SIS import
- Change the SIS ID of one user in the input file
- Run SIS import again
- Check the SIS ID of the changed user in Canvas
flag = none
Change-Id: I2b29904c1e34e7a7beebd5f41176e35f3fb54ef1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267749
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan
- specs should pass
- run sis import with <delete> as the pronoun
- it should remove the users pronoun
- rake doc:api should work
fixes VICE-955
Change-Id: I2112b785641148a5a3edfe5313ab067ef47005e2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251672
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
closes FOO-1126
TEST PLAN:
1) try to import a user that has more than 100
paths with the same email address
2) SIS import should not bomb
Change-Id: I642ea259accdc3b50060f9f28a803211f026830e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251650
Tested-by: Ethan Vizitei <evizitei@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes FOO-1148
flag=none
TEST PLAN:
1) import sis batch with an x-shard user and an existing
communication channel for the target email address.
2) we should detect the channel already exists and not
try to create a new one
3) the batch should succeed.
Change-Id: I20e4b0a7f61545715ff014e96492cc7a88916297
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251391
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
also look for the communication channel on the users shard
test plan
- have an account with a trust in place
- have a user with a login on both accounts
- on the account that is not on the same shard as the user
- run a user import that adds an email to the sis_id of the login
- it should be on the users shard
fixes VICE-889
flag=none
Change-Id: I1a4155892d519691d26797620a0d9a1b9c00d8e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/249192
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
SIS is considered source of truth, and sis may change pronouns and don't
want to manage a second list of accepted pronouns
test plan
- run sis import with pronoun
- it should add it even when not in account list
fixes VICE-838
flag = none
Change-Id: I51804ac73c8a1934d5c135c736de0a3dfa6131b2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248782
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
test plan
- create user login_id in canvas
- create second login for user with other auth provider
- it should work
fixes FOO-897
flag=none
Change-Id: I7c34d6211c302e2c8dfdb0f6c1394c748682c235
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/246498
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
right now it fails cause MRA is not creating proper errors for bulk
insert. This allows the errors to stay consistent and still function
for finding the root_account
test plan
- run import with invalid root_account_id
- it should not fail import but should have a valid error
- it should skip line
fixes VICE-686
flag=none
Change-Id: I5b17507045dfe23666f6dd29f347d61b102bc5e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/244313
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
test plan
- run sis import with users
- run sis import marking users as deleted
- run sis import again
- fewer queries should happen on the last import
fixes VICE-684
Change-Id: I01369227c6b15a0eef04f26102015bd6720031c5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/244320
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
the feature has been enabled everywhere and it can be removed
test plan
- specs should pass and pronouns should be the same
flag=account_pronouns
fixes KNO-523
Change-Id: Ic9d17826bace508080ab65d180a08bf3b4d8bca0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239205
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
fixes PFS-13047
test plan
- check documentation for login importer
- import a login
- it should work
- user importer should work
Change-Id: I0e72aa75d1abd26b7b00a1d416401bc1cbc8732a
Reviewed-on: https://gerrit.instructure.com/198678
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
refs CORE-3093
test plan
- specs should pass
Change-Id: I1eb0345f9672e8eae842bfd0a3cf612d7b8552b7
Reviewed-on: https://gerrit.instructure.com/187495
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* use a sis csv import to create
a course,
a student and an observer user,
a user_observer link between the two users,
and an enrollment for the student
* make sure the observer was automatically enrolled
in the course along with the student
* use another sis csv to delete the student user
* the observer enrollment should be deleted
closes #ADMIN-2469
Change-Id: I54b237c8a727464f58505f7de380eea38a522a29
Reviewed-on: https://gerrit.instructure.com/184298
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes #CORE-2249
Change-Id: I4f857b84dcf0fccb43661c0d908b7786c871b88e
Reviewed-on: https://gerrit.instructure.com/175251
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Change-Id: Ieb64f4f2cd5880bba1e815b6d4e2c28a45606e45
Reviewed-on: https://gerrit.instructure.com/171073
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Change-Id: Ifef519776e4358204dd6625acd6cd9f841cd7fcb
Reviewed-on: https://gerrit.instructure.com/152331
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
refs #CORE-1467
Change-Id: I57d2f3315e7c908bfb7f5944b650e4153a965908
Reviewed-on: https://gerrit.instructure.com/151863
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
closes CORE-1395
test plan
- import users
- workflow_state changes should be logged
Change-Id: I1466d6ec9f0ac3d38f74fd1b7a68dd0fa1c77a2f
Reviewed-on: https://gerrit.instructure.com/150103
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rohan Cheeniyil <rcheeniyil@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes CORE-1185
test plan
- pass skip_deletes as true to sis imports
- it should not delete any records
- rake doc:api should work
Change-Id: I91bfa260bfd48d349aeb16703143cf4345fae0bb
Reviewed-on: https://gerrit.instructure.com/144438
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CORE-870
test plan
- enable sis refactor feature
- import a file with errors
- the errors should have a row number
Change-Id: I8d890aa94a5621cbbfbf959f4f038bd189645e55
Reviewed-on: https://gerrit.instructure.com/143872
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
this was needed when we supported mysql
test plan
- specs should pass
Change-Id: I2d7a29920a32f92a228537bfa2dbe50d742c9353
Reviewed-on: https://gerrit.instructure.com/144162
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes CORE-1121
test plan
- import a user with a really long login_id
- the error should be on the sis import
- sentry should not get an error
Change-Id: Ie38b8f3e1faa80308f63904c34e67690aac5f66e
Reviewed-on: https://gerrit.instructure.com/143205
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
and overall maybe suck a little less
test plan:
* enable the feature "SIS Import Refactor"
* lower the threshold to use multiple parallel jobs
via "/plugins/sis_import" to a number like 2
* regression tests for sis batch imports
closes #CORE-927 #CORE-928
Change-Id: I91b0bb0cc0e0957cae7897af453ed2d19555303d
Reviewed-on: https://gerrit.instructure.com/140535
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CORE-1031
test plan
- have invalid email with bounce count
- update email through sis and it should have a
bounce count of 0
Change-Id: If756f77cca6120bb140d393f6b5da4a9c9a5257b
Reviewed-on: https://gerrit.instructure.com/141579
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan:
* import a user csv with full_name and sortable_name specified
* the user's sortable_name should be brought in from
the sortable_name column
closes #CORE-1006
Change-Id: Iad06a8a269c69bbf8c6df8ea91a2a1faafa5c0f6
Reviewed-on: https://gerrit.instructure.com/140776
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* mark "process as UI changes"
when creating a subaccount through accounts.csv
(this should add parent_account_id as a stuck field)
* the parent_account_id should not be able to be
changed by subsequent sis imports,
unless "process as UI changes" is marked
closes #CORE-660
Change-Id: I08f8198b9ef9a1abdac3f7c4e5165bdad62fdac0
Reviewed-on: https://gerrit.instructure.com/135512
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
also, don't remove an existing name if the import doesn't
specify one
test plan:
- if a SIS import creates a new user and all of the
following columns are missing or blank, the login_id
should be used as the name.
* full_name
* first_name
* last_name
* sortable_name
* short_name
- if a SIS import updates an existing user and does not
specify any of the above columns, the user's name
should remain unchanged (not blanked out!)
fixes ADMIN-579
Change-Id: Id6297bdac3cf13c7561c713b3cd983af3d1ed3c3
Reviewed-on: https://gerrit.instructure.com/136307
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes #CNVS-40449
Change-Id: I16c172b6af70f0428e098b6b72bddbf83641c737
Reviewed-on: https://gerrit.instructure.com/133966
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-39623
test plan
- have a user with two logins and enrollments
- remove one through sis import
- the enrollments should not be deleted
Change-Id: Idb95db90ba0eedfcb19b27208c0af639bf13f75f
Reviewed-on: https://gerrit.instructure.com/127946
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-39168
test plan
- run import without integration_id
- it should not reset it
Change-Id: I7d48a2111a461635eb71d142bdc39f03fa2bdd6b
Reviewed-on: https://gerrit.instructure.com/125460
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
fixes CNVS-38863
test plan
- run sis import that would delete an admin that
is running the sis import
- it should not delete the admin
- attempt to delete the user
- it should not delete the user
Change-Id: Ie5fb341b21017fea7cbf24b09a14a93ac781a1ab
Reviewed-on: https://gerrit.instructure.com/124103
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>