Merge branch 'MDL-72921_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE
This commit is contained in:
@@ -100,10 +100,12 @@ class tool_generator_testplan_backend extends tool_generator_backend {
|
||||
*
|
||||
* @param int $courseid The target course id
|
||||
* @param bool $updateuserspassword Updates the course users password to $CFG->tool_generator_users_password
|
||||
* @param int|null $size of the test plan. Used to limit the number of users exported
|
||||
* to match the threads in the plan. For BC, defaults to null that means all enrolled users.
|
||||
* @return stored_file
|
||||
*/
|
||||
public static function create_users_file($courseid, $updateuserspassword) {
|
||||
$csvcontents = self::generate_users_file($courseid, $updateuserspassword);
|
||||
public static function create_users_file($courseid, $updateuserspassword, ?int $size = null) {
|
||||
$csvcontents = self::generate_users_file($courseid, $updateuserspassword, $size);
|
||||
|
||||
$fs = get_file_storage();
|
||||
$filerecord = self::get_file_record('users', 'csv');
|
||||
@@ -171,14 +173,18 @@ class tool_generator_testplan_backend extends tool_generator_backend {
|
||||
*
|
||||
* @param int $targetcourseid
|
||||
* @param bool $updateuserspassword Updates the course users password to $CFG->tool_generator_users_password
|
||||
* @param int|null $size of the test plan. Used to limit the number of users exported
|
||||
* to match the threads in the plan. For BC, defaults to null that means all enrolled users.
|
||||
* @return string The users csv file contents.
|
||||
*/
|
||||
protected static function generate_users_file($targetcourseid, $updateuserspassword) {
|
||||
protected static function generate_users_file($targetcourseid, $updateuserspassword, ?int $size = null) {
|
||||
global $CFG;
|
||||
|
||||
$coursecontext = context_course::instance($targetcourseid);
|
||||
|
||||
$users = get_enrolled_users($coursecontext, '', 0, 'u.id, u.username, u.auth', 'u.username ASC');
|
||||
// If requested, get the number of users (threads) to use in the plan. We only need those in the exported file.
|
||||
$planusers = self::$users[$size] ?? 0;
|
||||
$users = get_enrolled_users($coursecontext, '', 0, 'u.id, u.username, u.auth', 'u.username ASC', 0, $planusers);
|
||||
if (!$users) {
|
||||
print_error('coursewithoutusers', 'tool_generator');
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ if (empty($CFG->tool_generator_users_password) || is_bool($CFG->tool_generator_u
|
||||
|
||||
// Create files.
|
||||
$courseid = $DB->get_field('course', 'id', array('shortname' => $shortname));
|
||||
$usersfile = tool_generator_testplan_backend::create_users_file($courseid, !empty($options['updateuserspassword']));
|
||||
$usersfile = tool_generator_testplan_backend::create_users_file($courseid, !empty($options['updateuserspassword']), $size);
|
||||
$testplanfile = tool_generator_testplan_backend::create_testplan_file($courseid, $size);
|
||||
|
||||
// One file path per line so other CLI scripts can easily parse the output.
|
||||
|
||||
@@ -51,7 +51,7 @@ if ($data = $mform->get_data()) {
|
||||
|
||||
// Creating both test plan and users files.
|
||||
$testplanfile = tool_generator_testplan_backend::create_testplan_file($data->courseid, $data->size);
|
||||
$usersfile = tool_generator_testplan_backend::create_users_file($data->courseid, $data->updateuserspassword);
|
||||
$usersfile = tool_generator_testplan_backend::create_users_file($data->courseid, $data->updateuserspassword, $data->size);
|
||||
|
||||
// Test plan link.
|
||||
$testplanurl = moodle_url::make_pluginfile_url(
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
This files describes API changes in core libraries and APIs,
|
||||
information provided here is intended especially for developers.
|
||||
|
||||
=== 3.10.8 ===
|
||||
|
||||
* Function tool_generator_testplan_backend::create_users_file() now supports to pass the size of the testing plan,
|
||||
that needs to be equal or smaller than the size of the generated site. That's used to effectively restrict the
|
||||
exported number of users to the number of threads the jmeter plan will have (previously all the enrolled users
|
||||
were being exported, with that leading to "false" loops (users not really looping X times).
|
||||
|
||||
=== 3.7 ===
|
||||
|
||||
* Function tool_generator_testplan_backend::get_course_options() is removed, the 'course' form element is used instead.
|
||||
|
||||
Reference in New Issue
Block a user