diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-07-06 15:05:05 +0200 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2023-07-07 11:45:48 -0500 |
commit | c58ab80b976410b51bc5520b00a98dcdc256dee3 (patch) | |
tree | 30f37474642eb7d8120c82b6dd534fb43806d5df /spec/models/media_attachment_spec.rb | |
parent | 5ddae512857eb143ff91741f4a35c186fac1036e (diff) |
Merge pull request from GHSA-9928-3cp5-93fm
* Fix attachments getting processed despite failing content-type validation * Add a restrictive ImageMagick security policy tailored for Mastodon * Fix misdetection of MP3 files with large cover art * Reject unprocessable audio/video files instead of keeping them unchanged
Diffstat (limited to 'spec/models/media_attachment_spec.rb')
-rw-r--r-- | spec/models/media_attachment_spec.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/models/media_attachment_spec.rb b/spec/models/media_attachment_spec.rb index 63edfc152..1193924fd 100644 --- a/spec/models/media_attachment_spec.rb +++ b/spec/models/media_attachment_spec.rb @@ -152,6 +152,26 @@ RSpec.describe MediaAttachment, type: :model do end end + describe 'mp3 with large cover art' do + let(:media) { described_class.create(account: Fabricate(:account), file: attachment_fixture('boop.mp3')) } + + it 'detects it as an audio file' do + expect(media.type).to eq 'audio' + end + + it 'sets meta for the duration' do + expect(media.file.meta['original']['duration']).to be_within(0.05).of(0.235102) + end + + it 'extracts thumbnail' do + expect(media.thumbnail.present?).to be true + end + + it 'gives the file a random name' do + expect(media.file_file_name).to_not eq 'boop.mp3' + end + end + describe 'jpeg' do let(:media) { MediaAttachment.create(account: Fabricate(:account), file: attachment_fixture('attachment.jpg')) } |