X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/66cab5a1f2b24c903a1a1c8b2316cc8b3f35ce1b..8b873a9b3b8865a4d451263e48b49122b9c32759:/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 bc1f5c1840..30ab89c7e2 100644 --- a/services/api/test/functional/arvados/v1/groups_controller_test.rb +++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb @@ -405,75 +405,6 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase new_project['name']) end - test "unsharing a project results in hiding it from previously shared user" do - # Make the same call as in line 448. - @controller = Arvados::V1::LinksController.new - authorize_with :system_user - post :create, params: { - link: { - link_class: "permission", - name: "can_read", - head_uuid: groups(:starred_and_shared_active_user_project).uuid, - tail_uuid: users(:project_viewer).uuid, - } - } - assert_response :success - assert_equal 'permission', json_response['link_class'] - l = Link.find_by_uuid(json_response['uuid']) - l.destroy - @test_counter = 0 - - # remove sharing link for project - @controller = Arvados::V1::LinksController.new - authorize_with :admin - post :destroy, params: {id: links(:share_starred_project_with_project_viewer).uuid} - assert_response :success - - # verify that the user can no longer see the project - @test_counter = 0 # Reset executed action counter - @controller = Arvados::V1::GroupsController.new - authorize_with :project_viewer - get :index, params: {filters: [['group_class', '=', 'project']], format: :json} - assert_response :success - found_projects = {} - json_response['items'].each do |g| - found_projects[g['uuid']] = g - end - assert_equal false, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid) - - # share the project - @test_counter = 0 - @controller = Arvados::V1::LinksController.new - authorize_with :system_user - post :create, params: { - link: { - link_class: "permission", - name: "can_read", - head_uuid: groups(:starred_and_shared_active_user_project).uuid, - tail_uuid: users(:project_viewer).uuid, - } - } - assert_response :success - # This fails if the call at the beginning of the test isn't - # made, because for some reason the links controller gets - # an empty params list. - assert_equal 'permission', json_response['link_class'] - # NOTE that if I manually create the link, the test pass: - # Link.create(link_class: 'permission', name: 'can_read', head_uuid: groups(:starred_and_shared_active_user_project).uuid, tail_uuid: users(:project_viewer).uuid) - - # verify that project_viewer user can now see shared project again - @test_counter = 0 - @controller = Arvados::V1::GroupsController.new - authorize_with :project_viewer - get :index, params: {filters: [['group_class', '=', 'project']], format: :json} - assert_response :success - found_projects = {} - json_response['items'].each do |g| - found_projects[g['uuid']] = g - end - assert_equal true, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid) - end - [ [['owner_uuid', '!=', 'zzzzz-tpzed-xurymjxw79nv3jz'], 200, 'zzzzz-d1hrv-subprojpipeline', 'zzzzz-d1hrv-1xfj6xkicf2muk2'], @@ -500,7 +431,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase end test 'get contents with jobs and pipeline instances disabled' do - Rails.configuration.disable_api_methods = ['jobs.index', 'pipeline_instances.index'] + Rails.configuration.API.DisabledAPIs = {'jobs.index'=>{}, 'pipeline_instances.index'=>{}} authorize_with :active get :contents, params: { @@ -513,7 +444,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase 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 + Rails.configuration.API.MaxIndexDatabaseRead = 12 authorize_with :active get :contents, params: { id: groups(:aproject).uuid, @@ -660,6 +591,23 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase end end + test "show include_trash=false #{project} #{untrash} as #{auth}" do + authorize_with auth + untrash.each do |pr| + Group.find_by_uuid(groups(pr).uuid).update! is_trashed: false + end + get :show, params: { + id: groups(project).uuid, + format: :json, + include_trash: false + } + if visible + assert_response :success + else + assert_response 404 + end + end + test "show include_trash #{project} #{untrash} as #{auth}" do authorize_with auth untrash.each do |pr|