X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/33e6d3356af3f7eaa484dbaa7a671aa25f5042e4..a41baffe4f38019cb5b36875c5e0c838ef9201e5:/apps/workbench/test/controllers/application_controller_test.rb diff --git a/apps/workbench/test/controllers/application_controller_test.rb b/apps/workbench/test/controllers/application_controller_test.rb index 30da596266..843cf88a3d 100644 --- a/apps/workbench/test/controllers/application_controller_test.rb +++ b/apps/workbench/test/controllers/application_controller_test.rb @@ -327,36 +327,39 @@ class ApplicationControllerTest < ActionController::TestCase end [ - ['collections', false, api_fixture('collections')['user_agreement_in_anonymously_accessible_project']], - ['jobs', false, api_fixture('jobs')['running_job_in_publicly_accessible_project']], - ['pipeline_instances', false, api_fixture('pipeline_instances')['pipeline_in_publicly_accessible_project']], - ['pipeline_templates', false, api_fixture('pipeline_templates')['pipeline_template_in_publicly_accessible_project']], - ['projects', false, api_fixture('groups')['anonymously_accessible_project']], - ].each do |controller, use_config, fixture| - test "#{controller} show method with anonymous config enabled #{use_config}" do - if use_config + [CollectionsController.new, api_fixture('collections')['user_agreement_in_anonymously_accessible_project']], + [CollectionsController.new, api_fixture('collections')['user_agreement_in_anonymously_accessible_project'], false], + [JobsController.new, api_fixture('jobs')['running_job_in_publicly_accessible_project']], + [JobsController.new, api_fixture('jobs')['running_job_in_publicly_accessible_project'], false], + [PipelineInstancesController.new, api_fixture('pipeline_instances')['pipeline_in_publicly_accessible_project']], + [PipelineInstancesController.new, api_fixture('pipeline_instances')['pipeline_in_publicly_accessible_project'], false], + [PipelineTemplatesController.new, api_fixture('pipeline_templates')['pipeline_template_in_publicly_accessible_project']], + [PipelineTemplatesController.new, api_fixture('pipeline_templates')['pipeline_template_in_publicly_accessible_project'], false], + [ProjectsController.new, api_fixture('groups')['anonymously_accessible_project']], + [ProjectsController.new, api_fixture('groups')['anonymously_accessible_project'], false], + ].each do |controller, fixture, anon_config=true| + test "#{controller} show method with anonymous config enabled" do + if anon_config Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token'] else Rails.configuration.anonymous_user_token = false end - case controller - when 'collections' - @controller = CollectionsController.new - when 'jobs' - @controller = JobsController.new - when 'pipeline_instances' - @controller = PipelineInstancesController.new - when 'pipeline_templates' - @controller = PipelineTemplatesController.new - when 'projects' - @controller = ProjectsController.new - end + @controller = controller get(:show, {id: fixture['uuid']}) - assert_response :redirect - assert_match /welcome/, @response.redirect_url + if anon_config + assert_response 200 + if controller.class == JobsController + assert_includes @response.inspect, fixture['script'] + else + assert_includes @response.inspect, fixture['name'] + end + else + assert_response :redirect + assert_match /\/users\/welcome/, @response.redirect_url + end end end end