Add tests to expose some token handling bugs.
authorTom Clegg <tom@curoverse.com>
Sun, 13 Apr 2014 05:39:35 +0000 (01:39 -0400)
committerTom Clegg <tom@curoverse.com>
Sun, 13 Apr 2014 05:39:35 +0000 (01:39 -0400)
apps/workbench/test/functional/users_controller_test.rb
apps/workbench/test/integration/logins_test.rb

index c67c56b5c7edf6631f2c093e343d40e4f66affc3..ae395ae0bf61970540381cdec667ef4ffd645d49 100644 (file)
@@ -1,4 +1,21 @@
 require 'test_helper'
 
 class UsersControllerTest < ActionController::TestCase
+  test "valid token for deleted user ignored instead of crashing" do
+    skip
+    get :welcome, {}, session_for(:valid_token_deleted_user)
+    assert_response :success
+    assert_nil assigns(:my_jobs)
+    assert_nil assigns(:my_ssh_keys)
+  end
+
+  test "expired token redirects to api server login" do
+    get :show, {
+      id: api_fixture('users')['active']['uuid']
+    }, session_for(:expired_trustedclient)
+    assert_response :redirect
+    assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
+    assert_nil assigns(:my_jobs)
+    assert_nil assigns(:my_ssh_keys)
+  end
 end
index 185d9cb017f55ee66412d7df5e616bc96d55a881..6e5389e7cc11d0a4d6c7c4808023476346e9c978 100644 (file)
@@ -11,4 +11,12 @@ class LoginsTest < ActionDispatch::IntegrationTest
     visit page_with_token('expired_trustedclient')
     assert page.has_text? 'Log in'
   end
+
+  test "expired token yields login page, not error page" do
+    skip
+    visit page_with_token('expired_trustedclient')
+    # Even the error page has a "Log in" link. We should look for
+    # something that only appears the real login page.
+    assert page.has_text? 'Please log in'
+  end
 end