X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8e6cd14b7884a691a110110b0f366577437c6d9e..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 e9abf9d495..3beec35958 100644 --- a/services/api/test/functional/arvados/v1/groups_controller_test.rb +++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb @@ -380,9 +380,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase assert_not_equal(new_project['uuid'], groups(:aproject).uuid, "create returned same uuid as existing project") - assert_equal(new_project['name'], - 'A Project (2)', - "new project name '#{new_project['name']}' was expected to be 'A Project (2)'") + assert_match(/^A Project \(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z\)$/, + new_project['name']) end test "unsharing a project results in hiding it from previously shared user" do @@ -463,4 +462,66 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase } check_project_contents_response %w'arvados#pipelineInstance arvados#job' end + + test 'get contents with low max_index_database_read' do + # Some result will certainly have at least 12 bytes in a + # restricted column + Rails.configuration.max_index_database_read = 12 + authorize_with :active + get :contents, { + id: groups(:aproject).uuid, + format: :json, + } + assert_response :success + assert_not_empty(json_response['items']) + 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