commit
06e0bfea34
5 changed files with 11 additions and 9 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -25,3 +25,4 @@ storage/
|
|||
/node_modules
|
||||
yarn-debug.log*
|
||||
.yarn-integrity
|
||||
/.vscode
|
||||
|
|
1
Gemfile
1
Gemfile
|
@ -99,6 +99,7 @@ group :development, :test do
|
|||
gem 'pry-byebug'
|
||||
gem 'rspec-rails'
|
||||
gem 'rspec_junit_formatter'
|
||||
gem 'ruby-debug-ide', require: false
|
||||
gem 'spring' # Spring speeds up development by keeping your application running in the background
|
||||
gem 'spring-commands-rspec'
|
||||
end
|
||||
|
|
|
@ -510,6 +510,8 @@ GEM
|
|||
unicode-display_width (~> 1.4.0)
|
||||
rubocop-rspec-focused (1.0.0)
|
||||
rubocop (>= 0.51)
|
||||
ruby-debug-ide (0.6.1)
|
||||
rake (>= 0.8.1)
|
||||
ruby-progressbar (1.10.0)
|
||||
ruby_dep (1.5.0)
|
||||
ruby_parser (3.12.0)
|
||||
|
@ -713,6 +715,7 @@ DEPENDENCIES
|
|||
rspec_junit_formatter
|
||||
rubocop
|
||||
rubocop-rspec-focused
|
||||
ruby-debug-ide
|
||||
sanitize-url
|
||||
sassc-rails
|
||||
scenic
|
||||
|
|
|
@ -27,7 +27,7 @@ module ActiveStorage
|
|||
|
||||
def publicize(url)
|
||||
search = %r{^https://[^/]+/v1/AUTH_[a-f0-9]{32}}
|
||||
replace = "https://#{ENV['APP_HOST']}/direct-upload"
|
||||
replace = 'https://static.demarches-simplifiees.fr'
|
||||
url.gsub(search, replace)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
describe ActiveStorage::Service::DsProxyService do
|
||||
let(:private_host) { 'storage.sbg1.cloud.ovh.net:443' }
|
||||
let(:public_host) { 'www.demarches-simplifiees.fr' }
|
||||
let(:public_host) { 'static.demarches-simplifiees.fr' }
|
||||
let(:auth) { 'AUTH_a24c37ed11a84896914514384898c34b' }
|
||||
let(:bucket) { 'test_local' }
|
||||
let(:key) { '2R6rr89nFeSRkSgXHd3smvEf' }
|
||||
let(:temp_url_params) { 'temp_url_sig=5ab8cfc3ba5da2598a6c88cc6b1b461fe4e115bc&temp_url_expires=1547598179' }
|
||||
let(:storage_service) { storage_service = double(ActiveStorage::Service) }
|
||||
|
||||
subject do
|
||||
allow(ENV).to receive(:[]).with('APP_HOST').and_return(public_host)
|
||||
ActiveStorage::Service::DsProxyService.new(wrapped: storage_service)
|
||||
end
|
||||
let(:storage_service) { storage_service = double(ActiveStorage::Service) }
|
||||
subject { ActiveStorage::Service::DsProxyService.new(wrapped: storage_service) }
|
||||
|
||||
describe '#url' do
|
||||
let(:private_url) { "https://#{private_host}/v1/#{auth}/#{bucket}/#{key}?#{temp_url_params}" }
|
||||
let(:public_url) { "https://#{public_host}/direct-upload/#{bucket}/#{key}?#{temp_url_params}" }
|
||||
let(:public_url) { "https://#{public_host}/#{bucket}/#{key}?#{temp_url_params}" }
|
||||
|
||||
before do
|
||||
expect(storage_service).to receive(:url).and_return(private_url)
|
||||
|
@ -28,7 +25,7 @@ describe ActiveStorage::Service::DsProxyService do
|
|||
describe '#url_for_direct_upload' do
|
||||
let(:download_params) { 'inline&filename=documents_top_confidentiels.bmp' }
|
||||
let(:private_url) { "https://#{private_host}/v1/#{auth}/#{bucket}/#{key}?#{temp_url_params}&#{download_params}" }
|
||||
let(:public_url) { "https://#{public_host}/direct-upload/#{bucket}/#{key}?#{temp_url_params}&#{download_params}" }
|
||||
let(:public_url) { "https://#{public_host}/#{bucket}/#{key}?#{temp_url_params}&#{download_params}" }
|
||||
|
||||
before do
|
||||
expect(storage_service).to receive(:url_for_direct_upload).and_return(private_url)
|
||||
|
|
Loading…
Reference in a new issue