def METHOD_NAME(configuration, metadata, set_wazuh_configuration_vdt, truncate_monitored_files,
                                clean_cve_tables_func, prepare_full_scan_environment, setup_log_monitor,
                                restart_modulesd_function):
    '''
    description: Check that the full scan is started after passing the min_full_scan_interval time.
    test_phases:
        - Mock an agent with packages.
        - Update sync info a force the full scan.
        - Set a custom Wazuh configuration.
        - Restart wazuh-modulesd.
        - Check the full scan event log
        - Clean NVD tables and import again the feed (simulate NVD feed update to force full scan)
        - Check again the full scan event log.
    wazuh_min_version: 4.3.0
    tier: 0
    parameters:
        - configuration:
            type: dict
            brief: Configuration loaded from `configuration_template`.
        - metadata:
            type: dict
            brief: Test case metadata.
        - set_wazuh_configuration_vdt:
            type: fixture
            brief: Set wazuh configuration.
        - truncate_monitored_files:
            type: fixture
            brief: Truncate all the log files and json alerts files before and after the test execution.
        - prepare_environment:
            type: fixture
            brief: Setup the initial test state.
        - setup_log_monitor:
            type: fixture
            brief: Create the log monitor.
        - restart_modulesd_function:
            type: fixture
            brief: Restart wazuh-modulesd daemon before starting a test, and stop it after finishing.
    assertions:
        - Verify that the full scan starts.
        - Verify that the full scan ends.
    input_description: The values specified in `data/test_cases`.
    expected_output:
        - f"A full scan will be run on agent '001'"
        - f"Finished vulnerability assessment for agent '001'"
    '''
    agent_id = prepare_full_scan_environment
    log_monitor = setup_log_monitor
    event_timeout = time_to_seconds(metadata['min_full_scan_interval_value']) + vd.T_40
    # Wait for full scan event log
    evm.check_vulnerability_full_scan_start(log_monitor=log_monitor, timeout=event_timeout, agent_id=agent_id)
    # Wait for full scan event log completion
    evm.check_vulnerability_full_scan_end(log_monitor=log_monitor, agent_id=agent_id)
    # Clean NVD tables to force a full scan again after updating the NVD feed and passed the min_full_scan_intervall
    cve_db.clean_nvd_tables()
    # Check again the full scan event
    evm.check_vulnerability_full_scan_start(log_monitor=log_monitor, timeout=event_timeout, agent_id=agent_id)