Fix CacheBuster
being queued for missing media attachments (#34253)
This commit is contained in:
parent
b892b15ba6
commit
ef870007e9
2 changed files with 11 additions and 0 deletions
|
@ -420,6 +420,8 @@ class MediaAttachment < ApplicationRecord
|
||||||
|
|
||||||
@paths_to_cache_bust = MediaAttachment.attachment_definitions.keys.flat_map do |attachment_name|
|
@paths_to_cache_bust = MediaAttachment.attachment_definitions.keys.flat_map do |attachment_name|
|
||||||
attachment = public_send(attachment_name)
|
attachment = public_send(attachment_name)
|
||||||
|
next if attachment.blank?
|
||||||
|
|
||||||
styles = DEFAULT_STYLES | attachment.styles.keys
|
styles = DEFAULT_STYLES | attachment.styles.keys
|
||||||
styles.map { |style| attachment.url(style) }
|
styles.map { |style| attachment.url(style) }
|
||||||
end.compact
|
end.compact
|
||||||
|
|
|
@ -302,6 +302,15 @@ RSpec.describe MediaAttachment, :attachment_processing do
|
||||||
.to enqueue_sidekiq_job(CacheBusterWorker).with(original_url)
|
.to enqueue_sidekiq_job(CacheBusterWorker).with(original_url)
|
||||||
.and enqueue_sidekiq_job(CacheBusterWorker).with(small_url)
|
.and enqueue_sidekiq_job(CacheBusterWorker).with(small_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with a missing remote attachment' do
|
||||||
|
let(:media) { Fabricate(:media_attachment, remote_url: 'https://example.com/foo.png', file: nil) }
|
||||||
|
|
||||||
|
it 'does not queue CacheBusterWorker jobs' do
|
||||||
|
expect { media.destroy }
|
||||||
|
.to_not enqueue_sidekiq_job(CacheBusterWorker)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue