From 1b3fdee99e20c7d24d6252d76f76bd37fdb77ff7 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Sat, 4 Jan 2014 12:35:15 -0500 Subject: [PATCH] VRFS-933 fix issues --- ruby/lib/jam_ruby/models/music_session.rb | 2 +- ruby/lib/jam_ruby/models/recording.rb | 8 +- .../jam_ruby/models/claimed_recording_spec.rb | 2 +- ruby/spec/jam_ruby/models/mix_spec.rb | 6 +- .../jam_ruby/models/musician_search_spec.rb | 4 +- ruby/spec/jam_ruby/models/recording_spec.rb | 76 +++++++++---------- .../controllers/api_recordings_controller.rb | 4 +- .../controllers/claimed_recordings_spec.rb | 2 +- 8 files changed, 52 insertions(+), 52 deletions(-) diff --git a/ruby/lib/jam_ruby/models/music_session.rb b/ruby/lib/jam_ruby/models/music_session.rb index b78127bd0..5a04fa272 100644 --- a/ruby/lib/jam_ruby/models/music_session.rb +++ b/ruby/lib/jam_ruby/models/music_session.rb @@ -179,7 +179,7 @@ module JamRuby # stops any active recording def stop_recording(user) current_recording = self.recording - current_recording.stop(user) unless current_recording.nil? + current_recording.stop unless current_recording.nil? end def to_s diff --git a/ruby/lib/jam_ruby/models/recording.rb b/ruby/lib/jam_ruby/models/recording.rb index 4178001a7..152dfd765 100644 --- a/ruby/lib/jam_ruby/models/recording.rb +++ b/ruby/lib/jam_ruby/models/recording.rb @@ -40,7 +40,7 @@ module JamRuby end # Start recording a session. - def self.start(music_session, owner) + def self.start(music_session) recording = nil # Use a transaction and lock to avoid races. music_session.with_lock do @@ -65,7 +65,7 @@ module JamRuby end # Stop recording a session - def stop(owner) + def stop # Use a transaction and lock to avoid races. music_session = MusicSession.find_by_id(music_session_id) locker = music_session.nil? ? self : music_session @@ -75,8 +75,8 @@ module JamRuby self.save end - connection = Connection.where(:user_id => owner.id).where(:music_session_id => music_session.id).first - Notification.send_recording_ended(music_session, connection, owner) + connection = Connection.where(:user_id => self.owner.id).where(:music_session_id => music_session.id).first + Notification.send_recording_ended(music_session, connection, self.owner) self end diff --git a/ruby/spec/jam_ruby/models/claimed_recording_spec.rb b/ruby/spec/jam_ruby/models/claimed_recording_spec.rb index dec39796a..f2a6d13b7 100644 --- a/ruby/spec/jam_ruby/models/claimed_recording_spec.rb +++ b/ruby/spec/jam_ruby/models/claimed_recording_spec.rb @@ -19,7 +19,7 @@ describe ClaimedRecording do @music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true) @music_session.connections << @connection @music_session.save - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) diff --git a/ruby/spec/jam_ruby/models/mix_spec.rb b/ruby/spec/jam_ruby/models/mix_spec.rb index a36fa9190..a361e7826 100755 --- a/ruby/spec/jam_ruby/models/mix_spec.rb +++ b/ruby/spec/jam_ruby/models/mix_spec.rb @@ -9,9 +9,9 @@ describe Mix do @music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true) @music_session.connections << @connection @music_session.save - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) - @recording.claim(@user, "name", "description", Genre.first, true, true) + @recording = Recording.start(@music_session) + @recording.stop + @recording.claim(@user, "name", "description", Genre.first, true, true) @mix = Mix.schedule(@recording, "{}") end diff --git a/ruby/spec/jam_ruby/models/musician_search_spec.rb b/ruby/spec/jam_ruby/models/musician_search_spec.rb index e6ded1fe2..03c37bad6 100644 --- a/ruby/spec/jam_ruby/models/musician_search_spec.rb +++ b/ruby/spec/jam_ruby/models/musician_search_spec.rb @@ -65,8 +65,8 @@ describe 'Musician search' do music_session = FactoryGirl.create(:music_session, :creator => usr, :musician_access => true) music_session.connections << connection music_session.save - recording = Recording.start(music_session, usr) - recording.stop(usr) + recording = Recording.start(music_session) + recording.stop recording.reload genre = FactoryGirl.create(:genre) recording.claim(usr, "name", "description", genre, true, true) diff --git a/ruby/spec/jam_ruby/models/recording_spec.rb b/ruby/spec/jam_ruby/models/recording_spec.rb index cc16f4b13..79be603df 100644 --- a/ruby/spec/jam_ruby/models/recording_spec.rb +++ b/ruby/spec/jam_ruby/models/recording_spec.rb @@ -16,7 +16,7 @@ describe Recording do connection2 = FactoryGirl.create(:connection, :user => user2, :music_session => @music_session) track2 = FactoryGirl.create(:track, :connection => connection2, :instrument => @instrument) - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) user1_recorded_tracks = @recording.recorded_tracks_for_user(@user) user1_recorded_tracks[0].should == @user.recorded_tracks[0] user1_recorded_tracks.length.should == 1 @@ -31,7 +31,7 @@ describe Recording do it "should set up the recording properly when recording is started with 1 user in the session" do @music_session.is_recording?.should be_false - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @music_session.reload @music_session.recordings[0].should == @recording @recording.owner_id.should == @user.id @@ -43,33 +43,33 @@ describe Recording do end it "should not start a recording if the session is already being recorded" do - Recording.start(@music_session, @user).errors.any?.should be_false - recording = Recording.start(@music_session, @user) + Recording.start(@music_session).errors.any?.should be_false + recording = Recording.start(@music_session) recording.valid?.should_not be_true recording.errors[:music_session].should_not be_nil end it "should return the state to normal properly when you stop a recording" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @music_session.reload @music_session.is_recording?.should be_false end it "should error when you stop a recording twice" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.errors.any?.should be_false - @recording.stop(@user) + @recording.stop @recording.errors.any?.should be_true end it "should be able to start, stop then start a recording again for the same music session" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) - @recording2 = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) + @recording.stop + @recording2 = Recording.start(@music_session) @music_session.recordings.exists?(@recording2).should be_true end @@ -81,7 +81,7 @@ describe Recording do @music_session.connections << @connection2 - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @user.recordings.length.should == 0 #@user.recordings.first.should == @recording @@ -90,9 +90,9 @@ describe Recording do end it "should report correctly whether its tracks have been uploaded" do - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @recording.uploaded?.should == false - @recording.stop(@user) + @recording.stop @recording.reload @recording.uploaded?.should == false @recording.recorded_tracks.first.fully_uploaded = true @@ -100,8 +100,8 @@ describe Recording do end it "should destroy a recording and all its recorded tracks properly" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @recorded_track = @recording.recorded_tracks.first @recording.destroy @@ -110,8 +110,8 @@ describe Recording do end it "should allow a user to claim a recording" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @recording.claim(@user, "name", "description", @genre, true, true) @@ -130,16 +130,16 @@ describe Recording do end it "should fail if a user who was not in the session claims a recording" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload user2 = FactoryGirl.create(:user) expect { @recording.claim(user2, "name", "description", @genre, true, true) }.to raise_error end it "should allow editing metadata for claimed recordings" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true) @@ -154,8 +154,8 @@ describe Recording do end it "should only allow the owner to edit a claimed recording" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true) @@ -164,9 +164,9 @@ describe Recording do end it "should record the duration of the recording properly" do - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @recording.duration.should be_nil - @recording.stop(@user) + @recording.stop @recording.reload @recording.duration.should_not be_nil # Note: it will be 0 since this was fast. You can see something non-zero by just @@ -180,8 +180,8 @@ describe Recording do @track = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument) @music_session.connections << @connection2 @music_session.save - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true) @@ -193,8 +193,8 @@ describe Recording do end it "should destroy the entire recording if there was only one claimed_recording which is discarded" do - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true) @@ -205,8 +205,8 @@ describe Recording do it "should use the since parameter when restricting uploads" do stub_const("APP_CONFIG", app_config) - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @recording.claim(@user, "Recording", "Recording Description", @genre, true, true) @@ -216,7 +216,7 @@ describe Recording do end it "should return a download only if claimed" do - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @@ -232,8 +232,8 @@ describe Recording do it "should return a file list for a user properly" do pending stub_const("APP_CONFIG", app_config) - @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording = Recording.start(@music_session) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @recording.claim(@user, "Recording", "Recording Description", @genre, true, true) @@ -277,9 +277,9 @@ describe Recording do @track2 = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument2) @music_session.connections << @connection2 @music_session.save - @recording = Recording.start(@music_session, @user) + @recording = Recording.start(@music_session) #sleep 4 - @recording.stop(@user) + @recording.stop @recording.recorded_tracks.length.should == 2 @recorded_track = @recording.recorded_tracks.first @recorded_track.upload_start(25000, "md5hash") diff --git a/web/app/controllers/api_recordings_controller.rb b/web/app/controllers/api_recordings_controller.rb index e97368075..441f40b36 100644 --- a/web/app/controllers/api_recordings_controller.rb +++ b/web/app/controllers/api_recordings_controller.rb @@ -46,7 +46,7 @@ class ApiRecordingsController < ApiController raise PermissionError, ValidationMessages::PERMISSION_VALIDATION_ERROR unless music_session.users.exists?(current_user) - @recording = Recording.start(music_session, current_user) + @recording = Recording.start(music_session) if @recording.errors.any? response.status = :unprocessable_entity @@ -58,7 +58,7 @@ class ApiRecordingsController < ApiController def stop - @recording.stop(current_user) + @recording.stop if @recording.errors.any? response.status = :unprocessable_entity diff --git a/web/spec/controllers/claimed_recordings_spec.rb b/web/spec/controllers/claimed_recordings_spec.rb index 45b785945..acab3c220 100644 --- a/web/spec/controllers/claimed_recordings_spec.rb +++ b/web/spec/controllers/claimed_recordings_spec.rb @@ -12,7 +12,7 @@ describe ApiClaimedRecordingsController do @music_session.connections << @connection @music_session.save @recording = Recording.start(@music_session, @user) - @recording.stop(@user) + @recording.stop @recording.reload @genre = FactoryGirl.create(:genre) @recording.claim(@user, "name", "description", @genre, true, true)