13996: Fixing test WIP
[arvados.git] / services / api / test / functional / user_sessions_controller_test.rb
index f7021cf9def1487d834186339fc38eb8cea576e7..cee8245b25120192bd198115cba374a2232ab4b6 100644 (file)
@@ -9,7 +9,7 @@ class UserSessionsControllerTest < ActionController::TestCase
   test "new user from new api client" do
     authorize_with :inactive
     api_client_page = 'http://client.example.com/home'
-    get :login, return_to: api_client_page
+    get :login, params: {return_to: api_client_page}
     assert_response :redirect
     assert_equal(0, @response.redirect_url.index(api_client_page + '?'),
                  'Redirect url ' + @response.redirect_url +
@@ -17,4 +17,22 @@ class UserSessionsControllerTest < ActionController::TestCase
     assert_not_nil assigns(:api_client)
   end
 
+  test "login with remote param returns a salted token" do
+    authorize_with :inactive
+    api_client_page = 'http://client.example.com/home'
+    remote_prefix = 'zbbbb'
+    get :login, params: {return_to: api_client_page, remote: remote_prefix}
+    assert_response :redirect
+    api_client_auth = assigns(:api_client_auth)
+    assert_not_nil api_client_auth
+    assert_includes(@response.redirect_url, 'api_token='+api_client_auth.salted_token(remote: remote_prefix))
+  end
+
+  test "login with malformed remote param returns an error" do
+    authorize_with :inactive
+    api_client_page = 'http://client.example.com/home'
+    remote_prefix = 'invalid_cluster_id'
+    get :login, params: {return_to: api_client_page, remote: remote_prefix}
+    assert_response 400
+  end
 end