X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a6439c7ddc3407193889386051f06df2a1e74ea9..74fec3cd8284eae4829dad2c287588d52c621c4b:/apps/workbench/test/unit/user_test.rb diff --git a/apps/workbench/test/unit/user_test.rb b/apps/workbench/test/unit/user_test.rb index d82765135c..a73e506d14 100644 --- a/apps/workbench/test/unit/user_test.rb +++ b/apps/workbench/test/unit/user_test.rb @@ -1,16 +1,30 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class UserTest < ActiveSupport::TestCase - test "get owned_items" do + test "can select specific user columns" do + use_token :admin + User.select(["uuid", "is_active"]).limit(5).each do |user| + assert_not_nil user.uuid + assert_not_nil user.is_active + assert_nil user.first_name + end + end + + test "User.current doesn't return anonymous user when using invalid token" do + # Set up anonymous user token + Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token'] + # First, try with a valid user use_token :active - oi = User.find(api_fixture('users')['active']['uuid']).owned_items - assert_operator(0, :<, oi.count, - "Expected to find some items belonging to :active user") - assert_operator(0, :<, oi.items_available, - "Expected owned_items response to have items_available > 0") - oi_uuids = oi.collect { |i| i['uuid'] } - expect = api_fixture('specimens')['owned_by_active_user']['uuid'] - assert_includes(oi_uuids, expect, - "Expected active user's owned_items to include #{expect}") + u = User.current + assert(find_fixture(User, "active").uuid == u.uuid) + # Next, simulate an invalid token + Thread.current[:arvados_api_token] = 'thistokenwontwork' + assert_raises(ArvadosApiClient::NotLoggedInException) do + User.current + end end end