X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a309f8c5b4842075d6c83f99a8f2a1e1016976f5..d43dce642a9681a33a5259f5bde05c8d3f3b690e:/services/api/test/functional/arvados/v1/groups_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/groups_controller_test.rb b/services/api/test/functional/arvados/v1/groups_controller_test.rb index 02d8c153a8..3beec35958 100644 --- a/services/api/test/functional/arvados/v1/groups_controller_test.rb +++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb @@ -477,4 +477,51 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase assert_operator(json_response['items'].count, :<, json_response['items_available']) end + + test 'get contents, recursive=true' do + authorize_with :active + params = { + id: groups(:aproject).uuid, + recursive: true, + format: :json, + } + get :contents, params + owners = json_response['items'].map do |item| + item['owner_uuid'] + end + assert_includes(owners, groups(:aproject).uuid) + assert_includes(owners, groups(:asubproject).uuid) + end + + [false, nil].each do |recursive| + test "get contents, recursive=#{recursive.inspect}" do + authorize_with :active + params = { + id: groups(:aproject).uuid, + format: :json, + } + params[:recursive] = false if recursive == false + get :contents, params + owners = json_response['items'].map do |item| + item['owner_uuid'] + end + assert_includes(owners, groups(:aproject).uuid) + refute_includes(owners, groups(:asubproject).uuid) + end + end + + test 'get home project contents, recursive=true' do + authorize_with :active + get :contents, { + id: users(:active).uuid, + recursive: true, + format: :json, + } + owners = json_response['items'].map do |item| + item['owner_uuid'] + end + assert_includes(owners, users(:active).uuid) + assert_includes(owners, groups(:aproject).uuid) + assert_includes(owners, groups(:asubproject).uuid) + end end