diff --git a/app/controllers/start_controller.rb b/app/controllers/start_controller.rb index bc89cd7f8..64173d11a 100644 --- a/app/controllers/start_controller.rb +++ b/app/controllers/start_controller.rb @@ -67,7 +67,8 @@ class StartController < ApplicationController private def download_resource(file, filename) - url = "https://#{Rails.application.config.collection_resources_s3_bucket_name}.s3.amazonaws.com/#{file}" + storage_service = Storage::S3Service.new(Configuration::EnvConfigurationService.new, ENV["COLLECTION_RESOURCES_BUCKET"]) + url = "https://#{storage_service.configuration.bucket_name}.s3.amazonaws.com/#{file}" uri = URI.parse(url) response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| diff --git a/app/helpers/collection_resources_helper.rb b/app/helpers/collection_resources_helper.rb index 797fda2e1..c5941dbc4 100644 --- a/app/helpers/collection_resources_helper.rb +++ b/app/helpers/collection_resources_helper.rb @@ -11,7 +11,8 @@ module CollectionResourcesHelper def file_type_size_and_pages(file, number_of_pages: nil) file_pages = number_of_pages ? pluralize(number_of_pages, "page") : nil - url = "https://#{Rails.application.config.collection_resources_s3_bucket_name}.s3.amazonaws.com/#{file}" + storage_service = Storage::S3Service.new(Configuration::EnvConfigurationService.new, ENV["COLLECTION_RESOURCES_BUCKET"]) + url = "https://#{storage_service.configuration.bucket_name}.s3.amazonaws.com/#{file}" uri = URI.parse(url) response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http| diff --git a/config/environments/development.rb b/config/environments/development.rb index ebdedc474..7e1890b02 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -85,5 +85,4 @@ Rails.application.configure do config.active_record.yaml_column_permitted_classes = [Time, BigDecimal] config.active_job.queue_adapter = :inline - config.collection_resources_s3_bucket_name = "core-dev-collection-resources" end diff --git a/config/environments/production.rb b/config/environments/production.rb index 5bcd011fc..55f442b3d 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -147,5 +147,4 @@ Rails.application.configure do end } end - config.collection_resources_s3_bucket_name = "core-prod-collection-resources" end diff --git a/config/environments/review.rb b/config/environments/review.rb index e970cac70..f7438fdb6 100644 --- a/config/environments/review.rb +++ b/config/environments/review.rb @@ -127,5 +127,4 @@ Rails.application.configure do # see https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017 config.active_record.yaml_column_permitted_classes = [Time, BigDecimal] - config.collection_resources_s3_bucket_name = "core-dev-collection-resources" end diff --git a/config/environments/staging.rb b/config/environments/staging.rb index 941b3e0e0..56352d3bb 100644 --- a/config/environments/staging.rb +++ b/config/environments/staging.rb @@ -127,5 +127,4 @@ Rails.application.configure do # see https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017 config.active_record.yaml_column_permitted_classes = [Time, BigDecimal] - config.collection_resources_s3_bucket_name = "core-staging-collection-resources" end diff --git a/config/environments/test.rb b/config/environments/test.rb index 4c90378a6..aa3fe7bba 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -67,5 +67,4 @@ Rails.application.configure do config.active_record.yaml_column_permitted_classes = [Time, BigDecimal] config.active_job.queue_adapter = :test - config.collection_resources_s3_bucket_name = "core-test-collection-resources" end diff --git a/spec/helpers/collection_resources_helper_spec.rb b/spec/helpers/collection_resources_helper_spec.rb index 9ad0802f7..5a07dcb66 100644 --- a/spec/helpers/collection_resources_helper_spec.rb +++ b/spec/helpers/collection_resources_helper_spec.rb @@ -3,6 +3,12 @@ require "rails_helper" RSpec.describe CollectionResourcesHelper do let(:current_user) { create(:user, :data_coordinator) } let(:user) { create(:user, :data_coordinator) } + let(:storage_service) { instance_double(Storage::S3Service) } + + before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) + end describe "when displaying file metadata" do context "with pages" do