use the sis user model exclusively

refs CNVS-35716

test plan
 - specs should pass

Change-Id: I7ff08532efc94bc08f58a61d3ce4afc330b701d2
Reviewed-on: https://gerrit.instructure.com/107525
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
This commit is contained in:
Rob Orton 2017-04-04 19:07:49 -06:00
parent 8523162c14
commit 7051f7704a
2 changed files with 16 additions and 26 deletions

View File

@ -64,26 +64,7 @@ module SIS
end
# Pass a single instance of SIS::Models::User
def add_user(*user_data)
if user_data.length == 1
user = user_data.first
else
user = SIS::Models::User.new(
user_id: user_data[0],
login_id: user_data[1],
status: user_data[2],
first_name: user_data[3],
last_name: user_data[4],
email: user_data[5],
password: user_data[6],
ssha_password: user_data[7],
integration_id: user_data[8],
short_name: user_data[9],
full_name: user_data[10],
sortable_name: user_data[11]
)
end
def add_user(user)
@logger.debug("Processing User #{user.to_a.inspect}")
raise ImportError, "No user_id given for a user" if user.user_id.blank?

View File

@ -37,10 +37,16 @@ describe SIS::UserImporter do
# three inner transactions (one per user)
User.expects(:transaction).times(5).yields
user1 = SIS::Models::User.new(user_id: 'U001', login_id: 'user1', status: 'active',
full_name: 'User One', email: 'user1@example.com')
user2 = SIS::Models::User.new(user_id: 'U002', login_id: 'user2', status: 'active',
full_name: 'User Two', email: 'user2@example.com')
user3 = SIS::Models::User.new(user_id: 'U003', login_id: 'user3', status: 'active',
full_name: 'User Three', email: 'user3@example.com')
SIS::UserImporter.new(@account, {}).process(2, messages) do |importer|
importer.add_user(*"U001,user1,active,User,One,user1@example.com".split(','))
importer.add_user(*"U002,user2,active,User,Two,user2@example.com".split(','))
importer.add_user(*"U003,user3,active,User,Three,user3@example.com".split(','))
importer.add_user(user1)
importer.add_user(user2)
importer.add_user(user3)
end
# we don't actually save them, so don't bother checking the results
end
@ -54,9 +60,10 @@ describe SIS::UserImporter do
messages = []
account_model
Setting.set('sis_transaction_seconds', '1')
user1 = SIS::Models::User.new(user_id: @user_id, login_id: @login_id, status: 'active',
full_name: 'User One', email: 'user1@example.com')
SIS::UserImporter.new(@account, {}).process(2, messages) do |importer|
importer.add_user(@user_id, @login_id, 'active','User','One','user1@example.com')
importer.add_user(user1)
end
@message = messages.first
@ -76,8 +83,10 @@ describe SIS::UserImporter do
end
it 'should handle user_ids as integers just in case' do
user1 = SIS::Models::User.new(user_id: 12345, login_id: 'user1', status: 'active',
full_name: 'User One', email: 'user1@example.com')
SIS::UserImporter.new(account_model, {}).process(2, []) do |importer|
importer.add_user(12345, 'user1', 'active', 'User', 'One', 'user1@example.com')
importer.add_user(user1)
end
expect(Pseudonym.last.sis_user_id).to eq '12345'
end