VRFS-2782 : Add a jam tracks builder spec to more directly exercise building, in addition to specific tests for 48kHz vs 44kHz
This commit is contained in:
parent
a2f681d0b4
commit
e6c49a18b2
|
|
@ -0,0 +1,83 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe JamTracksBuilder do
|
||||
include UsesTempFiles
|
||||
include CarrierWave::Test::Matchers
|
||||
|
||||
before (:all) do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@jam_track = FactoryGirl.create(:jam_track)
|
||||
original_storage = JamTrackTrackUploader.storage = :fog
|
||||
original_storage = JamTrackRightUploader.storage = :fog
|
||||
@s3 = S3Manager.new(APP_CONFIG.aws_bucket, APP_CONFIG.aws_access_key_id, APP_CONFIG.aws_secret_access_key)
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
JamTrackRightUploader.storage = @original_storage
|
||||
JamTrackTrackUploader.storage = @original_storage
|
||||
end
|
||||
|
||||
before(:each) do
|
||||
@s3.delete_folder('jam_tracks')
|
||||
end
|
||||
|
||||
it "should build" do
|
||||
ogg_path = File.join('spec', 'files', 'on.ogg')
|
||||
user = FactoryGirl.create(:user)
|
||||
jam_track_track = FactoryGirl.create(:jam_track_track)
|
||||
jam_track = jam_track_track.jam_track
|
||||
|
||||
#uploader = JamTrackTrackUploader.new(jam_track_track, :url_48)
|
||||
jam_track_track.url_48.store!(File.open(ogg_path, 'rb'))
|
||||
jam_track_track.save!
|
||||
|
||||
jam_track_track[:url_48].should == jam_track_track.store_dir + '/' + jam_track_track.filename
|
||||
|
||||
# verify it's on S3
|
||||
@s3.exists?(jam_track_track[:url_48]).should be_true
|
||||
@s3.length(jam_track_track[:url_48]).should == File.size?(ogg_path)
|
||||
@s3.exists?(jam_track_track[:url_44]).should be_false
|
||||
|
||||
# Check right
|
||||
jam_track_right = JamTrackRight.create(:user=>user, :jam_track=>jam_track)
|
||||
jam_track_right[:url_48].should be_nil
|
||||
jam_track_right[:url_44].should be_nil
|
||||
JamTracksBuilder.perform(jam_track_right.id, 48)
|
||||
jam_track_right.reload
|
||||
jam_track_right[:url_48].should == jam_track_right.store_dir + '/' + jam_track_right.filename
|
||||
@s3.exists?(jam_track_track[:url_44]).should be_false
|
||||
end
|
||||
|
||||
describe "with bitrate 44" do
|
||||
it "should build" do
|
||||
ogg_path = File.join('spec', 'files', 'on.ogg')
|
||||
user = FactoryGirl.create(:user)
|
||||
|
||||
# Should build bitrate 44 and only bitrate 44:
|
||||
jam_track_track = FactoryGirl.create(:jam_track_track)
|
||||
jam_track = jam_track_track.jam_track
|
||||
|
||||
# uploader = JamTrackTrackUploader.new(jam_track_track, :url_44)
|
||||
# uploader.store!(File.open(ogg_path, 'rb'))
|
||||
jam_track_track.url_44.store!(File.open(ogg_path, 'rb'))
|
||||
jam_track_track.save!
|
||||
|
||||
jam_track_track[:url_44].should == jam_track_track.store_dir + '/url_44/' + jam_track_track.filename
|
||||
|
||||
# verify it's on S3
|
||||
@s3.exists?(jam_track_track[:url_44]).should be_true
|
||||
@s3.length(jam_track_track[:url_44]).should == File.size?(ogg_path)
|
||||
@s3.exists?(jam_track_track[:url_48]).should be_false
|
||||
|
||||
# Check right
|
||||
jam_track_right = JamTrackRight.create(:user=>user, :jam_track=>jam_track)
|
||||
jam_track_right[:url_44].should be_nil
|
||||
jam_track_right[:url_48].should be_nil
|
||||
JamTracksBuilder.perform(jam_track_right.id, 44)
|
||||
jam_track_right.reload
|
||||
jam_track_right[:url_44].should == jam_track_right.store_dir + '/' + jam_track_right.filename
|
||||
jam_track_right.url_44.should_not be_nil
|
||||
@s3.exists?(jam_track_track[:url_48]).should be_false
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue