X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d8616b7126de7e234b901b9bb166b5e4203da3c0..33f91bb5a4ed93e9cadf21920526daa53351dbea:/apps/workbench/test/integration/anonymous_access_test.rb diff --git a/apps/workbench/test/integration/anonymous_access_test.rb b/apps/workbench/test/integration/anonymous_access_test.rb index 6e28e4efb4..6971c39f33 100644 --- a/apps/workbench/test/integration/anonymous_access_test.rb +++ b/apps/workbench/test/integration/anonymous_access_test.rb @@ -1,6 +1,12 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'integration_helper' class AnonymousAccessTest < ActionDispatch::IntegrationTest + include KeepWebConfig + # These tests don't do state-changing API calls. Save some time by # skipping the database reset. reset_api_fixtures :after_each_test, false @@ -113,10 +119,12 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest end test 'view file' do + use_keep_web_config + magic = rand(2**512).to_s 36 - CollectionsController.any_instance.stubs(:file_enumerator).returns([magic]) - collection = api_fixture('collections')['public_text_file'] - visit '/collections/' + collection['uuid'] + owner = api_fixture('groups')['anonymously_accessible_project']['uuid'] + col = upload_data_and_get_collection(magic, 'admin', "Hello\\040world.txt", owner) + visit '/collections/' + col.uuid find('tr,li', text: 'Hello world.txt'). find('a[title~=View]').click assert_text magic @@ -167,24 +175,40 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest assert_no_selector 'a', text: 'Re-run options' end - test "anonymous user accesses pipeline templates tab in shared project" do - visit PUBLIC_PROJECT - click_link 'Data collections' - assert_text 'GNU General Public License' + [ + 'pipelineTemplate', + 'workflow' + ].each do |type| + test "anonymous user accesses pipeline templates tab in shared project and click on #{type}" do + visit PUBLIC_PROJECT + click_link 'Data collections' + assert_text 'GNU General Public License' - assert_selector 'a', text: 'Pipeline templates' + assert_selector 'a', text: 'Pipeline templates' - click_link 'Pipeline templates' - assert_text 'Pipeline template in publicly accessible project' + click_link 'Pipeline templates' + assert_text 'Pipeline template in publicly accessible project' + assert_text 'Workflow with input specifications' - within first('tr[data-kind="arvados#pipelineTemplate"]') do - click_link 'Show' - end + if type == 'pipelineTemplate' + within first('tr[data-kind="arvados#pipelineTemplate"]') do + click_link 'Show' + end - # in template page - assert_text 'Public Projects Unrestricted public data' - assert_text 'script version' - assert_no_selector 'a', text: 'Run this pipeline' + # in template page + assert_text 'Public Projects Unrestricted public data' + assert_text 'script version' + assert_no_selector 'a', text: 'Run this pipeline' + else + within first('tr[data-kind="arvados#workflow"]') do + click_link 'Show' + end + + # in workflow page + assert_text 'Public Projects Unrestricted public data' + assert_text 'this workflow has inputs specified' + end + end end test "anonymous user accesses subprojects tab in shared project" do