diff --git a/.rubocop.yml b/.rubocop.yml index 2ae06a8d1..b7e8ff672 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -40,3 +40,7 @@ Metrics/LineLength: Metrics/BlockLength: Enabled: false + +RSpec/ExpectActual: + Exclude: + - 'spec/routing/**' diff --git a/config/routes.rb b/config/routes.rb index 0d491109f..b25c3f678 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,7 +9,7 @@ get 'current_version', to: 'sdr#current_version' get 'manifest/:dsname', to: 'sdr#ds_manifest', format: false get 'metadata/:dsname', to: 'sdr#ds_metadata', format: false - get 'content/:filename', to: 'sdr#file_content', format: false + get 'content/:filename', to: 'sdr#file_content', format: false, constraints: { filename: /.+/ } end scope '/workflows/:wf_name' do diff --git a/spec/routing/sdr_controller_spec.rb b/spec/routing/sdr_controller_spec.rb new file mode 100644 index 000000000..b7763e3db --- /dev/null +++ b/spec/routing/sdr_controller_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe SdrController, type: :routing do + describe 'routing' do + it 'routes to #content' do + expect(get: '/v1/sdr/objects/druid:mk420bs7601/content/00004692.tif') + .to route_to('sdr#file_content', druid: 'druid:mk420bs7601', filename: '00004692.tif') + end + end +end