@@ -278,6 +278,8 @@ async def test_background_task_request_error(mocker, extension_cls):
278278 manager = TasksManager (worker )
279279 manager .get_request = mocker .AsyncMock (side_effect = ClientError ('Request not found' , 404 ))
280280
281+ mocker .patch ('traceback.format_exc' , return_value = 'formatted traceback' )
282+
281283 manager .start ()
282284
283285 task = TaskPayload (
@@ -293,7 +295,7 @@ async def test_background_task_request_error(mocker, extension_cls):
293295 message = Message (message_type = MessageType .TASK , data = task )
294296 json_msg = message .to_json ()
295297 json_msg ['data' ]['result' ] = 'retry'
296- json_msg ['data' ]['output' ] = 'Request not found '
298+ json_msg ['data' ]['output' ] = 'formatted traceback '
297299 worker .send .assert_awaited_once_with (json_msg )
298300
299301
@@ -408,6 +410,8 @@ async def test_interactive_task_exception(mocker, extension_cls):
408410 'validate_asset_purchase_request' ,
409411 exception = Exception ('validation exception' ),
410412 )
413+ long_stack_trace = 'x' * 5000
414+ mocker .patch ('traceback.format_exc' , return_value = long_stack_trace )
411415 logger_mock = mocker .MagicMock ()
412416 extension = extension_class (None , logger_mock , None )
413417
@@ -434,7 +438,7 @@ async def test_interactive_task_exception(mocker, extension_cls):
434438 message = Message (message_type = MessageType .TASK , data = task )
435439 json_msg = message .to_json ()
436440 json_msg ['data' ]['result' ] = ResultType .FAIL
437- json_msg ['data' ]['output' ] = 'validation exception'
441+ json_msg ['data' ]['output' ] = long_stack_trace [: 4000 ]
438442 assert worker .send .mock_calls [1 ].args [0 ] == json_msg
439443
440444
@@ -444,6 +448,7 @@ async def test_interactive_task_exception_product_action(mocker, extension_cls):
444448 'execute_product_action' ,
445449 exception = Exception ('validation exception' ),
446450 )
451+ mocker .patch ('traceback.format_exc' , return_value = 'formatted stacktrace' )
447452 logger_mock = mocker .MagicMock ()
448453 extension = extension_class (None , logger_mock , None )
449454
@@ -472,7 +477,7 @@ async def test_interactive_task_exception_product_action(mocker, extension_cls):
472477 json_msg ['data' ]['data' ] = {
473478 'http_status' : 400 ,
474479 'headers' : None ,
475- 'body' : 'validation exception ' ,
480+ 'body' : 'formatted stacktrace ' ,
476481 }
477- json_msg ['data' ]['output' ] = 'validation exception '
482+ json_msg ['data' ]['output' ] = 'formatted stacktrace '
478483 assert worker .send .mock_calls [1 ].args [0 ] == json_msg
0 commit comments