File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -67,6 +67,9 @@ def update_owner
6767 stream_resource . tasks . fix_media . update_all ( status : :cancelled )
6868 stream_resource . copy_media
6969 end
70+ rescue => err
71+ Rails . logger . error ( "RecordStreamTask update_owner error" , error : err )
72+ NewRelic ::Agent . notice_error ( err )
7073 end
7174
7275 # parsing data from the job_id
Original file line number Diff line number Diff line change 166166 end
167167 end
168168 end
169+
170+ it "handles recording errors" do
171+ new_res = StreamResource . new ( start_at : "2026-09-09T10:00:00Z" , end_at : "2026-09-09T11:00:00Z" )
172+ task . owner = new_res
173+ task . update ( status : "error" )
174+
175+ assert new_res . persisted?
176+ assert_equal new_res . status , "error"
177+ assert_nil new_res . actual_start_at
178+ assert_nil new_res . actual_end_at
179+ end
180+
181+ it "logs validation errors" do
182+ mock_log = Minitest ::Mock . new . expect ( :call , nil ) { true }
183+ mock_notice = Minitest ::Mock . new . expect ( :call , nil ) { true }
184+
185+ Rails . logger . stub ( :error , mock_log ) do
186+ NewRelic ::Agent . stub ( :notice_error , mock_notice ) do
187+ new_res = StreamResource . new ( start_at : "2026-09-09T10:00:00Z" , end_at : nil )
188+ task . owner = new_res
189+ task . update ( status : "error" )
190+
191+ assert_equal "error" , task . status
192+ refute task . changed?
193+ refute new_res . persisted?
194+ end
195+ end
196+
197+ mock_log . verify
198+ mock_notice . verify
199+ end
169200 end
170201
171202 describe "#job_id_parts" do
You can’t perform that action at this time.
0 commit comments