/** * Test validating parameters * @dataProvider invalid_parameters_provider * @param int $value Values from the dataprovider */ public function test_validate_parameter_with_invalid_parameters($value) { $result = validate_parameter($value); $this->assertFalse($result); }
function check_parameters($report_id, $parameters, $section) { $res['error'] = FALSE; $res['error_msg'] = NULL; $d_reports = $section == 'forensics' ? get_freport_data($report_id) : get_report_data($report_id); if (empty($d_reports)) { $res['error'] = TRUE; $res['error_msg'][] = _('The report has been removed'); return $res; } if (!empty($d_reports['parameters'])) { foreach ($d_reports['parameters'] as $data_p) { $type = $data_p['type']; $data = $type == 'asset' ? 'h_' . $parameters[$data_p['id']] : $parameters[$data_p['id']]; $val = validate_parameter($type, $data); if ($val !== TRUE) { $res['error'] = TRUE; $res['error_msg'][] = $data_p['name'] . ': ' . $val; } } } return $res; }
} if ($options['help']) { $help = get_string('cli_help', 'eliscore_etl'); echo $help; die; } // Validate minutes argument. if (array_key_exists('minutes', $options)) { if (!validate_parameter($options['minutes'])) { cli_error(get_string('cli_error_minutes', 'eliscore_etl')); } $period->minutes = (int) $options['minutes']; } // Validate hours argument. if (array_key_exists('hours', $options)) { if (!validate_parameter($options['hours'])) { cli_error(get_string('cli_error_hours', 'eliscore_etl')); } $period->hours = (int) $options['hours']; } $durationinseconds = convert_time_to_seconds($period); if (0 == $durationinseconds || false == $durationinseconds) { cli_error(get_string('cli_error_zero_duration', 'eliscore_etl')); } if ($durationinseconds > ETL_BLOCKED_MAX_TIME) { cli_error(get_string('cli_error_max_time_exceeded', 'eliscore_etl', ETL_BLOCKED_MAX_TIME)); } // Print heading. cli_heading(get_string('cli_run_etl_cron_heading', 'eliscore_etl', $period)); // Check for existing block. $task = $DB->get_record('local_eliscore_sched_tasks', array('plugin' => 'eliscore_etl'));