. defined('MOODLE_INTERNAL') || die(); global $CFG; require_once(__DIR__ . '/../../lib.php'); /** * Data generator for tool_mfa plugin. * * @package tool_mfa * @category test * @copyright 2024 David Woloszyn * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class tool_mfa_generator extends component_generator_base { /** * Create user factors. * * @param array $record * @return stdClass */ public function create_user_factors(array $record): \stdClass { global $DB; $factorobject = \tool_mfa\plugininfo\factor::get_factor($record['factor']); if (!$factorobject) { throw new coding_exception('Unknown factor supplied.'); } $user = $DB->get_record('user', ['username' => $record['username']]); if (!$user) { throw new coding_exception('No user found with that username.'); } $record = (object) array_merge([ 'userid' => $user->id, 'secret' => '555553', 'timecreated' => time() - DAYSECS, 'createdfromip' => '0:0:0:0:0:0:0:1', 'timemodified' => time() - MINSECS, 'lastverified' => time(), 'revoked' => 0, 'lockcounter' => 0, ], $record); $record->id = $DB->insert_record('tool_mfa', $record); return $record; } }