@@ -771,14 +771,14 @@ async def output_callbacks() -> _Callbacks:
771771async def spy_outputs_callbaks (
772772 mocker : MockerFixture , output_callbacks : _Callbacks
773773) -> dict [str , AsyncMock ]:
774-
775774 return {
776775 "aborted" : mocker .spy (output_callbacks , "aborted" ),
777776 "finished_succesfully" : mocker .spy (output_callbacks , "finished_succesfully" ),
778777 "finished_with_error" : mocker .spy (output_callbacks , "finished_with_error" ),
779778 }
780779
781780
781+ @pytest .mark .parametrize ("use_output_callbacks" , [True , False ])
782782async def test_batch_update_inputs_outputs (
783783 user_id : int ,
784784 project_id : str ,
@@ -789,7 +789,10 @@ async def test_batch_update_inputs_outputs(
789789 faker : Faker ,
790790 output_callbacks : _Callbacks ,
791791 spy_outputs_callbaks : dict [str , AsyncMock ],
792+ use_output_callbacks : bool ,
792793) -> None :
794+ callbacks = output_callbacks if use_output_callbacks else None
795+
793796 outputs = [(f"value_out_{ i } " , "integer" , None ) for i in range (port_count )]
794797 inputs = [(f"value_in_{ i } " , "integer" , None ) for i in range (port_count )]
795798 config_dict , _ , _ = create_special_configuration (inputs = inputs , outputs = outputs )
@@ -807,10 +810,10 @@ async def test_batch_update_inputs_outputs(
807810 await PORTS .set_multiple (
808811 {ServicePortKey (port .key ): (k , None ) for k , port in enumerate (port_values )},
809812 progress_bar = progress_bar ,
810- outputs_callbacks = output_callbacks ,
813+ outputs_callbacks = callbacks ,
811814 )
812- assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == len (
813- port_values
815+ assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == (
816+ len ( port_values ) if use_output_callbacks else 0
814817 )
815818 # pylint: disable=protected-access
816819 assert progress_bar ._current_steps == pytest .approx (1 ) # noqa: SLF001
@@ -820,11 +823,11 @@ async def test_batch_update_inputs_outputs(
820823 for k , port in enumerate ((await PORTS .inputs ).values (), start = 1000 )
821824 },
822825 progress_bar = progress_bar ,
823- outputs_callbacks = output_callbacks ,
826+ outputs_callbacks = callbacks ,
824827 )
825828 # inputs do not trigger callbacks
826- assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == len (
827- port_values
829+ assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == (
830+ len ( port_values ) if use_output_callbacks else 0
828831 )
829832 assert progress_bar ._current_steps == pytest .approx (2 ) # noqa: SLF001
830833
@@ -846,11 +849,11 @@ async def test_batch_update_inputs_outputs(
846849 await PORTS .set_multiple (
847850 {ServicePortKey ("missing_key_in_both" ): (123132 , None )},
848851 progress_bar = progress_bar ,
849- outputs_callbacks = output_callbacks ,
852+ outputs_callbacks = callbacks ,
850853 )
851854
852- assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == len (
853- port_values
855+ assert len (spy_outputs_callbaks ["finished_succesfully" ].call_args_list ) == (
856+ len ( port_values ) if use_output_callbacks else 0
854857 )
855858 assert len (spy_outputs_callbaks ["aborted" ].call_args_list ) == 0
856859 assert len (spy_outputs_callbaks ["finished_with_error" ].call_args_list ) == 0
0 commit comments