X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1346cc5072843797a8091cd67a0eb75499a97642..eba78b04f0313786bec3f6dfd4c992f69060a8a1:/services/api/test/integration/user_sessions_test.rb diff --git a/services/api/test/integration/user_sessions_test.rb b/services/api/test/integration/user_sessions_test.rb index fdb8628c5d..eb49cf832e 100644 --- a/services/api/test/integration/user_sessions_test.rb +++ b/services/api/test/integration/user_sessions_test.rb @@ -8,28 +8,24 @@ class UserSessionsApiTest < ActionDispatch::IntegrationTest # remote prefix & return url packed into the return_to param passed around # between API and SSO provider. def client_url(remote: nil) - url = ',https://wb.example.com' + url = ',https://controller.api.client.invalid' url = "#{remote}#{url}" unless remote.nil? url end def mock_auth_with(email: nil, username: nil, identity_url: nil, remote: nil, expected_response: :redirect) mock = { - 'provider' => 'josh_id', - 'uid' => 'https://edward.example.com', - 'info' => { 'identity_url' => 'https://edward.example.com', 'name' => 'Edward Example', 'first_name' => 'Edward', 'last_name' => 'Example', - }, } - mock['info']['email'] = email unless email.nil? - mock['info']['username'] = username unless username.nil? - mock['info']['identity_url'] = identity_url unless identity_url.nil? - post('/auth/josh_id/callback', - params: {return_to: client_url(remote: remote)}, - headers: {'omniauth.auth' => mock}) + mock['email'] = email unless email.nil? + mock['username'] = username unless username.nil? + mock['identity_url'] = identity_url unless identity_url.nil? + post('/auth/controller/callback', + params: {return_to: client_url(remote: remote), :auth_info => SafeJSON.dump(mock)}, + headers: {'Authorization' => 'Bearer ' + Rails.configuration.SystemRootToken}) errors = { :redirect => 'Did not redirect to client with token', @@ -53,19 +49,19 @@ class UserSessionsApiTest < ActionDispatch::IntegrationTest test 'existing user login' do mock_auth_with(identity_url: "https://active-user.openid.local") u = assigns(:user) - assert_equal 'zzzzz-tpzed-xurymjxw79nv3jz', u.uuid + assert_equal users(:active).uuid, u.uuid end test 'user redirect_to_user_uuid' do mock_auth_with(identity_url: "https://redirects-to-active-user.openid.local") u = assigns(:user) - assert_equal 'zzzzz-tpzed-xurymjxw79nv3jz', u.uuid + assert_equal users(:active).uuid, u.uuid end test 'user double redirect_to_user_uuid' do mock_auth_with(identity_url: "https://double-redirects-to-active-user.openid.local") u = assigns(:user) - assert_equal 'zzzzz-tpzed-xurymjxw79nv3jz', u.uuid + assert_equal users(:active).uuid, u.uuid end test 'create new user during omniauth callback' do @@ -111,6 +107,7 @@ class UserSessionsApiTest < ActionDispatch::IntegrationTest ].each do |testcase| test "user auto-activate #{testcase.inspect}" do # Configure auto_setup behavior according to testcase[:cfg] + Rails.configuration.Users.NewUsersAreActive = false Rails.configuration.Users.AutoSetupNewUsers = testcase[:cfg][:auto] Rails.configuration.Users.AutoSetupNewUsersWithVmUUID = (testcase[:cfg][:vm] ? virtual_machines(:testvm).uuid : "")