1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
7 class ComputedPermissionsTest < ActionDispatch::IntegrationTest
9 fixtures :users, :groups, :api_client_authorizations, :collections
11 test "non-admin forbidden" do
12 get "/arvados/v1/computed_permissions",
13 params: {:format => :json},
14 headers: auth(:active)
18 test "admin get permission for specified user" do
19 get "/arvados/v1/computed_permissions",
22 :filters => [['user_uuid', '=', users(:active).uuid]].to_json,
25 assert_response :success
26 assert_equal users(:active).uuid, json_response['items'][0]['user_uuid']
27 assert_nil json_response['count']
30 test "admin get implicit permission for specified user and target" do
31 get "/arvados/v1/computed_permissions",
35 ['user_uuid', '=', users(:active).uuid],
36 ['target_uuid', '=', groups(:private).uuid],
40 assert_response :success
41 assert_equal 1, json_response['items'].length
42 assert_equal users(:active).uuid, json_response['items'][0]['user_uuid']
43 assert_equal groups(:private).uuid, json_response['items'][0]['target_uuid']
44 assert_equal 'can_manage', json_response['items'][0]['perm_level']
47 test "reject count=exact" do
48 get "/arvados/v1/computed_permissions",
57 test "reject offset>0" do
58 get "/arvados/v1/computed_permissions",