def METHOD_NAME(reset_test_data, updated_controls_segments):
    e = create_engine("monitorfish_remote")
    with e.begin() as connection:
        connection.execute(
            text(
                "UPDATE public.mission_actions "
                "SET action_datetime_utc = '2022-03-12 15:33'"
            )
        )
    flow.schedule = None
    land_controls_ids = {6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22, 23}
    query = "SELECT id, segments FROM public.mission_actions ORDER BY id"
    initial_controls_segments = read_query(query, db="monitorfish_remote")
    # Running the flow on a year without data should not update any row
    state = flow.run(year=1950, control_types=("LAND_CONTROL", "SEA_CONTROL"))
    assert state.is_successful()
    controls_segments = read_query(query, db="monitorfish_remote")
    pd.testing.assert_frame_equal(controls_segments, initial_controls_segments)
    # Running the flow on land controls should update only land controls
    state = flow.run(year=2022, control_types=("LAND_CONTROL",))
    assert state.is_successful()
    controls_segments = read_query(query, db="monitorfish_remote")
    pd.testing.assert_frame_equal(
        controls_segments,
        pd.concat(
            [
                initial_controls_segments[
                    ~initial_controls_segments.id.isin(land_controls_ids)
                ],
                updated_controls_segments[
                    updated_controls_segments.id.isin(land_controls_ids)
                ],
            ]
        ).sort_values("id"),
    )
    # Running the flow on land and sea controls should update land and sea controls
    state = flow.run(year=2022, control_types=("LAND_CONTROL", "SEA_CONTROL"))
    assert state.is_successful()
    controls_segments = read_query(query, db="monitorfish_remote")
    pd.testing.assert_frame_equal(controls_segments, updated_controls_segments)